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 \
|
||||
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 configs/* /cfgs/
|
||||
|
||||
RUN mkdir -p /opt/mainsite/wrenchboard/
|
||||
ADD build /opt/mainsite/wrenchboard/build
|
||||
ADD email /opt/mainsite/wrenchboard/email
|
||||
ADD etc /opt/mainsite/wrenchboard/etc
|
||||
ADD src /opt/mainsite/wrenchboard/src
|
||||
RUN rm -rf /opt/mainsite/wrenchboard
|
||||
RUN mkdir -p /opt/mainsite/wrenchboard
|
||||
ADD build/* /opt/mainsite/wrenchboard/build/
|
||||
COPY email/ /opt/mainsite/wrenchboard/email
|
||||
ADD etc/* /opt/mainsite/wrenchboard/etc/
|
||||
COPY src/ /opt/mainsite/wrenchboard/src
|
||||
|
||||
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) {
|
||||
// Bad parameters
|
||||
RETURN_NULL();
|
||||
RETURN_NULL();
|
||||
}
|
||||
|
||||
intern = Z_TSTOBJ_P(id);
|
||||
@@ -139,38 +139,44 @@ PHP_METHOD(WrenchBoard, wrenchboard_api)
|
||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||
PHP_METHOD(WrenchBoard, cfgReadChar)
|
||||
{
|
||||
unsigned char *parameter;
|
||||
char *parameter = NULL;
|
||||
size_t parameter_len = 0;
|
||||
zval *id = getThis();
|
||||
wrenchboard_object *intern;
|
||||
|
||||
if (zend_parse_parameters(
|
||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter) == FAILURE) {
|
||||
RETURN_NULL();
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter, ¶meter_len) == FAILURE) {
|
||||
RETURN_NULL();
|
||||
}
|
||||
|
||||
|
||||
intern = Z_TSTOBJ_P(id);
|
||||
if(intern != NULL) {
|
||||
intern->wrenchboard->logMessage("PHP_METHOD(WrenchBoard, cfgReadChar)");
|
||||
std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
|
||||
RETURN_STRING(s.c_str());
|
||||
}
|
||||
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)
|
||||
{
|
||||
unsigned char *parameter;
|
||||
char *parameter = NULL;
|
||||
size_t parameter_len = 0;
|
||||
zval *id = getThis();
|
||||
wrenchboard_object *intern;
|
||||
|
||||
if (zend_parse_parameters(
|
||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter) == FAILURE) {
|
||||
RETURN_NULL();
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter, ¶meter_len) == FAILURE) {
|
||||
RETURN_NULL();
|
||||
}
|
||||
|
||||
intern = Z_TSTOBJ_P(id);
|
||||
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();
|
||||
}
|
||||
@@ -178,13 +184,13 @@ PHP_METHOD(WrenchBoard, cfgReadLong)
|
||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||
PHP_METHOD(WrenchBoard, logMessage)
|
||||
{
|
||||
unsigned char *message;
|
||||
char *message = NULL;
|
||||
size_t message_len = 0;
|
||||
zval *id = getThis();
|
||||
wrenchboard_object *intern;
|
||||
|
||||
if (zend_parse_parameters(
|
||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", &message) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &message, &message_len) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
intern = Z_TSTOBJ_P(id);
|
||||
|
||||
@@ -11,8 +11,13 @@ services:
|
||||
ports:
|
||||
- 9999:9000
|
||||
privileged: true
|
||||
environment:
|
||||
- DOCKER_BUILDKIT=1
|
||||
volumes:
|
||||
- ./configs:/cfgs
|
||||
- ../www:/app
|
||||
- ../www:/opt/mainsite/wrenchboard/www
|
||||
- ./etc:/opt/mainsite/wrenchboard/etc
|
||||
- ./email:/opt/mainsite/wrenchboard/email
|
||||
#- ./src:/opt/mainsite/wrenchboard/src
|
||||
env_file: .env
|
||||
|
||||
@@ -139,38 +139,44 @@ PHP_METHOD(WrenchBoard, wrenchboard_api)
|
||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||
PHP_METHOD(WrenchBoard, cfgReadChar)
|
||||
{
|
||||
unsigned char *parameter;
|
||||
char *parameter = NULL;
|
||||
size_t parameter_len = 0;
|
||||
zval *id = getThis();
|
||||
wrenchboard_object *intern;
|
||||
|
||||
if (zend_parse_parameters(
|
||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter) == FAILURE) {
|
||||
RETURN_NULL();
|
||||
/*if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter, ¶meter_len) == FAILURE) {
|
||||
RETURN_NULL();
|
||||
}
|
||||
|
||||
*/
|
||||
intern = Z_TSTOBJ_P(id);
|
||||
if(intern != NULL) {
|
||||
std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
|
||||
RETURN_STRING(s.c_str());
|
||||
intern->wrenchboard->logMessage("PHP_METHOD(WrenchBoard, cfgReadChar)");
|
||||
//std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
|
||||
//RETURN_STRING(s.c_str());
|
||||
}
|
||||
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)
|
||||
{
|
||||
unsigned char *parameter;
|
||||
char *parameter = NULL;
|
||||
size_t parameter_len = 0;
|
||||
zval *id = getThis();
|
||||
wrenchboard_object *intern;
|
||||
|
||||
if (zend_parse_parameters(
|
||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter) == FAILURE) {
|
||||
RETURN_NULL();
|
||||
/* if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", ¶meter, ¶meter_len) == FAILURE) {
|
||||
RETURN_NULL();
|
||||
}
|
||||
|
||||
*/
|
||||
intern = Z_TSTOBJ_P(id);
|
||||
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();
|
||||
}
|
||||
@@ -178,13 +184,13 @@ PHP_METHOD(WrenchBoard, cfgReadLong)
|
||||
// ------------------------------------------------------------------ // ------------------------------------------------------------------
|
||||
PHP_METHOD(WrenchBoard, logMessage)
|
||||
{
|
||||
unsigned char *message;
|
||||
char *message = NULL;
|
||||
size_t message_len = 0;
|
||||
zval *id = getThis();
|
||||
wrenchboard_object *intern;
|
||||
|
||||
if (zend_parse_parameters(
|
||||
ZEND_NUM_ARGS() TSRMLS_CC, "s", &message) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &message, &message_len) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
intern = Z_TSTOBJ_P(id);
|
||||
|
||||
@@ -4,9 +4,14 @@ $USER = str_replace('/home', '', $USER);
|
||||
$USER = strtok($USER, '/');
|
||||
//echo $USER;
|
||||
// Load API class
|
||||
$USER = 'root';
|
||||
$wrenchboard_class = 'wrenchboard_api_' . $USER . '\\WrenchBoard';
|
||||
$wrenchboard = new $wrenchboard_class();
|
||||
$in = array();
|
||||
$out = array();
|
||||
$ret = $wrenchboard->wrenchboard_api($in,$out);
|
||||
var_dump($ret);
|
||||
$ret = $wrenchboard->cfgReadLong("database.port");
|
||||
var_dump($ret);
|
||||
phpinfo();
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user