Commit graph

1121 commits

Author SHA1 Message Date
Olof hagsand
79d1d2e95a * Fixed: [xpath // abbreviation does not work other than on the top-level](https://github.com/clicon/clixon/issues/435) 2023-06-21 11:45:49 +02:00
Olof hagsand
0460c093cc Moved datastore-format datastype from clixon-config.yang to clixon-lib.yang 2023-06-20 10:06:52 +02:00
Olof hagsand
a1e7c6f126 Modified backend exit strategy so that 2nd ^C actually exits
Copied creator cvec if modified with REPLACE
2023-06-13 13:34:57 +02:00
Olof Hagsand
53ceb35d51 New clixon-autocli.yang version with skip and alias extensions 2023-06-10 11:46:27 +02:00
Olof hagsand
8091b4ab7e Added fdkeep parameter to clixon_process_register 2023-06-08 15:51:16 +02:00
Olof hagsand
8598fca688 Add gid to clixon_process_register() for drop privs 2023-06-02 13:38:00 +02:00
Olof hagsand
080eef0278 C-API: Added cli_process_control(), added uid to cli_process_control() 2023-06-01 17:50:23 +02:00
Olof hagsand
bd6a67f1d9 New clixon-config@2023-05-01.yang revision
Added options: CLICON_CONFIG_EXTEND
2023-06-01 17:43:17 +02:00
Olof hagsand
b3a7e39d26 C-API: Added specialized xml_child_each_attr function to counter perf issue 2023-05-29 12:25:39 +02:00
Olof hagsand
a97a66cb92 Performance: A change in the merge code made "co-located" config and non-config get retrieval go considerable faster. 2023-05-29 10:47:00 +02:00
Olof hagsand
307a992f36 * Added output function to JSON output:
* `xml2json_vec(...,skiptop)` --> `xml2json_vec(..., cligen_output, skiptop)`
2023-05-17 16:25:35 +02:00
Olof hagsand
ad07eb3adf API change: remove yang2cli_yspec last argument printgen, removed obsolete: `cli_auto_show() 2023-05-11 16:57:19 +02:00
Olof hagsand
b6116261a3 * Restructured and extended <stats> rpc to schema mountpoints
* New revision of clixon-lib.yang
* CLI: Added `show statistics` example code for backend and CLI memory stats
2023-05-05 17:54:10 +02:00
Olof hagsand
a0df12134a Fixed: [if-feature always negative if imported from another module](https://github.com/clicon/clixon/issues/429)
Apply styleguide to snmp patch
2023-05-05 17:54:10 +02:00
Olof hagsand
e8a8b17e1b Removed obsolete compile options introduced in 6.1:
`NETCONF_DEFAULT_RETRIEVAL_REPORT_ALL` and `AUTOCLI_DEPRECATED_HIDE`
2023-05-05 08:55:47 +02:00
Olof hagsand
bd5b51d860 CLI edit modes and mountpoints 2023-05-03 17:52:10 +02:00
Olof hagsand
5d1c6b5759 Preparations for 6.2.0
Openssl 3.0 and autoconf 2.71
2023-04-29 16:23:54 +02:00
Olof hagsand
447b8eb1d3 test fix breaking actions. Minor doc changes 2023-04-25 16:22:25 +02:00
Olof hagsand
54dc7a9a57 Fixed RESTCONF race conditions on SSL_shutdown sslerr ZERO_RETURN appears occasionally and exist. 2023-04-25 16:14:14 +02:00
Olof hagsand
e7c9f3d075 Unified netconf input function
First for external use, later internal
2023-04-20 21:28:01 +02:00
Olof hagsand
c56d5aa44e Fixed: RESTCONF: some client cert failure leads to restconf exit
Instead close and continue
2023-04-18 10:10:52 +02:00
Olof hagsand
6335f810d3 C-API: clixon_xml2file and clixon_xml2cbuf added prefix argument
Added in-mem xml diff function: `xml_tree_diff_print`
2023-04-12 10:44:58 +02:00
Olof hagsand
819a0b5a9e New clixon-lib@2023-03-01.yang revision
* Added creator meta-object
2023-04-11 13:50:45 +02:00
Olof hagsand
45d8e5b6ce C-API xmldb_validate() removed. compare_db_names() added. 2023-04-09 21:13:12 +02:00
Olof hagsand
da2edceb7e * Added new functions: xml_tree_equal and xpath2xml
* RFC 8528 yang schema mount-points:
  * Made expand_dbvar and cli_dbxml mountpoint-aware (RFC 8528)
  * autocli supportgenerate
  * Made api_path2xml and xml2api_path mount-point-aware
  * Temporar fix in clixon_custom.h: XPATH_CANONICAL_SKIP_CHECK
* `xml2xpath()`: Added `apostrophe` as 4th parameter, default 0
* removed extra assert.h includes
2023-03-23 22:16:33 +01:00
Olof hagsand
5822c1a72a * clicon_msg_rcv: Added intr parameter for interrupting on ^C (default 0)
* Internal NETCONF (client <-> backend)
  * Ensure message-id increments
  * Separated rpc from notification socket in same session
* Removed coverage icon from homepage since it stopped working some time ago
2023-03-08 21:41:29 +01:00
Olof hagsand
1f5df800bc Restconf: Added fallback mechanism for non-ALPN HTTPS
* Set `CLICON_RESTCONF_NOALPN_DEFAULT` to `http/2` or `http/1.1`
  * For http/1 or http/2 only, that will be the default if no ALPN is set.
2023-03-03 16:05:31 +01:00
Olof hagsand
5f2978d06c Files: Rearranged backend .h files: moved client_entry to clixon_backend_client.h 2023-03-03 16:05:31 +01:00
Olof hagsand
55422f4187 PERF: Added a recurse parameter to xml_yang_minmax_recurse() to avoid "double recursion"
C-API: `candidate_commit()`: validate_level (added in 6.1) marked obsolete
2023-02-23 11:42:15 +01:00
Olof hagsand
411a67f9d6 Start of 6.2.0.PRE development.
Removed autoconf requirement to have libcurl
2023-02-20 09:40:12 +01:00
Olof hagsand
72a4494b69 Clixon 6.1
Reviewed documentation, changelog, etc
2023-02-19 11:35:37 +01:00
Olof hagsand
994632daac Test adaption to new openconfig version
Last minute changes to readme:s before 6.1.0
2023-02-18 12:10:58 +01:00
Olof hagsand
585e725aec Yang schema mount: replaced config --enable-yang-schame-mount with runtime option CLICON_YANG_SCHEMA_MOUNT
Added config and validation-level as parameters to ca_yang_mount
2023-02-17 16:39:39 +01:00
Olof hagsand
0ef0970c04 Implemented: [Request to suppress auto-completion for "deprecated" / "obsolete" status and warn the user.](https://github.com/clicon/clixon/issues/410) 2023-02-14 16:42:43 +01:00
Olof hagsand
d358387d39 * Fixed: [State XML validation error when CLICON_MODULE_LIBRARY_RFC7895=true and ietf-yang-libra$
* Removed obsolete option: `CLICON_MODULE_LIBRARY_RFC7895'
  * Obsolete config options given in the confi file are considered an error
* Added section in CONTRIBUTING relating to optimzation
* Changed reset merge to implicit default values.
  * This avoids a potential overwriting of explicitly set default values in the existing config
* Adapted some code to [Make cligen_* functions const ](https://github.com/clicon/cligen/pull/83)
* Test: fixed test for * Fixed: [datamodel tree generated from basemodel tree is not proper when a list has more than one key and key is of enum type](https://github.com/clicon/clixon/issues/417)
2023-02-12 16:19:27 +01:00
Olof Hagsand
a5220805b1 New plugin callback: ca_yang_patch - for modifying existing YANG modules
C-API: Added `spec` parameter to `xml2xpath()`
2023-02-05 14:14:57 +01:00
Olof Hagsand
48a0fb9968 Sanity checks for incoming internal netconf
Hex debug of messages
2023-02-05 14:14:57 +01:00
Olof hagsand
6681eb99d3 Netconf monitoring statistics frm RFC 6022 2023-02-04 17:13:45 +01:00
Olof hagsand
af1f5a037d Fixed: [SNMP: snmpwalk is slow and can timeout #404 ](https://github.com/clicon/clixon/issues/404)
Optimized yang_extension_value
2023-02-01 14:57:51 +01:00
Olof hagsand
91034e5361 YANG schema mount, added configure option --enable-yang-schema-mount 2023-01-30 11:49:11 +01:00
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
46137e1394 Fixed: [Netconf commit confirm session-id mismatch #407](https://github.com/clicon/clixon/issues/407) 2023-01-18 15:55:49 +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
3428f4d5ff Fixed: [snmpwalk doesn't show properly SNMP boolean values which equal false](https://github.com/clicon/clixon/issues/400) 2023-01-16 12:10:16 +01:00
Olof hagsand
000cb866c2 RFC 8525:
- Change from RFC 7805: Remove revision if empty instead of sending empty revision
RFC 6022
  - Added cli identity to RFC6022 transport
  - Added source-host for natove restconf, bit no other sessions
2023-01-15 22:44:00 +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