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