* Stricter handling of multi-namespace handling
* This occurs in cases where there are more than one XML namespaces in a config tree, such as `augment`:ed trees. * Affects all parts of the system, including datastore, backend, restconf and cli. * Invalid api-path syntax (eg non-matching yang) error changed from 412 operation-failed to 400 Bad request invalid-value, or unknown-element.
This commit is contained in:
parent
a547b3f31d
commit
d9136c8972
22 changed files with 777 additions and 236 deletions
|
|
@ -53,6 +53,7 @@ int clicon_rpc_delete_config(clicon_handle h, char *db);
|
|||
int clicon_rpc_lock(clicon_handle h, char *db);
|
||||
int clicon_rpc_unlock(clicon_handle h, char *db);
|
||||
int clicon_rpc_get(clicon_handle h, char *xpath, char *namespace, netconf_content content, int32_t depth, cxobj **xret);
|
||||
int clicon_rpc_get_nsc(clicon_handle h, char *xpath, cvec *nsc, netconf_content content, int32_t depth, cxobj **xret);
|
||||
int clicon_rpc_close_session(clicon_handle h);
|
||||
int clicon_rpc_kill_session(clicon_handle h, int session_id);
|
||||
int clicon_rpc_validate(clicon_handle h, char *db);
|
||||
|
|
|
|||
|
|
@ -108,9 +108,17 @@ char *xml_name(cxobj *xn);
|
|||
int xml_name_set(cxobj *xn, char *name);
|
||||
char *xml_prefix(cxobj *xn);
|
||||
int xml_prefix_set(cxobj *xn, char *name);
|
||||
char *nscache_get(cxobj *x, char *prefix);
|
||||
int nscache_get_prefix(cxobj *x, char *namespace, char **prefix);
|
||||
cvec *nscache_get_all(cxobj *x);
|
||||
int nscache_set(cxobj *x, char *prefix, char *namespace);
|
||||
|
||||
int nscache_clear(cxobj *x);
|
||||
int nscache_replace(cxobj *x, cvec *ns);
|
||||
|
||||
int xml2ns(cxobj *x, char *localname, char **namespace);
|
||||
int xml2prefix(cxobj *xn, char *namespace, char **prefixp);
|
||||
|
||||
int xmlns_set(cxobj *x, char *prefix, char *namespace);
|
||||
cxobj *xml_parent(cxobj *xn);
|
||||
int xml_parent_set(cxobj *xn, cxobj *parent);
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ int xml_non_config_data(cxobj *xt, void *arg);
|
|||
int xml_spec_populate_rpc(clicon_handle h, cxobj *x, yang_stmt *yspec);
|
||||
int xml_spec_populate(cxobj *x, void *arg);
|
||||
int api_path2xpath_cvv(cvec *api_path, int offset, yang_stmt *yspec, cbuf *xpath, char **namespace, cxobj **xerr);
|
||||
int api_path2xpath_cvv2(cvec *api_path, int offset, yang_stmt *yspec, cbuf *xpath, cvec *nsc, cxobj **xerr);
|
||||
int api_path2xpath(char *api_path, yang_stmt *yspec, char **xpath, char **namespace);
|
||||
int api_path2xml(char *api_path, yang_stmt *yspec, cxobj *xtop,
|
||||
yang_class nodeclass, int strict, cxobj **xpathp, yang_stmt **ypathp);
|
||||
|
|
|
|||
|
|
@ -46,9 +46,9 @@
|
|||
* Types
|
||||
*/
|
||||
|
||||
/* Struct contataining module state differences between two modules or two
|
||||
/* Struct containing module state differences between two modules or two
|
||||
* revisions of same module.
|
||||
* This is in state of flux so it needss to be conatained and easily changed.
|
||||
* This is in state of flux so it needs to be contained and easily changed.
|
||||
*/
|
||||
typedef struct {
|
||||
cxobj *md_del; /* yang module state deletes */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue