Fixed: SEGV when starting FCGI restconf program
- Reverted removal of CLICON_RESTCONF_PATH since it was used there Misc fixes: initialized variables, docs, removed obsolete --enable-optyang
This commit is contained in:
parent
3117332ddd
commit
1808015cf6
8 changed files with 36 additions and 12 deletions
|
|
@ -61,7 +61,6 @@ Users may have to change how they access the system
|
|||
* Imported (as a sub-spec): clixon-clispec.yang
|
||||
* Removed obsolete options:
|
||||
* `CLICON_YANG_LIST_CHECK`
|
||||
* `CLICON_RESTCONF_PATH` (moved to restconf/fcgi-path)
|
||||
* Fixed: Configure option `CLICON_RESTCONF_PRETTY` was marked as obsolete but was still used.
|
||||
* `CLICON_RESTCONF_PRETTY` is now obsolete for sure
|
||||
* Instead restconf/pretty is used with API function restconf_pretty_get()
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ main(int argc,
|
|||
FCGX_Request request;
|
||||
FCGX_Request *req = &request;
|
||||
int c;
|
||||
char *sockpath;
|
||||
char *sockpath = NULL;
|
||||
char *path;
|
||||
clicon_handle h;
|
||||
char *dir;
|
||||
|
|
@ -523,6 +523,17 @@ main(int argc,
|
|||
clicon_err(OE_DAEMON, EFAULT, "Restconf daemon config not found or disabled");
|
||||
goto done;
|
||||
}
|
||||
/* XXX see restconf_config_init access directly */
|
||||
if ((sockpath = clicon_option_str(h, "CLICON_RESTCONF_PATH")) == NULL){
|
||||
clicon_err(OE_CFG, errno, "No CLICON_RESTCONF_PATH in clixon configure file");
|
||||
goto done;
|
||||
}
|
||||
/* XXX CLICON_RESTCONF_PATH is marked as obsolete and should use
|
||||
* fcgi-socket in clixon-restconf.yang instead */
|
||||
if ((sockpath = clicon_option_str(h, "CLICON_RESTCONF_PATH")) == NULL){
|
||||
clicon_err(OE_CFG, errno, "No CLICON_RESTCONF_PATH in clixon configure file");
|
||||
goto done;
|
||||
}
|
||||
if (FCGX_Init() != 0){ /* How to cleanup memory after this? */
|
||||
clicon_err(OE_CFG, errno, "FCGX_Init");
|
||||
goto done;
|
||||
|
|
|
|||
|
|
@ -106,6 +106,13 @@ Use `/* */`. Use `//` only for temporal comments.
|
|||
|
||||
Do not use "======", ">>>>>" or "<<<<<<" in comments since git merge conflict uses that.
|
||||
|
||||
### Format ints
|
||||
|
||||
Use:
|
||||
- %zu for size_t
|
||||
- PRIu64 for uint64
|
||||
- %p for pointers
|
||||
|
||||
## How to work in git
|
||||
|
||||
Clixon uses semantic versioning (https://semver.org).
|
||||
|
|
|
|||
|
|
@ -53,11 +53,8 @@ typedef void *clicon_handle;
|
|||
typedef void *plghndl_t;
|
||||
|
||||
/*! Indirect output functions to print with something else than fprintf
|
||||
* @param[in] h Clicon handle
|
||||
* @param[in] xn Request: <rpc><xn></rpc>
|
||||
* @param[out] cbret Return xml tree, eg <rpc-reply>..., <rpc-error..
|
||||
* @param[in] arg Domain specific arg, ec client-entry or FCGX_Request
|
||||
* @param[in] regarg User argument given at rpc_callback_register()
|
||||
*
|
||||
* @see man fprintf
|
||||
* @retval 0 OK
|
||||
* @retval -1 Error
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ fi
|
|||
restconf=$1
|
||||
|
||||
if [ $(uname) = "FreeBSD" ]; then
|
||||
./configure --with-cligen=/usr/local --enable-optyangs --with-restconf=$restconf
|
||||
./configure --with-cligen=/usr/local --with-restconf=$restconf
|
||||
else
|
||||
./configure --enable-optyangs --with-restconf=$restconf
|
||||
./configure --with-restconf=$restconf
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -63,10 +63,10 @@ cd src/clixon
|
|||
git pull origin master
|
||||
|
||||
if [ $release = "freebsd" ]; then
|
||||
LDFLAGS=-L/usr/local/lib ./configure --with-cligen=/usr/local --enable-optyangs --with-restconf=${with_restconf}
|
||||
LDFLAGS=-L/usr/local/lib ./configure --with-cligen=/usr/local --with-restconf=${with_restconf}
|
||||
else
|
||||
# Problems with su not having "sbin" in path on centos when when we run tests later
|
||||
./configure --sbindir=/usr/sbin --libdir=/usr/lib --enable-optyangs --with-restconf=${with_restconf}
|
||||
./configure --sbindir=/usr/sbin --libdir=/usr/lib --with-restconf=${with_restconf}
|
||||
fi
|
||||
$MAKE clean
|
||||
$MAKE -j10
|
||||
|
|
|
|||
|
|
@ -116,6 +116,7 @@ regex_posix(char *regexp,
|
|||
fprintf(stderr, "pattern too long\n");
|
||||
return -1;
|
||||
}
|
||||
/* note following two lines trigger [-Wstringop-truncation] warnings, but see no actual error */
|
||||
strncpy(pattern, "^(", 2);
|
||||
strncpy(pattern+2, posix, sizeof(pattern)-2);
|
||||
strncat(pattern, ")$", sizeof(pattern)-len0-1);
|
||||
|
|
|
|||
|
|
@ -53,7 +53,6 @@ module clixon-config {
|
|||
clixon-clispec.yang
|
||||
Removed obsolete options:
|
||||
CLICON_YANG_LIST_CHECK
|
||||
CLICON_RESTCONF_PATH
|
||||
Released in Clixon 5.5";
|
||||
}
|
||||
revision 2021-11-11 {
|
||||
|
|
@ -472,6 +471,16 @@ module clixon-config {
|
|||
only loading from startup but may occur in other circumstances as well. This
|
||||
means that sanity checks of erroneous XML/JSON may not be properly signalled.";
|
||||
}
|
||||
leaf CLICON_RESTCONF_PATH {
|
||||
type string;
|
||||
default "/www-data/fastcgi_restconf.sock";
|
||||
description
|
||||
"FastCGI unix socket. Should be specified in webserver
|
||||
Eg in nginx: fastcgi_pass unix:/www-data/clicon_restconf.sock
|
||||
Only if with-restconf=fcgi, NOT native
|
||||
Note: Obsolete, use fcgi-socket in clixon-restconf.yang instead";
|
||||
status obsolete;
|
||||
}
|
||||
leaf CLICON_BACKEND_DIR {
|
||||
type string;
|
||||
description
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue