Fixed cfg crash
This commit is contained in:
+12
-5
@@ -8,14 +8,21 @@ RUN apt -y update
|
|||||||
RUN apt -y install libconfig++-dev libconfig++9v5 libconfig-dev libconfig9 libpq-dev libpq5 libjson-c-dev libjson-c3 \
|
RUN apt -y install libconfig++-dev libconfig++9v5 libconfig-dev libconfig9 libpq-dev libpq5 libjson-c-dev libjson-c3 \
|
||||||
libpcrecpp0v5 unixodbc-dev postgresql-server-dev-11 libgsoap-dev libgsoap-2.8.75
|
libpcrecpp0v5 unixodbc-dev postgresql-server-dev-11 libgsoap-dev libgsoap-2.8.75
|
||||||
|
|
||||||
|
# apt -y install libconfig++-dev libconfig++9v5 libconfig-dev libconfig9 libpq-dev libpq5 libjson-c-dev libjson-c4 \
|
||||||
|
# libpcrecpp0v5 unixodbc-dev postgresql-server-dev-12 libgsoap-dev libgsoap-2.8.91
|
||||||
|
|
||||||
|
# DEBUG
|
||||||
|
RUN apt -y install gdb strace vim
|
||||||
|
|
||||||
ADD scripts/* /usr/local/bin/
|
ADD scripts/* /usr/local/bin/
|
||||||
ADD configs/* /cfgs/
|
ADD configs/* /cfgs/
|
||||||
|
|
||||||
RUN mkdir -p /opt/mainsite/wrenchboard/
|
RUN rm -rf /opt/mainsite/wrenchboard
|
||||||
ADD build /opt/mainsite/wrenchboard/build
|
RUN mkdir -p /opt/mainsite/wrenchboard
|
||||||
ADD email /opt/mainsite/wrenchboard/email
|
ADD build/* /opt/mainsite/wrenchboard/build/
|
||||||
ADD etc /opt/mainsite/wrenchboard/etc
|
COPY email/ /opt/mainsite/wrenchboard/email
|
||||||
ADD src /opt/mainsite/wrenchboard/src
|
ADD etc/* /opt/mainsite/wrenchboard/etc/
|
||||||
|
COPY src/ /opt/mainsite/wrenchboard/src
|
||||||
|
|
||||||
RUN cd /opt/mainsite/wrenchboard/build && ./configure
|
RUN cd /opt/mainsite/wrenchboard/build && ./configure
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ PHP_METHOD(WrenchBoard, wrenchboard_api)
|
|||||||
|
|
||||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", ¶m, ¶m_out) == FAILURE) {
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", ¶m, ¶m_out) == FAILURE) {
|
||||||
// Bad parameters
|
// Bad parameters
|
||||||
RETURN_NULL();
|
RETURN_NULL();
|
||||||
}
|
}
|
||||||
|
|
||||||
intern = Z_TSTOBJ_P(id);
|
intern = Z_TSTOBJ_P(id);
|
||||||
@@ -139,38 +139,44 @@ PHP_METHOD(WrenchBoard, wrenchboard_api)
|
|||||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||||
PHP_METHOD(WrenchBoard, cfgReadChar)
|
PHP_METHOD(WrenchBoard, cfgReadChar)
|
||||||
{
|
{
|
||||||
unsigned char *parameter;
|
char *parameter = NULL;
|
||||||
|
size_t parameter_len = 0;
|
||||||
zval *id = getThis();
|
zval *id = getThis();
|
||||||
wrenchboard_object *intern;
|
wrenchboard_object *intern;
|
||||||
|
|
||||||
if (zend_parse_parameters(
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter, ¶meter_len) == FAILURE) {
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter) == FAILURE) {
|
RETURN_NULL();
|
||||||
RETURN_NULL();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
intern = Z_TSTOBJ_P(id);
|
intern = Z_TSTOBJ_P(id);
|
||||||
if(intern != NULL) {
|
if(intern != NULL) {
|
||||||
|
intern->wrenchboard->logMessage("PHP_METHOD(WrenchBoard, cfgReadChar)");
|
||||||
std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
|
std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
|
||||||
RETURN_STRING(s.c_str());
|
RETURN_STRING(s.c_str());
|
||||||
}
|
}
|
||||||
RETURN_NULL();
|
RETURN_NULL();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEBUG:
|
||||||
|
// gdb --args php -f i.php
|
||||||
|
// sysctl -w kernel.core_pattern=/opt/mainsite/wrenchboard/www/core.%e.%p.%h.%t
|
||||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||||
PHP_METHOD(WrenchBoard, cfgReadLong)
|
PHP_METHOD(WrenchBoard, cfgReadLong)
|
||||||
{
|
{
|
||||||
unsigned char *parameter;
|
char *parameter = NULL;
|
||||||
|
size_t parameter_len = 0;
|
||||||
zval *id = getThis();
|
zval *id = getThis();
|
||||||
wrenchboard_object *intern;
|
wrenchboard_object *intern;
|
||||||
|
|
||||||
if (zend_parse_parameters(
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter, ¶meter_len) == FAILURE) {
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter) == FAILURE) {
|
RETURN_NULL();
|
||||||
RETURN_NULL();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
intern = Z_TSTOBJ_P(id);
|
intern = Z_TSTOBJ_P(id);
|
||||||
if(intern != NULL) {
|
if(intern != NULL) {
|
||||||
RETURN_LONG(intern->wrenchboard->cfgReadLong((char*)parameter));
|
intern->wrenchboard->logMessage("PHP_METHOD(WrenchBoard, cfgReadLong)");
|
||||||
|
long l = intern->wrenchboard->cfgReadLong((char*)parameter);
|
||||||
|
RETURN_LONG(l);
|
||||||
}
|
}
|
||||||
RETURN_NULL();
|
RETURN_NULL();
|
||||||
}
|
}
|
||||||
@@ -178,13 +184,13 @@ PHP_METHOD(WrenchBoard, cfgReadLong)
|
|||||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||||
PHP_METHOD(WrenchBoard, logMessage)
|
PHP_METHOD(WrenchBoard, logMessage)
|
||||||
{
|
{
|
||||||
unsigned char *message;
|
char *message = NULL;
|
||||||
|
size_t message_len = 0;
|
||||||
zval *id = getThis();
|
zval *id = getThis();
|
||||||
wrenchboard_object *intern;
|
wrenchboard_object *intern;
|
||||||
|
|
||||||
if (zend_parse_parameters(
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &message, &message_len) == FAILURE) {
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", &message) == FAILURE) {
|
RETURN_FALSE;
|
||||||
RETURN_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
intern = Z_TSTOBJ_P(id);
|
intern = Z_TSTOBJ_P(id);
|
||||||
|
|||||||
@@ -11,8 +11,13 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 9999:9000
|
- 9999:9000
|
||||||
privileged: true
|
privileged: true
|
||||||
|
environment:
|
||||||
|
- DOCKER_BUILDKIT=1
|
||||||
volumes:
|
volumes:
|
||||||
- ./configs:/cfgs
|
- ./configs:/cfgs
|
||||||
- ../www:/app
|
- ../www:/app
|
||||||
- ../www:/opt/mainsite/wrenchboard/www
|
- ../www:/opt/mainsite/wrenchboard/www
|
||||||
|
- ./etc:/opt/mainsite/wrenchboard/etc
|
||||||
|
- ./email:/opt/mainsite/wrenchboard/email
|
||||||
|
#- ./src:/opt/mainsite/wrenchboard/src
|
||||||
env_file: .env
|
env_file: .env
|
||||||
|
|||||||
@@ -139,38 +139,44 @@ PHP_METHOD(WrenchBoard, wrenchboard_api)
|
|||||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||||
PHP_METHOD(WrenchBoard, cfgReadChar)
|
PHP_METHOD(WrenchBoard, cfgReadChar)
|
||||||
{
|
{
|
||||||
unsigned char *parameter;
|
char *parameter = NULL;
|
||||||
|
size_t parameter_len = 0;
|
||||||
zval *id = getThis();
|
zval *id = getThis();
|
||||||
wrenchboard_object *intern;
|
wrenchboard_object *intern;
|
||||||
|
|
||||||
if (zend_parse_parameters(
|
/*if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter, ¶meter_len) == FAILURE) {
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter) == FAILURE) {
|
RETURN_NULL();
|
||||||
RETURN_NULL();
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
intern = Z_TSTOBJ_P(id);
|
intern = Z_TSTOBJ_P(id);
|
||||||
if(intern != NULL) {
|
if(intern != NULL) {
|
||||||
std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
|
intern->wrenchboard->logMessage("PHP_METHOD(WrenchBoard, cfgReadChar)");
|
||||||
RETURN_STRING(s.c_str());
|
//std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
|
||||||
|
//RETURN_STRING(s.c_str());
|
||||||
}
|
}
|
||||||
RETURN_NULL();
|
RETURN_NULL();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DEBUG:
|
||||||
|
// gdb --args php -f i.php
|
||||||
|
// sysctl -w kernel.core_pattern=/opt/mainsite/wrenchboard/www/core.%e.%p.%h.%t
|
||||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||||
PHP_METHOD(WrenchBoard, cfgReadLong)
|
PHP_METHOD(WrenchBoard, cfgReadLong)
|
||||||
{
|
{
|
||||||
unsigned char *parameter;
|
char *parameter = NULL;
|
||||||
|
size_t parameter_len = 0;
|
||||||
zval *id = getThis();
|
zval *id = getThis();
|
||||||
wrenchboard_object *intern;
|
wrenchboard_object *intern;
|
||||||
|
|
||||||
if (zend_parse_parameters(
|
/* if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter, ¶meter_len) == FAILURE) {
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter) == FAILURE) {
|
RETURN_NULL();
|
||||||
RETURN_NULL();
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
intern = Z_TSTOBJ_P(id);
|
intern = Z_TSTOBJ_P(id);
|
||||||
if(intern != NULL) {
|
if(intern != NULL) {
|
||||||
RETURN_LONG(intern->wrenchboard->cfgReadLong((char*)parameter));
|
intern->wrenchboard->logMessage("PHP_METHOD(WrenchBoard, cfgReadLong)");
|
||||||
|
//long l = intern->wrenchboard->cfgReadLong((char*)parameter);
|
||||||
|
//RETURN_LONG(l);
|
||||||
}
|
}
|
||||||
RETURN_NULL();
|
RETURN_NULL();
|
||||||
}
|
}
|
||||||
@@ -178,13 +184,13 @@ PHP_METHOD(WrenchBoard, cfgReadLong)
|
|||||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||||
PHP_METHOD(WrenchBoard, logMessage)
|
PHP_METHOD(WrenchBoard, logMessage)
|
||||||
{
|
{
|
||||||
unsigned char *message;
|
char *message = NULL;
|
||||||
|
size_t message_len = 0;
|
||||||
zval *id = getThis();
|
zval *id = getThis();
|
||||||
wrenchboard_object *intern;
|
wrenchboard_object *intern;
|
||||||
|
|
||||||
if (zend_parse_parameters(
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &message, &message_len) == FAILURE) {
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", &message) == FAILURE) {
|
RETURN_FALSE;
|
||||||
RETURN_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
intern = Z_TSTOBJ_P(id);
|
intern = Z_TSTOBJ_P(id);
|
||||||
|
|||||||
@@ -4,9 +4,14 @@ $USER = str_replace('/home', '', $USER);
|
|||||||
$USER = strtok($USER, '/');
|
$USER = strtok($USER, '/');
|
||||||
//echo $USER;
|
//echo $USER;
|
||||||
// Load API class
|
// Load API class
|
||||||
|
$USER = 'root';
|
||||||
$wrenchboard_class = 'wrenchboard_api_' . $USER . '\\WrenchBoard';
|
$wrenchboard_class = 'wrenchboard_api_' . $USER . '\\WrenchBoard';
|
||||||
$wrenchboard = new $wrenchboard_class();
|
$wrenchboard = new $wrenchboard_class();
|
||||||
|
$in = array();
|
||||||
|
$out = array();
|
||||||
$ret = $wrenchboard->wrenchboard_api($in,$out);
|
$ret = $wrenchboard->wrenchboard_api($in,$out);
|
||||||
var_dump($ret);
|
var_dump($ret);
|
||||||
|
$ret = $wrenchboard->cfgReadLong("database.port");
|
||||||
|
var_dump($ret);
|
||||||
phpinfo();
|
phpinfo();
|
||||||
?>
|
?>
|
||||||
|
|||||||
Reference in New Issue
Block a user