Olof Hagsand
034ab632f1
* C-API: Added vlev validate level parameter to candidate_commit
...
* `vlev` : validate level
2023-01-29 20:02:56 +01:00
Olof Hagsand
a8e13047fc
* YANG schema mount RFC 8528, state data
2023-01-27 15:11:08 +01:00
Olof hagsand
51ebbdf12f
* C-API: Added clicon_handle parameter to all xml_bind_* calls
2023-01-27 14:56:58 +01:00
Olof hagsand
da9bfcbb53
* Changed debug levels in clicon_debug() to be based on maskable flags
...
* Added flag names: `CLIXON_DBG_*`
* Added maskable flags that can be combined when debugging:
* `DEFAULT` = 1: Basic debug message, espcially initialization
* `MSG` = 2: Input and output packets, read datastore
* `DETAIL` = 4: Details: message dump in hex, xpath parse trees, etc
* `EXTRA` = 8: Extra detailed logs
* Test: some errors in yang-lib where content-id was in wrong place
2023-01-27 14:56:58 +01:00
Olof Hagsand
b3dcee9639
* YANG schema mount RFC 8528, Initial commit (work in progress)
...
* Keep track of YANG unknowns with ys_cvec of EXTENSION
* C-API: Init ys_cvec to NULL, added yang_cvec_add() and adjusted code to use it
2023-01-20 16:16:02 +01:00
Olof hagsand
923b998774
* Fixed: Initialized session-id to 1 instead of 0 following ietf-netconf.yang
...
* Clearer debug levels `clicon_debug()`:
1: Logical debug message
2: Input and output packets
3: Message dump in hex, xpath parse trees
2023-01-18 15:51:31 +01:00
Olof hagsand
0324135043
Loosened strict RFC6022 session transport requirement due to race condition in clixon_snmp
2023-01-16 11:03:21 +01:00
Olof Hagsand
bc6cc2b31f
C-API: All calls to clicon_log_xml() changed to new function `clicon_debug_xml()\
...
Debugging, moved many detailed debugs from level 1 to 2
2023-01-15 13:17:58 +01:00
Olof hagsand
3916fa919c
Netconf monitoring RFC 6022 Sessions ( https://github.com/clicon/clixon/issues/370 )
...
- statistics and transport/source-host parameters
- extended internal NETCONF hello with transport and source-host attributes
clixon-lib,yang
- Moved all extended internal NETCONF attributes to the clicon-lib namespace
C-API:
- wrapped most attribute creation into new fn xml_add_attr()
2023-01-15 12:36:59 +01:00
Olof Hagsand
ddfcb9716c
C-API: Add yang_parse_post() as externally accessible
2023-01-03 21:46:58 +01:00
Olof Hagsand
99c6f61637
Enhanced for client-side functionality:
...
- parse of yang from string, not only file
- Decode of xml encoding, not only decoding
2023-01-02 21:29:28 +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
62b40a9397
Netconf monitoring RFC 6022: datastores
2022-12-23 14:47:10 +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
Jan-Olof Carlson
e8048fa434
Conditional compilation to support report-all default retrieval
2022-12-20 10:14:09 +00: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
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
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
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
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
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
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
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
Olof hagsand
51d1a2d41c
Improved netconf error handling for data-not-unique and missing-choice
...
* Follows RFC7950 Sec 15.1 and 15.6 more closely
* Fixed: [When multiple lists have same key name, need more elaborate error message in case of configuration having duplicate keys](https://github.com/clicon/clixon/issues/362 )
2022-09-19 14:58:16 +02: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
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
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
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
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
Jan-Olof Carlson
14cc88ca39
Added parameter defaults to library function clicon_rpc_get
2022-08-29 18:27:07 +02:00
Jan-Olof Carlson
6bee1746e0
RFC8040 4.8.9. RESTCONF with-defaults Query Parameter
2022-08-29 18:27:07 +02:00
Jan-Olof Carlson
0a20348b3b
rfc6243 with-defaults Capability for NETCONF
2022-08-29 18:27:07 +02:00
Olof hagsand
9a5504eed0
Fixed: [Issues with ietf-snmp modules]( https://github.com/clicon/clixon/issues/353 )
2022-08-18 18:07:29 +02:00
Olof hagsand
5ac8bd2d03
Updated ietf-list-pagination YANGs to revision 2022-07-24
2022-08-12 16:13:32 +02:00
Olof hagsand
7d8ddf7697
Restconf RFC8071 call-home first working prototype
2022-07-31 09:59:52 +02:00
Olof hagsand
9d65fb81d7
* Break-out RFC 7950 Section 6.1 tokenization
...
* This enables full string lexical parsing of some rules previously not fully compliant, including:
* refine
* user-augment
* if-feature
* Also solves previous tokenization issues
2022-07-25 09:25:11 +02:00
Olof hagsand
4514f2a538
Fixed: ["autocli:hide-show" extension cause bug in xmldb_put method #343 ]( https://github.com/clicon/clixon/issues/343 )
...
As a side-effect, added extra "autocliext" parameter to:
- clixon_xml2file()
- clixon_json2file()
- clixon_json2cbuf()
- clixon_txt2file()
2022-07-22 16:06:28 +02:00
Olof hagsand
89f8567f75
Refactoring of if-feature parse code
...
Moved if-feature sub-parser to clixon_yang_parse_sub.[ch]
2022-07-20 22:48:09 +02:00
Olof hagsand
6f7a33d196
SNMP frontend, new preli table handling code
...
Skipped data set and use table-helper only
Specialized SNMP error handling
2022-06-26 11:28:42 +02:00
Olof hagsand
05f3ebb59e
SNMP frontend: SNMP2YANG type conversion for snmpset
2022-06-26 11:28:42 +02:00