Restconf returns error when RPC generates "ok" reply [https://github.com/clicon/clixon/issues/69]
This commit is contained in:
parent
66f80e9304
commit
906b93cae0
3 changed files with 17 additions and 3 deletions
|
|
@ -134,6 +134,7 @@
|
||||||
* <!DOCTYPE (ie DTD) is not supported.
|
* <!DOCTYPE (ie DTD) is not supported.
|
||||||
|
|
||||||
### Corrected Bugs
|
### Corrected Bugs
|
||||||
|
* Restconf returns error when RPC generates "ok" reply [https://github.com/clicon/clixon/issues/69]
|
||||||
* xsd regular expression support for character classes [https://github.com/clicon/clixon/issues/68]
|
* xsd regular expression support for character classes [https://github.com/clicon/clixon/issues/68]
|
||||||
* added support for \c, \d, \w, \W, \s, \S.
|
* added support for \c, \d, \w, \W, \s, \S.
|
||||||
* Removing newlines from XML data [https://github.com/clicon/clixon/issues/65]
|
* Removing newlines from XML data [https://github.com/clicon/clixon/issues/65]
|
||||||
|
|
|
||||||
|
|
@ -614,12 +614,18 @@ netconf_application_rpc(clicon_handle h,
|
||||||
else /* Send to backend */
|
else /* Send to backend */
|
||||||
if (clicon_rpc_netconf_xml(h, xml_parent(xn), xret, NULL) < 0)
|
if (clicon_rpc_netconf_xml(h, xml_parent(xn), xret, NULL) < 0)
|
||||||
goto done;
|
goto done;
|
||||||
/* Sanity check of outgoing XML */
|
/* Sanity check of outgoing XML
|
||||||
|
* For now, skip outgoing checks.
|
||||||
|
* (1) Does not handle <ok/> properly
|
||||||
|
* (2) Uncertain how validation errors should be logged/handled
|
||||||
|
*/
|
||||||
|
if (0)
|
||||||
if ((youtput = yang_find((yang_node*)yrpc, Y_OUTPUT, NULL)) != NULL){
|
if ((youtput = yang_find((yang_node*)yrpc, Y_OUTPUT, NULL)) != NULL){
|
||||||
xoutput=xpath_first(*xret, "/");
|
xoutput=xpath_first(*xret, "/");
|
||||||
xml_spec_set(xoutput, youtput); /* needed for xml_spec_populate */
|
xml_spec_set(xoutput, youtput); /* needed for xml_spec_populate */
|
||||||
if (xml_apply(xoutput, CX_ELMNT, xml_spec_populate, yspec) < 0)
|
if (xml_apply(xoutput, CX_ELMNT, xml_spec_populate, yspec) < 0)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
if ((ret = xml_yang_validate_all_top(xoutput, cbret)) < 0)
|
if ((ret = xml_yang_validate_all_top(xoutput, cbret)) < 0)
|
||||||
goto done;
|
goto done;
|
||||||
if (ret == 0){
|
if (ret == 0){
|
||||||
|
|
|
||||||
|
|
@ -1428,10 +1428,17 @@ api_operations_post_output(clicon_handle h,
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
xml_spec_set(xoutput, youtput); /* needed for xml_spec_populate */
|
xml_spec_set(xoutput, youtput); /* needed for xml_spec_populate */
|
||||||
|
if (0){
|
||||||
|
/* Sanity check of outgoing XML
|
||||||
|
* For now, skip outgoing checks.
|
||||||
|
* (1) Does not handle <ok/> properly
|
||||||
|
* (2) Uncertain how validation errors should be logged/handled
|
||||||
|
*/
|
||||||
if (xml_apply(xoutput, CX_ELMNT, xml_spec_populate, yspec) < 0)
|
if (xml_apply(xoutput, CX_ELMNT, xml_spec_populate, yspec) < 0)
|
||||||
goto done;
|
goto done;
|
||||||
if ((ret = xml_yang_validate_all(xoutput, cbret)) < 0)
|
if ((ret = xml_yang_validate_all(xoutput, cbret)) < 0)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
if (ret == 1 &&
|
if (ret == 1 &&
|
||||||
(ret = xml_yang_validate_add(xoutput, cbret)) < 0)
|
(ret = xml_yang_validate_add(xoutput, cbret)) < 0)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
@ -1446,7 +1453,7 @@ api_operations_post_output(clicon_handle h,
|
||||||
goto done;
|
goto done;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/* Clear namespace of parameters */
|
/* Clear namespace of parameters */
|
||||||
x = NULL;
|
x = NULL;
|
||||||
while ((x = xml_child_each(xoutput, x, CX_ELMNT)) != NULL) {
|
while ((x = xml_child_each(xoutput, x, CX_ELMNT)) != NULL) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue