Commit graph

1069 commits

Author SHA1 Message Date
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
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
a3bb271432 cli show config json: add {} clause for empty 2022-11-19 11:13:27 +01: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
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
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
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
a9d1ab006c Confirmed commit: lock check on running 2022-10-26 20:18:57 +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
ba48521d99 Confirmed commit: removed is_valid_confirming_commit global variable 2022-10-26 11:00:44 +02:00
Olof hagsand
05b31508a1 * Fixed: [Non-obvious behavior of clixon_snmp after snmpset command when transaction validation returns an error](https://github.com/clicon/clixon/issues/375)
* Fixed by validating writes on ACTION instead of COMMIT since libnetsnmp seems not to accept commit errors
2022-10-25 16:32:48 +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
6f0bd01a6a Confirm-commit RESTCONF support 2022-10-18 10:56:14 +02:00
Olof hagsand
83663d4d15 Fixed: [Trying to change the "read-only" node through snmpset](https://github.com/clicon/clixon/issues/376) 2022-10-09 17:02:08 +02:00
Olof hagsand
aff69127b6 Fixed: [Trying to change the "config false" node through snmpset](https://github.com/clicon/clixon/issues/377)
* Fixed by returning `SNMP_ERR_NOTWRITABLE` when trying to reserve object
2022-10-09 11:59:26 +02:00
Olof hagsand
d2c3b903f1 SNMP: set commit fail error 2022-10-09 11:11:17 +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
d29c81fce0 Fixed: [clixon_snmp module crashes on snmpwalk command](https://github.com/clicon/clixon/issues/378) 2022-10-07 17:54:42 +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
954e5d56fd Fixed: [unneeded trailing zero character on SNMP strings](https://github.com/clicon/clixon/issues/367) 2022-10-03 18:39:32 +02:00
Olof hagsand
f0c8201762 Added warning if modstate is not present in datastore if is set 2022-10-03 10:29:48 +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
Olof hagsand
e3f3d772c7 Fixed: [message-id present on netconf app "hello"](https://github.com/clicon/clixon/issues/369) 2022-09-28 15:04:11 +02:00
Olof hagsand
6063d9a147 Fixed: [SNMP smiv2 yang extension doesn't work on augmented nodes](https://github.com/clicon/clixon/issues/366) 2022-09-27 15:47:48 +02:00
Olof hagsand
2ce77fdd5c Restconf: reset body buffer
Test: replace http2 with http1.1 instead of appending it
2022-09-23 14:48:55 +02:00
Olof hagsand
e0ba90207b Restconf callhome idle timer fix
Leak in restconf http/1 data path: when multiple packets in same connection.
2022-09-22 15:52:04 +02:00
Jan-Olof Carlson
b63918ff08 with-defaults added as RESTCONF capability information 2022-09-19 11:02:59 +00:00
Olof hagsand
3bf8a7dca3 Assigned meta-data for the ietf-netconf-with-defaults:default attribute for JSON (RFC8040 Sec 5.3.2) 2022-09-16 14:49:20 +02:00
Olof hagsand
a6f67755b3 Refactor of cli show commands:
- Changed `cli_show_config()`
- Removed `cli_show_config_state()`
- Replaced `cli_auto_show()` with `cli_show_auto_mode()`
2022-09-15 17:42:57 +02:00
Olof hagsand
9a224ea4a0 Fixed: [All values in list don't appear when writing "show <list>" in cli](https://github.com/clicon/clixon/issues/359)
CLISPEC change:
* Changed signature of `cli_show_auto()`,
* remove: `cli_show_auto_state()`
2022-09-15 09:48:08 +02:00
Olof hagsand
76c1566d00 Restconf callhome: idle-timeout activity timer 2022-09-14 10:43:34 +02:00
Olof hagsand
c1e4595949 Refactoring of RESTCONF/TLS close code
Single closing function: restconf_close_ssl_socket
Added constant HTTP_ON_HTTPS_REPLY for http request on https socket
2022-09-13 23:01:19 +02:00
Olof hagsand
51fca05642 With-defaults tagged: move wd attribute from <data> to level under
show cli: remove empty container
2022-09-09 13:46:20 +02:00
Olof hagsand
743076b171 With-defaults CLI support
Extended cli_auto_show() with with-defaults argument, also changing its signature
Example: Added with-defaults argument to clispec
C-API: Added with-defaults argument to clicon_rpc_get_config
Replaced with-defaults prefix/namespace with constants
2022-09-09 13:46:20 +02:00
Jan-Olof Carlson
42d5b6fba2 remove containers holding only default values 2022-09-09 13:46:20 +02:00
Olof hagsand
38f501be19 Extended purge argument to xml_defaults_nopresence to handle non-config case
Test: with-defaults: added headings to all test cases
2022-09-09 13:46:20 +02:00
Olof hagsand
71fc85af0b restconf: removed try to reply on http on https error, fails on openssl 3
test: pipe background restconf to /dev/null
2022-09-02 19:44:53 +02:00
Olof hagsand
2eb9c6cda1 Refactored YANG min/max validation code, created new clixon_validate_minmax.[ch]
Added new recursive minmax check for non-presence containers
This makes validation checks stricter, including check of incoming RPCs
Renamed xml_yang_check_list_unique_minmax() to xml_yang_minmax_recurse()
Fixed again: [YANG min-elements within non-presence container does not work](https://github.com/clicon/clixon/issues/355)
2022-09-01 18:29:17 +02:00
Olof hagsand
c8bf718db8 replace xml_nopresence functions with xml_defaults_nopresence 2022-08-29 18:29:31 +02:00
Jan-Olof Carlson
2e3a5a6334 Minor adjustments to follow clixon programming style 2022-08-29 18:29:31 +02:00
Olof hagsand
ad7232d1ad Added top-level namespaces when pruning XML tree for client rpc calls and restconf GET
Added new xmlns_set_all()
2022-08-29 18:29:31 +02:00