Olof hagsand
f5209b1fab
* Fixed: Validation of user state data led to wrong validation, if state relied on config data, eg leafref/must/when etc.
...
* Fixed: No revision in yang module led to errors in validation of state data
2020-01-27 22:11:35 +01:00
Olof hagsand
64f73771d9
Fixed: Leafref validation did not cover case of when the "path" statement is declared within a typedef, only if it was declared in the data part directly under leaf.
2020-01-26 22:16:12 +01:00
Olof hagsand
6384fb89f1
Fixed: Yang xpath statements containing prefixes stopped working due to namespace context updates
2020-01-23 22:53:19 +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
50420cb262
Merge branch 'master' of https://github.com/clicon/clixon
2019-12-31 13:30:52 +01:00
Olof hagsand
b340c36f79
Experimental optimized XPath, multiple keys
2019-12-31 13:29:25 +01:00
Olof Hagsand
a87e9cb246
clang warnings
2019-12-23 14:03:42 +00:00
Olof hagsand
7fb452f96e
nacm external mem leak
2019-12-22 18:00:46 +01:00
Olof hagsand
b78054e7cf
State callback error message changed to include namespace and use proper <bad-element>
2019-12-21 20:50:55 +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
ab46ce9820
XML parser failed on ]]]> termination of CDATA.
2019-12-19 21:43:03 +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
ba2f40728b
[filter in netconf - one specific entry #100 ]( https://github.com/clicon/clixon/issues/100 )
2019-12-07 18:10:19 +01:00
Olof hagsand
46552066d1
Added nsc parameter to xmldb_get()
2019-12-02 20:55:28 +01:00
Olof hagsand
08b128f4d7
moved config yang spec from main functions to options_main function
2019-12-01 17:42:34 +01:00
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
69b27f3280
Added clicon_handle as parameter to all functions to get better error message
2019-11-30 22:19:23 +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
0d22a8b6d0
Yang files reorganized into three classes: clixon, mandatory, optional
2019-11-26 21:51:28 +01:00
Olof hagsand
9575d10887
use cbuf for xml value code
2019-11-18 21:16:12 +01:00
Olof hagsand
f2cad01fc6
Updated openconfig and yangmodels repos lead to some changed in testscript and a minor parsing lapsus
2019-11-16 17:34:18 +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
039e08f86a
[xml_parse_string() is slow for a long XML string #96 ]( https://github.com/clicon/clixon/issues/96 )
2019-11-14 20:57:20 +01:00
Olof hagsand
6b9a9d46f9
changed netconf_err2cb
2019-11-12 20:47:09 +01:00
Olof hagsand
58f3d7b59a
compile error
2019-11-11 21:52:21 +01:00
Olof hagsand
1defd2afc7
memleak
2019-11-11 21:47:03 +01:00
Olof hagsand
835f9030d2
* State callbacks provided by user are validated. If they are invalid an internal error is returned.
...
* Fixed multi-namespace for augmented state which was not covered in 4.2.0.
* The multi-namespace augment state may rearrange the XML namespace attributes.
* Mandatory variables can no longer be deleted.
2019-11-11 21:03:11 +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
84c94b2c0e
recover user as config option instead of constant
2019-10-24 20:43:03 +02: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
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
77b491c568
Demon->Daemon, FreeBSD grep changes
2019-10-14 07:47:08 -10:00
Olof Hagsand
0895ac7b0d
memleak
2019-10-10 20:38:08 +00:00
Olof hagsand
03acf8e19c
* XPATH canonical form implemented for NETCONF get and get-config.
2019-10-09 22:13:04 +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
3efd5703d6
memleak
2019-09-29 17:42:56 +00:00
Olof hagsand
d9136c8972
* Stricter handling of multi-namespace handling
...
* This occurs in cases where there are more than one XML namespaces in a config tree, such as `augment`:ed trees.
* Affects all parts of the system, including datastore, backend, restconf and cli.
* Invalid api-path syntax (eg non-matching yang) error changed from 412 operation-failed to 400 Bad request invalid-value, or unknown-element.
2019-09-29 14:45:08 +02:00
Olof hagsand
a547b3f31d
modified restconf err
2019-09-21 13:00:03 +02:00
Olof hagsand
22307e0a9e
Invalid api-path syntax error changed from 412 operation-failed to 404 invalid-value.
2019-09-21 11:26:03 +02:00
User Olof
8c18f2a86d
Configure and test modification for better Freebsd port
2019-09-20 06:09:48 -10:00
Olof hagsand
fe1aeda4f2
test env bash; freebsd config
2019-09-17 22:44:01 +02: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
3d5abb77f9
* Backend daemon drops privileges after initialization (to not run as root)
...
* New config option `CLICON_USER` with default value `clicon`
* Can also be set with `-U <user>` clixon_backend command-line option
2019-09-11 21:24:14 +02:00
Olof hagsand
6df434093e
* Restconf top-level operations GET root resource modified to comply with
...
RFC 8040 Sec 3.1
* non-pretty print remove all spaces, eg `{"operations":{"clixon-example:client-rpc":[null]`
* Replaced JSON `null` with `[null]` as proper empty JSON leaf/leaf-list encoding.
* [Cannot write to config using restconf example #91 ](https://github.com/clicon/clixon/issues/91 )
* Updated restconf documentation (the example was wrong)
* [clixon-lib yang revision file name update #92 ](https://github.com/clicon/clixon/issues/92 )
* Clixon-lib yang file had conflicting filename and internal yang revision.
* This was only detected in the use-case when a whole dir was loaded.
* Inserted sanity check in all yang parse routines.
* Committed updated clixon-lib yang file that triggered the error
2019-08-24 15:30:43 +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