Olof hagsand
e4239496a8
Yang access function. Mem leak in USE_XML_INSERT
2019-04-25 13:46:23 +02:00
Olof hagsand
16de5f47ba
Merge branch 'master' of https://github.com/clicon/clixon
2019-04-24 15:35:57 +02:00
Olof hagsand
65c809b1c3
Removed external direct access to the yang_stmt struct.
2019-04-24 15:13:19 +02:00
Olof hagsand
7847e74c5e
yang_cvec_set(y, cvv) added
2019-04-24 09:56:07 +02:00
Olof hagsand
1e1eabbc06
Non linear str2int
2019-04-23 12:53:29 +02:00
Olof hagsand
8c36083e16
* A yang type regex cache added, this helps the performance by avoiding re-running the regcomp command on every iteration.
...
* An XML namespace cache added (see `xml2ns()`)
* Better performance of XML whitespace parsing/scanning.
2019-04-19 16:01:39 +02:00
Olof hagsand
71da2ac6cb
Merge branch 'master' of https://github.com/clicon/clixon
2019-04-14 14:43:20 +02:00
Olof hagsand
c79baf1b1f
* Optimized validation of large lists
...
* New xmldb_get1() returning actual cache - not a copy. This has lead to some householding instead of just deleting the copy
* xml_diff rewritten to work linearly instead of O(2)
* New xml_insert function using tree search. The new code uses this in insertion xmldb_put and defaults. (Note previous xml_insert renamed to xml_wrap_all)
2019-04-14 14:36:41 +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
cf7675dfac
Experimental customized error output strings, see [lib/clixon/clixon_err_string.h]
2019-04-11 12:45:31 +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
a37b89600f
Merge branch 'master' of https://github.com/clicon/clixon
2019-04-07 16:04:23 +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
4fbec973d7
List ordering bug - lists with ints as keys behaved wrongly and slow
2019-04-07 15:49:19 +02:00
Olof hagsand
473d65c511
* Optimized validation by making xml_diff work on raw cache tree (not copies)
...
* xmldb_get() removed unnecessary config option
2019-04-06 21:43:51 +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
65451f1045
forgot new data and datastore files
2019-03-31 18:20:48 +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
Olof hagsand
be59bd48d8
upgrade example and test
2019-03-27 18:04:01 +01:00
Olof hagsand
4902f7cf1d
Merge branch 'develop'
2019-03-27 16:32:01 +01:00
Olof hagsand
6ff36a2894
* Added xml_wrap function that adds an XML node above a node as a wrapper
...
* also renamed `xml_insert` to `xml_wrap_all`.
* Added `clicon_argv_get()` function to get the user command-line options, ie the args in `-- <args>`. This is an alternative to using them passed to `plugin_start()`.
2019-03-27 16:04:14 +01:00
Olof hagsand
8624be0a67
xml changelog next iteration
2019-03-26 12:04:51 +01:00
Olof hagsand
a0abf8436e
XML chanelog revision
2019-03-25 10:42:27 +01:00
Olof Hagsand
69dcc721a9
* Added CLICON_NACM_MODE "internal-rpc" which is for RPC functionality only
2019-03-22 17:09:05 +01:00
Olof Hagsand
10d45bcee3
Memory leaks and errors
2019-03-21 20:36:47 +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
b1c74b5f1f
* Ensured you can add multiple callbacks for any RPC, including basic ones.
...
* Extra RPC:s will be called _after_ the basic ones.
* One specific usecase is hook for `copy-config` (see [doc/ROADMAP.md] that can be implemented thus way.
* `rpc_callback_register` added a namespace parameter. Example:
```
rpc_callback_register(h, empty_rpc, NULL, "urn:example:clixon", "empty");
```
2019-03-10 17:27:52 +01:00
Olof hagsand
77387e9c65
Merge branch 'master' of https://github.com/dcornejo/clixon into dcornejo-master
2019-03-06 10:03:58 +01:00
Olof hagsand
8cfd72c2c5
Merge branch 'develop'
2019-03-06 09:44:43 +01:00
Olof hagsand
98fb6eceef
* Clixon configuration file top-level symbols has changed to clixon-configand namespace check is enforced.
...
* clixon-config YAML file has new revision: 2019-03-05.
* New URN and changed top-level symbol to `clixon-config`
* Removed obsolete `_CLICON_XML_NS_STRICT` variable and `CLICON_XML_NS_STRICT` config option.
2019-03-06 09:42:55 +01:00
Olof hagsand
01c8b0b836
* [Identityref inside augment statement]( https://github.com/clicon/clixon/issues/77 )
...
* Yang-stmt enhanced with "shortcut" to original module
2019-03-05 22:42:13 +01:00
Dave Cornejo
e2e465eb7b
remove redundant typedef that caused problems with some compilers
...
thanks to report from Piotr Kubaj against FreeBSD port:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236195
2019-03-04 09:24:42 -10:00
Olof hagsand
b182e8666f
[yang type range statement does not support multiple values]( https://github.com/clicon/clixon/issues/59 )
...
[Multiple ranges support](https://github.com/clicon/clixon/issues/78 )
Restructured "cb" parameter in cli_generate.c
2019-03-04 14:36:43 +01:00
Olof Hagsand
ff3ff0daa9
* There was a problem with ordered-by-user for XML children that appeared in so\
...
me circumstances and difficult to trigger. Entries entered by the user did not \
appear in the order they were entered. This should now be fixed by adding an enumeration to xml children for sorting ordered by user properly
2019-02-27 18:20:23 +01:00
Olof Hagsand
ceb5df2050
* New xml_isancestor xml function
...
* Fixed memleak test for upgrade
2019-02-27 16:33:51 +01:00
Olof Hagsand
f035c3ca23
* Removed all dependency on strverscmp
...
* Added libgen.h for baseline()
2019-02-27 10:46:05 +01:00
Olof hagsand
2394c6f46e
Merge branch 'modules-state'
2019-02-26 16:53:59 +01:00
Olof hagsand
560110b4e8
* New backend startup and upgrade support, see [doc/startup.md] for details
...
* Datastore files contain RFC7895 module-state information
2019-02-26 15:48:15 +01:00
Dave Cornejo
e282493095
FreeBSD compatibility & pedanticism patches
...
use ETIMEDOUT rather than ETIME - this seems more the intent of its
usage here and it compiles under FreeBSD & Linux.
in yang_spec_parse_file() the function basename() is not declared,
the declaration is in libgen.h, so include it. also basename() takes
char * for its argument not const char *, yang_spec_parse_file()
has to be changed to char *filename to compile w/o warnings
2019-02-22 19:59:14 -10:00
Olof hagsand
3c332b689f
Added cache for modules-state RFC7895 to avoid building new XML every get call
2019-02-21 15:06:20 +01:00
Olof hagsand
83edd29678
Revert "Revert "* Added valgrind memory leak tests in testmem.sh for restconf""
...
This reverts commit a73d2bd242 .
2019-02-20 16:25:42 +01:00
Olof hagsand
a73d2bd242
Revert "* Added valgrind memory leak tests in testmem.sh for restconf"
...
String error
This reverts commit 6e63f0a77b .
2019-02-20 16:19:07 +01:00
Olof Hagsand
6e63f0a77b
* Added valgrind memory leak tests in testmem.sh for restconf
...
* Added clicon_socket_set() and clicon_socket_get() functions for cleaning up backend server and restconf FCGI socket on termination.
* Removed obsolete `-x` command-line option to clixon_cli.
2019-02-20 13:06:18 +01:00
Olof hagsand
ea8c84a372
Added new log function: clicon_log_xml() for logging XML tree
2019-02-13 11:35:49 +01:00
Olof Hagsand
9cf4b0139a
compile on alpine
2019-02-11 17:44:29 +01:00
Olof hagsand
14343810ca
xml_cmp() compares numeric nodes based on string value [ https://github.com/clicon/clixon/issues/64 ]
2019-02-04 11:49:53 +01:00
Olof hagsand
02d725b2c0
* xml_cmp() respects 'ordered-by user' for state nodes, which violates RFC 7950 [ https://github.com/clicon/clixon/issues/63 . (Thanks JDL)
2019-02-03 16:19:33 +01:00
Olof hagsand
1e4022e73c
NACM cleanup, uniform rule function, change of function names, etc.
2019-02-02 11:35:50 +01:00