Olof hagsand
c4954f5c43
memerror in uid-get. reinsert save config yang spec (removed for wrong reasons previously causing memleaks)
2019-12-01 16:48:45 +01:00
Olof hagsand
d0e97ee338
Removed obsolete config yang handler
...
Added base netconf as default namespace in canonical nsctx
2019-11-16 16:49:40 +01:00
Olof hagsand
52629d7b35
Added "canonical" global namespace context: nsctx_global
2019-11-15 17:04:13 +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
948e203a61
moved initial hello request from client to backend to immediate before first actual query
2019-10-27 10:24:13 +01:00
Olof hagsand
44138c0071
internal netconf hello mechanism to obtain session-id
2019-10-24 11:46:06 +02:00
Olof Hagsand
d7bb96b9cf
FreeBSD modifications: Configure, makefiles and test scripts modification for Freebsd
2019-10-20 09:03:31 -10:00
Olof hagsand
b624e911b8
* Internal backend socket protocol changed: uint32_t session-id added, see clixon_proto.h
...
* * Changed session-id handing. Instead of using pid of peer process, a proper session id generated by the server is used, following RFC6241.
2019-10-19 19:52:09 +02:00
Olof hagsand
8cdb0bb062
* Changed so that 400 Bad Request are for invalid api-path or unknown yang elements, 404 Not Found for valid xml when object not found.
2019-10-07 22:20:34 +02:00
Olof hagsand
6e41592aec
* Changed clicon_rpc_get and clicon_rpc_get_config functions: added username and replaced namespace with namespace context
...
* Fixed several issues with multiple namespaces.
2019-10-03 22:01:16 +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
10a2dbe8ec
* Added experimental binary search API function: xml_binsearch
...
* Added content parameter to `clicon_rpc_get` (-1 or CONTENT_ALL is default)
* Reverted change in clixon-lib.yang
2019-08-14 11:13:24 +02:00
Olof hagsand
8b7b7b0f60
* RESTCONF "content" query parameter supported
...
* New clixon-lib@2019-08-13.yang revision
* Bugfix: If `ietf-netconf.yang` was imported from any yang module, client/backend communication stops working.
2019-08-13 13:21:11 +02:00
Olof hagsand
aa653d0831
CLI multi-key bug for ordered-by user
2019-08-04 17:38:13 +02:00
Olof hagsand
df9e4734f9
Bugfix: multiple key cli bug, ambiguous commands in expand_dbvar
2019-08-04 17:07:11 +02:00
Olof hagsand
1fe7d916f4
segv on multiple keys
2019-08-03 15:08:10 +02:00
Olof hagsand
c97346921b
Netconf operation attribute namespace check is enforced
2019-07-31 16:45:48 +02:00
Olof hagsand
291f173505
libm needed in xpath
2019-07-24 09:46:08 +02:00
Olof hagsand
e7b60619da
* Pushed tag to 4.0.1.PRE
...
* Restconf RFC 8040 increased feature compliance
* Cache-Control: no-cache added in HTTP responses (RFC Section 5.5)
* Restconf monitoring capabilities (RFC Section 9.1)
* Added support for Yang extensions
* New plugin callback: ca_extension
* Main backend example includes example code on how to implement a Yang extension in a plugin.
* JSON changes
* Non-pretty-print output removed all extra spaces.
* Example: `{"nacm-example:x": 42}` --> {"nacm-example:x":42}`
* Empty JSON container changed from `null` to `{}`.
* Empty list and leafs remain as `null`
* Removed unnecessary configure dependencies
* libnsl, libcrypt, libm, if_vlan,...
* pseudo-plugin added, to enable callbacks also for main programs. Useful for extensions
* Yang Unique statements with multiple schema identifiers did not work on some platforms due to memory error.
2019-07-23 22:11:14 +02:00
Olof hagsand
fe46a0e093
Clixon release 4.0.0
2019-07-13 16:33:23 +02:00
Olof hagsand
8b50695e1f
misleading if indentation
2019-07-11 12:14:02 +02:00
Olof hagsand
6d46087109
Documented bug [Yang identityref XML encoding is not general #90 ]( https://github.com/clicon/clixon/issues/90 )
2019-07-11 12:11:45 +02:00
Olof hagsand
e44685a100
Replaced strchr with nodeid_split
...
Experimental code for replacing identityref lists with module:id instead of prefix:id
2019-07-10 17:18:34 +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
b64dd678dc
CLI ranges error shown instead of "Unknown command"
2019-06-21 17:44:52 +02:00
Olof hagsand
d12644a5ef
Fixed [Wrong yang-generated cli code for typeref identityref combination #88 ]( https://github.com/clicon/clixon/issues/88 )
2019-06-20 19:00:22 +02:00
Olof hagsand
af720e8f28
Merge branch 'master' of https://github.com/clicon/clixon
2019-06-18 14:50:30 +02:00
Olof hagsand
17e3e74ad5
All hash_ functions have been prefixed with clicon_ to avoid name collision with other packages (frr)
2019-06-18 14:49:18 +02:00
Olof hagsand
d3c392b69d
* New clixon-config@2019-06-05.yang revision
...
* Added: `CLICON_YANG_REGEXP, CLICON_CLI_TAB_MODE, CLICON_CLI_HIST_FILE, CLICON_CLI_HIST_SIZE, CLICON_XML_CHANGELOG, CLICON_XML_CHANGELOG_FILE`.
* Renamed: `CLICON_XMLDB_CACHE` to `CLICON_DATASTORE_CACHE` and type changed.
* Deleted: `CLICON_XMLDB_PLUGIN, CLICON_USE_STARTUP_CONFIG`;
* New clixon-lib@2019-06-05.yang revision
* Added: ping rpc added (for liveness)
* Check cligen tab mode, dont start if CLICON_CLI_TAB_MODE is undefined
2019-06-05 10:58:02 +02:00
Olof hagsand
55f9b7cab0
Added CLIgen tab-modes in config option CLICON_CLI_TAB_MODE, which means you can control the behaviour of <tab> in the CLI.
2019-05-29 20:11:31 +02:00
Olof Hagsand
2ae9529a3e
added regexp free routines, replaced regexp mode string with symbol
2019-05-29 14:17:30 +00:00
Olof hagsand
5706703ab4
Added support for inverted regexps
2019-05-29 14:39:36 +02:00
Olof hagsand
2fe185d683
* Support for multiple patterns as described in RFC7950 Section 9.4.7
...
* Added regex cache to type resolution
* Added compiled regexp parameter as part of internal yang type resolution functions
* All internal `ys_populate_*()` functions (except ys_populate()) have switched parameters: `clicon_handle, yang_stmt *)`
2019-05-29 11:39:09 +02:00
Olof hagsand
5b39b63698
Added --with-libxml2 to configure
2019-05-24 10:04:29 +02:00
Olof hagsand
e55a27bcac
Check for libxml2 include files, not lib in code
2019-05-23 22:55:46 +02:00
Olof hagsand
a804e05375
* Added clicon_handle as parameter to all validate functions
...
* Added libxml2 XSD regexp mode as alternative to posix translation
* Added `CLICON_YANG_REGEXP` option with possible values libxml2 and posix
2019-05-23 22:48:33 +02:00
Olof Hagsand
a7af7e7593
memleaks
2019-05-22 18:27:53 +00:00
Olof hagsand
bc54f2d04c
* Regexp improvements
...
* Added check for libxml in configure';
* Added clixon_util_regexp utility function
* Yang state get improvements
* Integrated state and config into same tree on retrieval, not separate trees
* Added cli functions `cli_show_config_state()` and `cli_show_auto_state()` for showing combined config and state info.
* Added integrated state in the main example: `interface/oper-state`.
* Added performance tests for getting state, see [test/test_perf_state.sh].
2019-05-20 16:03:29 +02:00
Olof hagsand
c17784cfe9
Removed O(n^2) in cli expand/completion code
2019-05-16 20:08:25 +02:00
Olof hagsand
6f294fe67a
Yang Enumeration including space did not generate working CLIgen code, see [Choice with space is not working in CLIgen code]( https://github.com/olofhagsand/cligen/issues/24 )
2019-05-15 11:12:23 +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
6bf2a74e24
* Restconf with startup feature will now copy all edit changes to startup db (as it should according to RFC 8040)
...
* See [Restconf does not handle startup datastore according to the RFC](https://github.com/clicon/clixon/issues/74 )
* Netconf Startup feature is no longer hardcoded, you need to explicitly enable it (See RFC 6241, Section 8.7)
* Enable in config file with: `<CLICON_FEATURE>ietf-netconf:startup</CLICON_FEATURE>`, or use `*:*`
2019-04-26 12:12:55 +02:00
Olof hagsand
cef0dc5a22
* Added yang access functions
...
* Change all y->ys_parent to yang_parent_get(y)
* Change all y->ys_keyword to yang_keyword_get(y)
* Change all y->ys_argument to yang_argument_get(y)
* Change all y->ys_cv to yang_cv_get(y)
* Change all y->ys_cvec to yang_cvec_get(y)
2019-04-11 15:53:25 +02:00
Olof hagsand
56f32371ce
* Backend plugin returning NULL was still installed - is now logged and skipped.
...
* [Parent list key is not validated if not provided via RESTCONF #83 ](https://github.com/clicon/clixon/issues/83 ), thanks achernavin22.
2019-04-11 11:25:42 +02:00
Olof hagsand
b5f1f7346e
Structural C-code change: Merged yang_spec and yang_node types into yang_stmt
2019-04-02 12:27:33 +02:00
Olof hagsand
98a5ebc76e
* Structural change: removed datastore plugin and directory, and merged into regulat clixon lib code.
...
* Moved out code from clixon_options.[ch] into a new file: clixon_data.[ch]
2019-03-31 18:17:40 +02:00
Olof hagsand
60cb87f998
Removed argc/argv parameters from ca_start plugin API function. You may need to change signatures of your startup in your plugins
2019-03-28 17:11:55 +01:00
Olof hagsand
cdbce7645e
Changed hash API for better error handling
2019-03-28 13:16:44 +01:00