diff --git a/CHANGELOG.md b/CHANGELOG.md index a0bbbf6a..f8b395b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,12 @@ ## 5.6.0 Expected: March 2022 +### API changes on existing protocol/config features + +Users may have to change how they access the system + +* Command field of clixon-lib:process-control RPC reply used CDATA encoding but now uses regular XML encoding + ### Corrected Bugs * Fixed: More than one unknown/extension in combination with augment of extension resulted in extension being skipped. diff --git a/lib/src/clixon_proc.c b/lib/src/clixon_proc.c index dd35a006..3f56fd46 100644 --- a/lib/src/clixon_proc.c +++ b/lib/src/clixon_proc.c @@ -705,15 +705,15 @@ clixon_process_status(clicon_handle h, if (pe->pe_description) cprintf(cbret, "%s", CLIXON_LIB_NS, pe->pe_description); cprintf(cbret, "", CLIXON_LIB_NS); - /* the command may include any data, including XML (such as restconf -R command) and - therefore needs CDATA encoding */ - cprintf(cbret, "pe_argc-1; i++){ if (i) - cprintf(cbret, " "); - cprintf(cbret, "%s", pe->pe_argv[i]); + if (xml_chardata_cbuf_append(cbret, " ") < 0) + goto done; + if (xml_chardata_cbuf_append(cbret, pe->pe_argv[i]) < 0) + goto done; } - cprintf(cbret, "]]>"); cprintf(cbret, ""); cprintf(cbret, "%s", CLIXON_LIB_NS, clicon_int2str(proc_state_map, pe->pe_state)); diff --git a/test/test_restconf_internal.sh b/test/test_restconf_internal.sh index 263be37f..d05c546c 100755 --- a/test/test_restconf_internal.sh +++ b/test/test_restconf_internal.sh @@ -119,10 +119,10 @@ EOF err "No pid return value" "$retx" fi if $active; then - expect="^$activeClixon RESTCONF process$status20[0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9]*Z$pid]]>]]>$" + expect="^$activeClixon RESTCONF process/.*/clixon_restconf -f $cfg -D [0-9] .*$status20[0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9]*Z$pid]]>]]>$" else # inactive, no startime or pid - expect="^$activeClixon RESTCONF process$status]]>]]>$" + expect="^$activeClixon RESTCONF process/.*/clixon_restconf -f $cfg -D [0-9] .*$status]]>]]>$" fi match=$(echo "$retx" | grep --null -Go "$expect") if [ -z "$match" ]; then diff --git a/test/test_restconf_internal_usecases.sh b/test/test_restconf_internal_usecases.sh index c5bbcb21..347d5048 100755 --- a/test/test_restconf_internal_usecases.sh +++ b/test/test_restconf_internal_usecases.sh @@ -135,10 +135,10 @@ EOF fi if $active; then - expect="^$activeClixon RESTCONF process$status20[0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9]*Z$pid]]>]]>$" + expect="^$activeClixon RESTCONF process/.*/clixon_restconf -f $cfg -D [0-9] .*$status20[0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9]*Z$pid]]>]]>$" else # inactive, no startime or pid - expect="^$activeClixon RESTCONF process$status]]>]]>$" + expect="^$activeClixon RESTCONF process/.*/clixon_restconf -f $cfg -D [0-9] .*$status]]>]]>$" fi match=$(echo "$retx" | grep --null -Go "$expect") if [ -z "$match" ]; then