Olof hagsand
b340c36f79
Experimental optimized XPath, multiple keys
2019-12-31 13:29:25 +01:00
Olof hagsand
7ad16bd84b
* C-API: Added xpath_first_localonly() as an xpath function that skips prefix and namespace checks.
...
* Added experimental code for optizing XPath search using binary search.
* Enable with XPATH_LIST_OPTIMIZE
* Changed `clicon_rpc_generate_error(msg, xerr)` to `clicon_rpc_generate_error(xerr, msg, arg)`
2019-12-20 18:21:46 +01:00
Olof hagsand
d68a829862
* Added namespace-context parameter nsc to xpath_first and xpath_vec, (xpath_vec_nsc and xpath_first_nsc` are removed).
2019-12-07 20:46:13 +01:00
Olof hagsand
6fc8a69dff
Fixed: [xpath_tree2cbuf() changes integers into floating point representations #99 ]( https://github.com/clicon/clixon/issues/99 )
2019-11-27 22:02:39 +01:00
Olof hagsand
728fe9c6ac
* Bumped version to 4.3.0.PRE
...
* Added wildcard `*` as a mode to `CLICON_MODE` in clispec files
* [Add missing includes](https://github.com/clicon/clixon/pulls )
2019-11-03 13:05:50 +01:00
Olof hagsand
279614d64f
* The backend socket has now support of credentials of peer clients
...
* Added: CLICON_NACM_CREDENTIALS and CLICON_NACM_RECOVERY_USER
2019-10-18 19:33:23 +02:00
Olof hagsand
03acf8e19c
* XPATH canonical form implemented for NETCONF get and get-config.
2019-10-09 22:13:04 +02:00
Olof hagsand
ee329ee382
* RESTCONF "depth" query parameter supported
...
* C API change: Added `depth` parameter to function `clicon_xml2cbuf`, default is -1.
2019-08-17 10:54:13 +02:00
Olof hagsand
c1bae276ff
* RESTCONF PUT/POST erroneously returned 200 OK. Instead restconf now returns:
...
* `201 Created` for created resources
* `204 No Content` for replaced resources.
* See [RESTCONF: HTTP return codes are not according to RFC 8040](https://github.com/clicon/clixon/issues/56 )
* HTTP `Location:` fields added in RESTCONF POST replies
2019-07-25 13:15:31 +02:00
Olof hagsand
291f173505
libm needed in xpath
2019-07-24 09:46:08 +02:00
Olof hagsand
40d5b99d3b
Reverted some of the nsc xpath API changes. In the revert, xpath_first() and xpath_vec() retain their old syntax with nsc==NULL.
...
The reason is to be conservative with the API. However, less used functions, such as xpath_vec_bool(), xpath_vec_ctx() and xpath_vec_flag() are changed with a new `nsc`parameter, which should be set to NULL in most cases.
2019-07-09 12:19:03 +02:00
Olof hagsand
1f8c759f3d
Merge branch 'master' of https://github.com/clicon/clixon .
...
Added new API function `xpath_parse()` to split parsing and xml evaluation.
2019-07-08 14:47:18 +02:00
Olof hagsand
67b8685bab
The Clixon API has been extended with namespaces, or namespace contexts in the following cases:
...
* CLIspec functions have added namespace parameter:
* `cli_show_config <db> <format> <xpath>` --> `cli_show_config <db> <format> <xpath> <namespace>`
* `cli_copy_config <db> <xpath> ...` --> `cli_copy_config <db> <xpath> <namespace> ...`
* Xpath API
* `xpath_first(x, format, ...)` --> `xpath_first(x, nsc, format, ...)`
* `xpath_vec(x, format, vec, veclen, ...)` --> `xpath_vec(x, nsc, format, vec, veclen, ...)`
* `xpath_vec_flag(x, format, flags, vec, veclen, ...)` --> `xpath_vec_flag(x, format, flags, vec, veclen, ...)`
* `xpath_vec_bool(x, format, ...)` --> `xpath_vec_bool(x, nsc, format, ...)`
* `xpath_vec_ctx(x, xpath, xp)` --> `xpath_vec_ctx(x, nsc, xpath, xp)`
* xmldb_get0 has an added `nsc` parameter:
* `xmldb_get0(h, db, xpath, copy, xret, msd)` --> `xmldb_get0(h, db, nsc, xpath, copy, xret, msd)`
* The plugin statedata callback (ca_statedata) has been extended with an nsc parameter:
* `int example_statedata(clicon_handle h, cvec *nsc, char *xpath, cxobj *xstate);`
* rpc get and get-config api function has an added namespace argument:
* `clicon_rpc_get_config(clicon_handle h, char *db, char *xpath, char *namespace, cxobj **xt);`
* `int clicon_rpc_get(clicon_handle h, char *xpath, char *namespace, cxobj **xt);`
2019-07-08 10:36:37 +02:00
Olof hagsand
06e6ef80d1
Non-key list now not accepted in edit-config (before only on validation)
2019-05-08 12:51:10 +02:00
Olof hagsand
e29cd7cfb9
* Optimized validation by making xml_diff work on raw cache tree (not copies)
...
* xmldb_get() removed unnecessary config option
2019-04-07 15:55:53 +02:00
Olof hagsand
8624be0a67
xml changelog next iteration
2019-03-26 12:04:51 +01:00
Olof hagsand
3f68cca06c
* New yang changelog experimental feature for automatic upgrade
...
* Added modules-state diff parameter to xmldb_get datastore function for startup scenarios.
* Allowed Yang extended Xpath functions (syntax only):
* re-match, deref, derived-from, derived-from-or-self, enum-value, bit-is-set
* XSD regular expression handling of dash(`-`)
*: Translate XDS `[xxx\-yyy]` to POSIX `[xxxyyy-]`.
* YANG Anydata treated same as Anyxml
2019-03-21 18:05:55 +01:00
Olof hagsand
0267afcb21
* Added -o "<option>=<value>" command-line option to all programs: backend, cli, netconf, restconf.
...
* Added -p <dir> command-line option to all programs: backend, cli, netconf, restconf.
* Moved and updated all standard ietf and iana yang files from example and yang/ to `yang/standard`.
* Renamed example yang from example.yang -> clixon-example.yang
2019-01-13 17:34:15 +01:00
Olof hagsand
0103d58994
2019
2019-01-02 15:48:30 +01:00
Olof Hagsand
ef9bb742d1
axismap not used
2018-07-30 13:32:45 +00:00
Olof Hagsand
66e232beba
moved xpath debug level from 1 to 2
2018-07-30 11:56:48 +00:00
Olof Hagsand
e48f8dd00e
clixon_netconf -S is obsolete. Use clixon_netconf -l s instead.
...
* Unified log handling for all clicon applications using -l e|o|s|f.
* The options stand for e:stderr, o:stdout, s: syslog, f:file
2018-07-29 19:41:10 +02:00
Olof hagsand
56e51f1a8d
3.8.0.PRE preparations and
...
* Obsoleted COMPAT_CLIV and COMPAT_XSL that were optional in 3.7
2018-07-22 21:29:21 +02:00
Olof hagsand
deb89600ed
memleaks
2018-07-20 23:16:26 +02:00
Olof Hagsand
b894c30bfb
obsoleted xpath_each
2018-07-20 15:52:32 +00:00
Olof Hagsand
e79e48b46f
xpath unitialized vecs
2018-07-20 10:02:35 +00:00
Olof hagsand
226c59f25a
Backward compatible XPATH via symbols, not macros
2018-07-20 10:51:12 +02:00
Olof hagsand
c71791f168
Added util directory containing test applications
2018-07-19 09:57:38 +02:00
Olof hagsand
0eb9e6c8b2
* Support for YANG conditionals "must" and "when" according to RFC 7950 Sec 7.5.3 and 7.21.5
...
* XPATH checked at validation time
2018-07-18 09:51:33 +02:00
Olof hagsand
ba7f84afee
* Much better support for XPATH 1.0 according to https://www.w3.org/TR/xpath-10 using yacc/lex
...
* NOTE: Due to an error in the previous implementation, all XPATH calls on the form `x[a=str]` where `str` is a string (not a number or XML symbol), must be changed to: `x[a='str'] or x[a="str"]`
* This includes all calls to `xpath_vec, xpath_first`, etc.
* All calls to cli_copy_config in CLI spec files must replace 2nd argument from `x[%s=%s]` to `x[%s='%s']`
* The old API is stillenabled. To define the new, define XPATH_USE_NEW in include/clixon_custom.h and recompile
2018-07-17 16:59:32 +02:00
Olof hagsand
bf728b37b8
* Full support of XPATH 1.0 according to https://www.w3.org/TR/xpath-10 using yacc/lex
...
* The previous XPATH imlementation was very restricted.
* The only function implemented is the Yang extension "current()". No other functions are implemented (eg last(), count()).
2018-07-16 16:13:31 +02:00