plugin API remake
This commit is contained in:
parent
b9a54f07f3
commit
843b6abbcb
3 changed files with 4 additions and 63 deletions
|
|
@ -49,62 +49,4 @@
|
|||
#include <clixon/clixon_backend_handle.h>
|
||||
#include <clixon/clixon_backend_transaction.h>
|
||||
|
||||
/*! Clicon Backend plugin callbacks: use these in your backend plugin code
|
||||
*/
|
||||
|
||||
/*! Called when plugin loaded. Only mandadory callback. All others optional
|
||||
* @see plginit_t
|
||||
*/
|
||||
int plugin_init(clicon_handle h);
|
||||
|
||||
/* Called when backend started with cmd-line arguments from daemon call.
|
||||
* @see plgstart_t
|
||||
*/
|
||||
int plugin_start(clicon_handle h, int argc, char **argv);
|
||||
|
||||
/* Called just before plugin unloaded.
|
||||
* @see plgexit_t
|
||||
*/
|
||||
int plugin_exit(clicon_handle h);
|
||||
|
||||
/*! Reset system state to original state. Eg at reboot before running thru config.
|
||||
* @see plgreset_t
|
||||
*/
|
||||
int plugin_reset(clicon_handle h, const char *db);
|
||||
|
||||
/*! Retreive statedata, add statedata to XML tree
|
||||
* @see plgstatedata_ t
|
||||
*/
|
||||
int plugin_statedata(clicon_handle h, char *xpath, cxobj *xtop);
|
||||
|
||||
/*! Called before a commit/validate sequence begins. Eg setup state before commit
|
||||
* @see trans_cb_t
|
||||
*/
|
||||
int transaction_begin(clicon_handle h, transaction_data td);
|
||||
|
||||
/*! Validate.
|
||||
* @see trans_cb_t
|
||||
*/
|
||||
int transaction_validate(clicon_handle h, transaction_data td);
|
||||
|
||||
/* Called after a validation completed succesfully (but before commit).
|
||||
* @see trans_cb_t
|
||||
*/
|
||||
int transaction_complete(clicon_handle h, transaction_data td);
|
||||
|
||||
/* Commit.
|
||||
* @see trans_cb_t
|
||||
*/
|
||||
int transaction_commit(clicon_handle h, transaction_data td);
|
||||
|
||||
/* Called after a commit sequence completed succesfully.
|
||||
* @see trans_cb_t
|
||||
*/
|
||||
int transaction_end(clicon_handle h, transaction_data td);
|
||||
|
||||
/* Called if commit or validate sequence fails. After eventual rollback.
|
||||
* @see trans_cb_t
|
||||
*/
|
||||
int transaction_abort(clicon_handle h, transaction_data td);
|
||||
|
||||
#endif /* _CLIXON_BACKEND_H_ */
|
||||
|
|
|
|||
|
|
@ -321,7 +321,7 @@ api_yang_library_version(clicon_handle h,
|
|||
*/
|
||||
static int
|
||||
api_restconf(clicon_handle h,
|
||||
FCGX_Request *r)
|
||||
FCGX_Request *r)
|
||||
{
|
||||
int retval = -1;
|
||||
char *path;
|
||||
|
|
@ -374,14 +374,15 @@ api_restconf(clicon_handle h,
|
|||
goto done;
|
||||
data = cbuf_get(cb);
|
||||
clicon_debug(1, "DATA=%s", data);
|
||||
|
||||
if (str2cvec(data, '&', '=', &dvec) < 0)
|
||||
goto done;
|
||||
|
||||
/* If present, check credentials. See "plugin_credentials" in plugin
|
||||
* See RFC 8040 section 2.5
|
||||
*/
|
||||
if ((authenticated = clixon_plugin_auth(h, r)) < 0)
|
||||
goto done;
|
||||
|
||||
/* If set but no user, we set a dummy user */
|
||||
if (authenticated){
|
||||
if (clicon_username_get(h) == NULL)
|
||||
|
|
@ -424,7 +425,6 @@ api_restconf(clicon_handle h,
|
|||
return retval;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
restconf_terminate(clicon_handle h)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -184,8 +184,7 @@ b64_decode(const char *src,
|
|||
/*! Process a rest request that requires (cookie) "authentication"
|
||||
* Note, this is loaded as dlsym fixed symbol in plugin
|
||||
* @param[in] h Clixon handle
|
||||
* @param[in] r Fastcgi request handle
|
||||
* @param[out] username Malloced username, or NULL.
|
||||
* @param[in] arg Argument. Here: Fastcgi request handle
|
||||
* @retval -1 Fatal error
|
||||
* @retval 0 Unauth
|
||||
* @retval 1 Auth
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue