Commit graph

1386 commits

Author SHA1 Message Date
Olof hagsand
0df023c70e Typo in xpath ilen
Doc of backend code
2023-01-02 21:21:37 +01:00
Olof hagsand
6fedf65de7 C-API: Changed type of veclen parameter to size_t in xpath_vec_flag()
Rewrite of sed -e to be portable to freebsd
2022-12-29 15:49:19 +01:00
Olof hagsand
5b9921933a Freebsd socketpair include problems and lack of TAB in vagrant Makefile 2022-12-27 11:58:13 +01:00
Olof hagsand
ca23b63a4e Fixed: [leafref in new type no work in union type](https://github.com/clicon/clixon/issues/388) 2022-12-27 11:29:22 +01:00
Olof hagsand
fb45085491 Include fix: need sys/time.h 2022-12-23 15:14:12 +01:00
Olof hagsand
62b40a9397 Netconf monitoring RFC 6022: datastores 2022-12-23 14:47:10 +01:00
Olof hagsand
1eefadfc74 Fixed memory leak in xmld database put code
C: refactored choice validate code
2022-12-22 17:32:40 +01:00
Olof hagsand
b67ef69b7f Fixed: XPath evaluation of two nodes reverted to strcmp even if both were numbers 2022-12-22 16:42:41 +01:00
Olof hagsand
ffe918dd0e Fixed: [Defaults in choice does not work properly](https://github.com/clicon/clixon/issues/390)
C: Added new file clixon_xml_default.[ch] and moved all default handling there
2022-12-22 12:13:20 +01:00
Olof hagsand
7e92f67f4f RFC6022 montoring fix: submodules should report main module's namespace 2022-12-20 20:09:18 +01:00
Olof Hagsand
29eb22d47c
Merge pull request #389 from clicon/issue#384
Issue#384: with-defaults basic-mode is not honored on get-config
2022-12-20 14:03:39 +01:00
Olof hagsand
8db7892e38 sanity checkof xret in param
test: updated to new openconfig network-instance version
2022-12-20 13:47:08 +01:00
Jan-Olof Carlson
e8048fa434 Conditional compilation to support report-all default retrieval 2022-12-20 10:14:09 +00:00
Olof Hagsand
f46d675370 Netconf: remove operations attribute from edit-config operations
Added `ISO/IEC 10646` encodings to XML parser: `&#[0-9]+;` and `&#[0-9a-fA-F]+;`
2022-12-20 09:38:42 +01:00
Olof hagsand
0d41d49fa9 Moved with-defaults processing from get(-config) to xmldb_get when reading db
With-defaults: fixed cornercase in xpath used in list pagination
C-API: Added `with-defaults` parameter (default 0) to `xmldb_get0()`
2022-12-18 19:59:02 +01:00
Olof Hagsand
e885d63f68 Minor doc and err handling fixes 2022-12-16 10:48:28 +01:00
Olof Hagsand
6baa904039 Added CLIXON_CLIENT_SSH to client API to communicate remotely via SSH netconf sub-system
configure: stringified SSH_BIN
C-API: Added `sock_flags` parameter to `clixon_proc_socket()`
2022-12-08 15:13:05 +01:00
Olof hagsand
100f15b699 Add SSH_BIN compile-time option
Clarify documentation of internal netconf message struct
2022-12-07 12:15:08 +01:00
Olof hagsand
a38c54e4cc Netconf monitoring:
- Announce module capability
- Return origin Yang file in get-schema
2022-12-04 13:10:14 +01:00
Olof hagsand
c94e9dad67 Feature Request: Support RFC 6022 (NETCONF Monitoring)
* Added capabilities and schema state, and get-schema rpc
* New `clixon-config@2022-11-01.yang` revision
  * Added option:
    * `CLICON_NETCONF_MONITORING`
    * `CLICON_NETCONF_MONITORING_LOCATION`
2022-11-28 15:53:24 +01:00
Olof hagsand
8ebab16c4c Add proper error message if namespace not found in module-set header 2022-11-28 13:50:41 +01:00
Olof hagsand
2cdc78c576 Fixed static compile of util validate
FIxed mem-leaks on xpath errors
Test: valgrind of confirmed-commit
2022-11-25 17:57:24 +01:00
Olof hagsand
e27336e054 C-API change yang_print: print top-level and add pretty-print parameter
Test: Fix valgrind dlclose suppresion
2022-11-24 17:42:48 +01:00
Olof hagsand
05372c86fc Added copyright for cjson code 2022-11-23 09:59:26 +01:00
Olof hagsand
a9a82d6e0c Load RFC6022 ietf-netconf-monitoring, first step 2022-11-23 09:54:56 +01:00
jiangxiaoming
4839a633e3 add regex unicode match support 2022-11-23 11:35:41 +08:00
Olof hagsand
caef594dbe Error handling for CLI
Continue, do not exit on read/expand errors
Accept -1 error without clicon_err in callbacks / expand
C-API: Three-value return of clicon_cliread
2022-11-19 11:11:08 +01:00
Olof hagsand
f82ce896a9 Typos and docker test fix for ubuntu-22.04 2022-11-10 11:40:54 +01:00
Olof hagsand
d5c657bde3 Removed YANG_ORDERING_WHEN_LAST compile-time option (obsolete since 5.4) 2022-11-07 10:47:08 +01:00
Olof hagsand
1683723b1d Removed JSON_CDATA_STRIP compile-time option (obsolete since 5.4) 2022-11-07 10:07:10 +01:00
Olof hagsand
4b21a05bcc Fixed IDENTITYREF_KLUDGE removal #2 2022-11-07 09:19:29 +01:00
Olof hagsand
b0f898cf66 Fixed: [Yang identityref XML encoding is not general](https://github.com/clicon/clixon/issues/90)
* Revisiting this issue now seems to work, there are no regressions that fail when disabling IDENTITYREF_KLUDGE.
2022-11-05 12:07:44 +01:00
Olof hagsand
779fcf5458 Fixed xpath crashes discovered by fuzzing
Added fuzz code for xpath
Test: added negative xpath tests
2022-11-04 17:45:54 +01:00
Olof hagsand
05cdbf5c4f * List-pagination: Adhere to ietf-draft: Removed list-pagination "presence"
* Remove default expansion in NETCONF client
* C-API: Added `expanddefault` parameter to `xml_yang_validate_rpc()`
2022-11-02 11:25:06 +01:00
Olof hagsand
e3d621c66d Fixed: SEGV when using NETCONF get filter xpath and non-existent key
* eg `select="/ex:table[ex:non-exist='a']`
2022-11-01 11:13:40 +01:00
Olof hagsand
56f4bb45cc * Added PRETTYPRINT_INDENT compile-time option controlling indentation level for XML,JSON and TEXT
* Default value is `3`
2022-10-31 14:20:14 +01:00
Olof hagsand
1830381249 Fixed CLI show config JSON pretty-print, removed too many spaces
Test: added CLI show config tests for prett-print and cli_show_config()
2022-10-31 11:26:53 +01:00
Olof hagsand
c93f264215 Added final \n to JSON pretty-print output
This was a correction of fix to: [CLI Show config JSON with multiple top-level elements is broken](https://github.com/clicon/clixon/issues/381)
2022-10-29 16:06:15 +02:00
Olof hagsand
83f71529d7 Fixed: [CLI Show config JSON with multiple top-level elements is broken](https://github.com/clicon/clixon/issues/381)
C API: Added skiptop parameter to xml2json_vec
2022-10-28 15:19:41 +02:00
Olof hagsand
d84c529ff1 [Code formatting: Change indentation style to space](https://github.com/clicon/clixon/issues/379)
* Applies to all c/h/y/l/sh files and .editorconfig
2022-10-27 14:21:17 +02:00
Olof hagsand
7976303ef2 Confirmed-commit handle drop privileges
Create and drop priv of rollback datastore on startup
Reverted xmldb to truncate instead of deleting datastores due to privileges drop
2022-10-26 14:39:47 +02:00
Olof hagsand
62e652bbcf Confirm-commit refactoring
Moved commit-confirm code to backend_confirm.c and removed (almost all) globals vars
2022-10-24 10:54:51 +02:00
Olof hagsand
1eb78a78f8 Fixed: [YANG when condition evaluated as false combined with a mandatory leaf does not work](https://github.com/clicon/clixon/issues/380)
Replaced yang_mandatory() with yang_xml_mandatory() by extending existing it with when check
2022-10-17 13:49:55 +02:00
Olof hagsand
dd1e5966fb Test: killed backend in snmp tests 2022-10-08 17:19:24 +02:00
Olof hagsand
575429caa1 * Fixed: [Non-obvious behavior of clixon_snmp after snmpset command when transaction validation returns an error](https://github.com/clicon/clixon/issues/375)
* Changed `clicon_rpc_commit()` and `clicon_rpc_validate`: Added three-value return.
2022-10-08 17:17:04 +02:00
Olof hagsand
11eccd5478 Confirm commit:
- Removed confirm-commit 1.0 capability (only 1.1 present)
- Made startup capability conditional (as confirmed-commit)
- Fixed startup error when rollback did not exist
- Adjust snmp commit calls
- Move failsafe to lib
- Test: Minimized test application, test capability
2022-10-07 16:04:31 +02:00
Phil Heller
8abcda6f85 confirmed-commit fixes, tests
- fixed typo preventing evaluation of confirmed-commit logic in backend_startup
- fixed uninitialized variable warnings
- added details to CHANGELOG.MD
- added capabilities advertisement for confirmed-commit 1.0 and 1.1
- added xml hello message that uses only eom framing, for simplicity in asynch tests
- add stty restore after wait_restconf to fix console corruption in tests
- adjust test_confirmed_commit to drop perms and run as the invoking user.  This will require running user to have permissions on /usr/local/var/example
- added CLI tests
2022-10-03 21:47:09 -06:00
Phil Heller
284316b646 Initial implementation of NETCONF confirmed-commit 2022-10-03 21:44:35 -06:00
Olof hagsand
4a5e0c1832 C API: Exposed clicon_log_str() 2022-10-03 10:33:07 +02:00
Olof hagsand
bae92488e9 * Added defaults parameter to clicon_rpc_get_pageable_list()
* Test: Replaced bash coverage script with binary
2022-09-28 15:16:02 +02:00