From be329dac6d06168e7c3814ec710d1f0b24643e33 Mon Sep 17 00:00:00 2001 From: Simon Bauer Date: Sun, 13 Dec 2020 18:05:49 +0100 Subject: [PATCH] Fixed filter namespace in netconf_rpc.o The "filter" node was not detected when an a namespace was used. The fix is similar to https://github.com/clicon/clixon/commit/d045e8abcec2699ac363947b0fe6061fab5794ba and related to bug #154 #143 --- apps/netconf/netconf_rpc.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/apps/netconf/netconf_rpc.c b/apps/netconf/netconf_rpc.c index e1e2ccf5..dd35700f 100644 --- a/apps/netconf/netconf_rpc.c +++ b/apps/netconf/netconf_rpc.c @@ -164,6 +164,16 @@ netconf_get_config(clicon_handle h, int retval = -1; cxobj *xfilter; /* filter */ char *ftype = NULL; + cvec *nsc = NULL; + char *prefix = NULL; + + if(xml_nsctx_node(xn, &nsc) < 0) + goto done; + + /* Get prefix of netconf base namespace in the incoming message */ + if (xml_nsctx_get_prefix(nsc, NETCONF_BASE_NAMESPACE, &prefix) == 0){ + goto done; + } /* ie ... */ if ((xfilter = xpath_first(xn, NULL, "filter")) != NULL) @@ -193,6 +203,8 @@ netconf_get_config(clicon_handle h, } retval = 0; done: + if (nsc) + cvec_free(nsc); return retval; } @@ -364,6 +376,16 @@ netconf_get(clicon_handle h, int retval = -1; cxobj *xfilter; /* filter */ char *ftype = NULL; + cvec *nsc = NULL; + char *prefix = NULL; + + if(xml_nsctx_node(xn, &nsc) < 0) + goto done; + + /* Get prefix of netconf base namespace in the incoming message */ + if (xml_nsctx_get_prefix(nsc, NETCONF_BASE_NAMESPACE, &prefix) == 0){ + goto done; + } /* ie ... */ if ((xfilter = xpath_first(xn, NULL, "filter")) != NULL) @@ -393,6 +415,8 @@ netconf_get(clicon_handle h, } retval = 0; done: + if(nsc) + cvec_free(nsc); return retval; }