Commit graph

809 commits

Author SHA1 Message Date
Olof hagsand
98cc62eace Fixed a problem with some netconf error messages caused restconf daemon to exit due to no XML encoding 2019-06-12 18:15:44 +02:00
Olof hagsand
de15b2bf80 * RESTCONF strict namespace validation of data in POST and PUT.
* Accepted:
  ```
    curl -X PUT http://localhost/restconf/data/mod:a -d {"mod:a":"x"}
  ```
  * Not accepted (must prefix "a" with module):
  ```
    curl -X PUT http://localhost/restconf/data/mod:a -d {"a":"x"}
  ```
  * Undefine `RESTCONF_NS_DATA_CHECK` in include/clixon_custom.h to disable strict check.
2019-06-10 16:15:02 +02:00
Olof hagsand
40f3d48f2b Restconf uri with mismatching keys problem 2019-06-10 13:56:06 +02:00
Olof hagsand
fc78824110 Many validation functions have changed error parameter from cbuf to xml tree. 2019-06-10 12:49:40 +02:00
Olof hagsand
dfa3970ab2 RESTCONF PUT list key problems 2019-06-08 16:32:56 +02:00
Olof hagsand
97079b0a88 Fixed side-effect of RESTCONF PUT key-match patch 2019-06-08 10:17:56 +02:00
Olof hagsand
519fac186c Extended util/clixon_util_xml with yang and validate functionality so it can be used as a stand-alone utility for validating XML/JSON files 2019-06-07 10:16:03 +02:00
Olof hagsand
ee863e5dbd YANG_INSTALLDIR fixes 2019-06-05 17:53:08 +02:00
Olof hagsand
88b0db3e95 * Replaced CLIXON_DATADIR with two configurable options defining where Clixon installs Yang files.
* use `--with-yang-installdir=DIR` to install Clixon yang files in DIR
  * use `--with-std-yang-installdir=DIR` to install standard yang files that Clixon may use in DIR
  * Default is (as before) `/usr/local/share/clixon`
2019-06-05 17:46:30 +02:00
Olof hagsand
934bc42c91 removed old clixon yang files 2019-06-05 12:15:38 +02:00
Olof Hagsand
42a974bf78 mem problem in refine/augment code 2019-06-05 09:54:13 +00: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
dc45600074 Yang 'refine' feature supported, According to RFC 7950 7.13.2 2019-06-05 10:23:49 +02:00
Olof hagsand
3dba0b5370 Restore xmldb_get() to original (but removed one parameter
Moved all zero-copy xmldb_get functions to xmldb_get0.
Clarified CHANGELOG for xmldb_get changes
2019-06-04 11:14:03 +02:00
Olof hagsand
2aeb925521 * JSON parse and print improvements
* Integrated parsing with namespace translation and yang spec lookup
2019-06-03 16:40:54 +02:00
Olof Hagsand
18ab5e7dfe restructuring of type cache for regexp compile complex case 2019-05-30 10:29:46 +00:00
Olof hagsand
683d570008 recompile regexp on cache miss after ys copy 2019-05-30 00:03:37 +02:00
Olof hagsand
2e23a8c275 problems w regexp compiled void pointers and memory 2019-05-29 22:49:57 +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
0ef704563b empty unquoted string; unknown in anydata/xml 2019-05-29 19:36:23 +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
efd1330550 Merge branch 'master' of https://github.com/clicon/clixon 2019-05-24 10:43:09 +02:00
Olof hagsand
77ee046f2e faq 2019-05-24 10:42:05 +02:00
Olof Hagsand
9c7a4e14f1 error if --with-libxml2 does not find libxml2 2019-05-24 08:31:47 +00: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
69f2eb30f1 Merge branch 'master' of https://github.com/clicon/clixon 2019-05-22 18:28:07 +00:00
Olof Hagsand
a7af7e7593 memleaks 2019-05-22 18:27:53 +00:00
Olof hagsand
f7771d86c2 * Better compliance with XSD regexps (when transforming to Posix regexps)
* Added `\p{L}` and `\p{N}`
   * Added escaping of `$`
* Added regexp [test/test_pattern.sh]
2019-05-22 20:21:48 +02:00
Olof hagsand
7e109d1d4b Startup transactions did not mark added tree with XML_FLAG_ADD as it should 2019-05-21 10:55:16 +02:00
Olof hagsand
9085432aa7 clixon_util_regexp compile error 2019-05-20 16:50:50 +02: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
47889a9b0a Check restconf PUT different keys for leaf-list 2019-05-15 18:35:28 +02:00
Olof hagsand
712d8a6ff1 Restconf PUT different keys detected (thanks @dcornejo) and fixed 2019-05-15 17:38:52 +02:00
Olof hagsand
b4f860b5ef Merge branch 'master' of https://github.com/clicon/clixon 2019-05-15 11:16:43 +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
0b0fef12cc Merge branch 'master' of https://github.com/clicon/clixon 2019-05-14 14:11:43 +02:00
Olof hagsand
d775eb5374 * Improved submodule implementation, as part of [Yang submodule import prefix restrictions #60](https://github.com/clicon/clixon/issues/60). 2019-05-14 14:09:02 +02:00
Olof hagsand
f8850990d4 Merge branch 'master' of https://github.com/clicon/clixon 2019-05-10 16:56:07 +02:00
Olof hagsand
e68a5ffa97 cli history file long string test 2019-05-10 16:49:00 +02:00
Olof Hagsand
c38a648ca4 wrong fread -1 check 2019-05-10 14:44:21 +00:00
Olof hagsand
b103599a1a * Clixon transaction mechanism has changed which may affect your backend plugin callbacks:
* Validate-only transactions are terminated by an `end` or `abort` callback.
* If a commit user callback fails, a new `revert` callback will be made to plugins that have made a succesful commit.
2019-05-10 14:45:23 +02:00
Olof hagsand
99b7a1fe5b Clixon config option CLICON_XMLDB_CACHE renamed to CLICON_DATASTORE_CACHE and changed type from boolean to datastore_cache 2019-05-09 14:25:16 +02:00
Olof hagsand
70221742f7 Merge branch 'master' of https://github.com/clicon/clixon 2019-05-08 13:05:51 +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
1cfb190ea9 * Changed return values in internal functions: netconf_trymerge, startup_module_state, yang_modules_state_get 2019-05-07 13:26:34 +02:00