Olof hagsand
78aac85b18
Fixed [Makefile syntax error *** mixed implicit and normal rules #104 ]( https://github.com/clicon/clixon/issues/104 ). Make operator seems not to work on GNU make version < 4.
2020-03-11 13:16:04 +01:00
Olof hagsand
75b20936d3
Moved code from clixon_xml.c to namespace and io functions to reduce size of core xml file
2020-03-02 09:43:57 +01:00
Olof hagsand
451adfaf1f
* Explicit search indexes
...
* Added object-based `clixon_xvec` as a new programming construct for contiguous XML object vectors.
2020-02-28 12:16:16 +01:00
Olof hagsand
a674af6f2c
Cleaning up code for xml insignificant whitespace removal
...
Experimenal explicit index search code
2020-02-07 14:59:57 +01:00
Olof hagsand
e68753655b
Obsoleted and removed XMLDB format "tree". This function did not work. Only xml and json allowed.
2020-02-02 19:15:39 +01:00
Olof hagsand
7350ec1624
warnings in travis
2020-02-02 17:07:46 +01:00
Olof hagsand
19e21be0bc
Very large commit for upcoming 4.4 release
...
Major New features
* New and updated search functions using xpath, api-path and instance-id
* New search functions using api-path and instance_id:
* C search functions: `clixon_find_instance_id()` and `clixon_find_api_path()`
* Binary search optimization in lists for indexed leafs in all three formats.
* This improves search performance to O(logN) which is drastical improvements for large lists.
* You can also register explicit indexes for making binary search (not only list keys)
* For more info, see docs at [paths](https://clixon-docs.readthedocs.io/en/latest/paths.html ) and
[search](https://clixon-docs.readthedocs.io/en/latest/xml.html#searching-in-xml )
API changes on existing features (you may need to change your code)
* On failed validation of leafrefs, error message changed from: `No such leaf` to `No leaf <name> matching path <path>`.
* CLI Error message (clicon_rpc_generate_error()) changed when backend returns netconf error to be more descriptive:
* Original: `Config error: Validate failed. Edit and try again or discard changes: Invalid argument`
* New (example): `Netconf error: application operation-failed Identityref validation failed, undefined not derived from acl-base . Validate failed. Edit and try again or discard changes"
Minor changes
* Test framework
* Added `-- -S <file>` command-line to main example to be able to return any state to main example.
* Added `test/cicd` test scripts for running on a set of other hosts
* C-code restructuring
* clixon_yang.c partitioned and moved code into clixon_yang_parse_lib.c and clixon_yang_module.c and move back some code from clixon_yang_type.c.
* partly to reduce size, but most important to limit code that accesses internal yang structures, only clixon_yang.c does this now.
2020-02-02 15:52:30 +01:00
Olof hagsand
c1903916f9
* Created two sub-files (clixon_validate.c and clixon_api_path.c) from large lib/src/clixon_xml_map.c source file.
2020-01-01 11:12:54 +01:00
Olof hagsand
b340c36f79
Experimental optimized XPath, multiple keys
2019-12-31 13:29:25 +01:00
Olof Hagsand
d7bb96b9cf
FreeBSD modifications: Configure, makefiles and test scripts modification for Freebsd
2019-10-20 09:03:31 -10:00
Olof hagsand
27fd99e7cd
* Implemented backend daemon drop privileges after initialization to
...
run as non-privileged user
2019-09-14 18:34:32 +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
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
50ca7b7845
New XMLDB_FORMAT added: tree. An experimental record-based tree database for direct access of records.
2019-04-26 13:38:55 +02:00
Olof Hagsand
1b9ddaee28
Makefile avoid double yacc runs
2019-04-11 10:12:17 +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
a0abf8436e
XML chanelog revision
2019-03-25 10:42:27 +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
434f0b930e
Made Makefile concurrent so that it can be compiled with -jN
2019-03-21 10:40:00 +01:00
Olof hagsand
0103d58994
2019
2019-01-02 15:48:30 +01:00
Olof hagsand
e5c0b06cf9
Move NACM files from backend to lib src dir
2018-12-08 11:22:26 +01:00
Olof hagsand
a8f0aad411
* Yang parser is stricter (see cardinality below) which may break parsing of slack yang specs.
...
* YANG parser cardinality checked (only modules level yet)
* See https://github.com/clicon/clixon/issues/48
2018-11-18 20:55:57 +01:00
Olof hagsand
65c44b41e8
RFC 7895:
...
* Changed Netconf hello to single capabilty urn:ietf:params:netconf:capability:yang-library:1.0 according to YANG 1.1 RFC7950 Sec 5.6.4.
* Set by option: CLICON_MODULE_LIBRARY_RFC7895 - enabled by default
* Option CLICON_MODULE_SET_ID is set and changed when modules change.
2018-10-12 18:41:53 +02:00
Olof hagsand
0631be19cb
* Notification event streams enhancements
...
* Yang 1.1 notification support
* Event stream discovery support according to RFC 5277 Sec 3.2.5.1 (netconf) and RFC 8040 (restconf)
2018-09-18 22:49:29 +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
c71791f168
Added util directory containing test applications
2018-07-19 09:57:38 +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
Olof hagsand
85c4782e36
Dedicated xml,json,yang and xsl parser utility programs added
...
Sanity check of stdarg (...) added
Cleanup of error messages.
2018-06-17 19:40:06 +02:00
Olof hagsand
ea13727e97
* Removed cli callback vector functions. Set COMPAT_COMPAT_CLIV if you need to keep these functions in clixon_custom.h.
...
* Added --enable-debug.
2018-05-30 22:38:12 +02:00
Olof hagsand
7532fdde77
* INSTALLFLAGS added with default value -s(strip).
...
* For debug do: CFLAGS=-g INSTALLFLAGS= ./configure
2018-04-30 12:06:19 +02:00
Renato Botelho do Couto
dabf0e5918
Improve permissions and strip binaries
...
- Use 0755 for directories
- Use 0644 for libraries, includes and shared files
- Use -s (strip) parameter when installing binaries and libraries
2018-04-23 13:33:21 -05:00
Olof hagsand
efa72e9e6f
* Proper RFC 6241 Netconf error handling
...
* New functions added in clixon_netconf_lib.[ch]
* Datastore code modified for RFC 6241
* Remaining: validate, generic restconf and netconf code
2018-03-18 18:06:02 +00:00
Olof hagsand
38f0b446fa
2017->2018
2018-01-01 12:25:33 +01:00
Olof hagsand
4b92dbdc10
Optimized search performance for large lists by sorting and binary search
2017-12-27 11:34:47 +01:00
Olof hagsand
96a7ec86f0
Fixed DESTDIR make install/uninstall and break immediately on errors
2017-11-22 22:21:12 +01:00
Olof hagsand
14cfc46ce4
Apple Darwin port
2017-10-12 22:03:02 +02:00
Olof hagsand
85af4342dc
common plugin code, removed clixon_proc.c
2017-04-12 22:39:01 +02:00
Olof hagsand
f6b3e95100
Created xmldb plugin api
2017-04-09 22:53:48 +02:00
Olof hagsand
4169bd8d30
Ongoing: xmldb datastore plugin framework
2017-04-08 20:39:04 +02:00
Olof hagsand
eec5896797
internal netconf mods
2017-03-25 18:24:52 +01:00
Olof hagsand
2fcefda831
Change internal protocol from clicon_proto.h to netconf.
2017-03-25 11:10:50 +01:00
Olof hagsand
2e09f54d12
LDFLAGS
2017-03-14 20:46:58 +01:00
Olof hagsand
bc2b606167
dual license
2016-12-30 16:14:48 +01:00
Olof hagsand
887d43428b
json parser
2016-08-15 09:29:22 +02:00
Olof hagsand
0a812696c2
xmldb
2016-03-07 20:55:55 +01:00
Olof Hagsand
79b77943f9
renamed .h and libs clicon->clixon
2016-02-28 15:27:36 +01:00
Olof hagsand
5a45eca301
file rearrangement
2016-02-26 16:05:34 +01:00
Olof hagsand
d6e393ea58
Inital commit
2016-02-22 22:17:30 +01:00