Commit graph

152 commits

Author SHA1 Message Date
Olof hagsand
9df084958e Add debug trunc flags for parsing and message 2025-02-17 10:23:15 +01:00
Corey Minyard
3a1aa4052f netconf: Generalize the error reporting interface
Add some functions to report general XML errors and switch over the
internal functions in netconf to use the new interface.  This prepares
the way for reporting RPC errors from plugins.

Signed-off-by: Corey Minyard <minyard@acm.org>
2025-01-30 15:21:24 +01:00
Olof hagsand
30f9e174fa Add ping to cli example, misc debug 2024-12-05 15:37:09 +01:00
Olof hagsand
be5a7c418a Fixed Debug -D msg: dont show length in detailed debug 2024-11-27 10:55:34 +01:00
Olof hagsand
030dd89b83 Debug -D msg: dont show length in detailed debug 2024-11-23 10:54:01 +01:00
Olof hagsand
fa93364953 Restconf mem leak 2024-10-22 12:44:49 +02:00
Olof hagsand
315e554637 Test: mem test delays
Yang-lib capabilty fix
2024-10-21 23:47:06 +02:00
Mykola Perehudov
03f153d6fa Change yang-library version 2024-10-21 13:09:43 +02:00
Olof hagsand
ba40f5a929 Move debug msg to msg+detail, only msg length in debug level msg
Move log warning of namespace mismatch to debug
2024-09-27 14:45:08 +02:00
Olof hagsand
275cefbae7 Moved map functions from clixon_string to _map, new ptr2ptr map 2024-08-10 13:42:37 +02:00
Olof hagsand
816238029d Fixed: [NETCONF error reply from failed leafref rquire-instance does not comply to RFC 7950](https://github.com/clicon/clixon/issues/53 2024-07-22 09:18:27 +02:00
Olof hagsand
03a9c03b1c Fixed: backend exit when receiving invalid NETCONF get select XPath
Added XML encoding to XPaths in `select` attribute
2024-05-15 13:44:12 +02:00
Olof hagsand
6b8f7754b8 Fixed: [If services add duplicate entries, controller does not detect this](https://github.com/clicon/clixon-controller/issues/107)
Rename function `xml_yang_minmax_recurse()` -> `xml_yang_validate_minmax()`
2024-03-07 08:38:40 +01:00
Olof hagsand
e4834b9896 NETCONF internal: Enable RFC 6242 chunked encoding 2024-02-27 13:22:50 +01:00
Olof hagsand
391179730e ADdded proper include files from previous withdefault patch 2024-01-26 10:08:13 +01:00
Philip Prindeville
cf2e27b43d Drop __FUNCTION__ from clixon_debug() calls 2024-01-11 17:29:37 +01:00
Philip Prindeville
063c8d664f Messages can't be DETAIL alone so pair with DEFAULT 2024-01-10 20:06:38 +01:00
Olof hagsand
9e54f0602f Changed ca_errmsg callback to a more generic variant
Includes all error, log and debug messages
See [Customized NETCONF error message](https://github.com/clicon/clixon/issues/454)
2024-01-05 16:41:53 +01:00
Olof hagsand
0fff9d8ef5 Fixes after coverity analysis 2023-12-30 19:49:03 +01:00
Olof hagsand
f25a77734e More updates for Error/Log/Debug API changes 2023-12-18 17:19:14 +01:00
Olof hagsand
24a4991ec8 Restructured error,debug anf log API
Renamed functions clicon->clixon, replaced global variables w access functions
Unified clicon_netconf_error with clixon_err()
2023-12-18 08:29:14 +01:00
Olof hagsand
2f81a086c8 Fix for the previous netconf_err2cb commit 2023-12-14 11:24:53 +01:00
Olof hagsand
7713e79dc2 Netconf error callback resilient to prefixes
Reformat json code
2023-12-14 10:08:34 +01:00
Olof hagsand
bbcb4a7b03 Creator attribute changes: added as xmldb metadata
clixon-config.yang: New revision and Added `CLICON_NETCONF_CREATOR_ATTR` option
clixon-lib.yang: Added creator meta
Changed return value of xml_add_attr
2023-11-28 14:44:01 +01:00
Olof hagsand
978586a493 Fixed customized errors: fcgi and snmp 2023-10-26 15:32:25 +02:00
Olof hagsand
5bdad1870e New feature: [Customized NETCONF error message](https://github.com/clicon/clixon/issues/454)
* Added new callback `.ca_errmsg`
* Changed signature of `clicon_netconf_error()` and `netconf_err2cb()`
2023-10-26 14:59:51 +02:00
Olof hagsand
62348fc9c7 C-style update: Unified comment, retvals in order, remove trailing spaces
Changed function name for `clicon_debug` functions
2023-10-23 09:58:13 +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
e7c9f3d075 Unified netconf input function
First for external use, later internal
2023-04-20 21:28:01 +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
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
1e136bc9df Added clicon_data_init API, and yang_mount_get API
Moved dynamic options from options to data API
2023-03-12 21:04:23 +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
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
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
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
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
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
a9a82d6e0c Load RFC6022 ietf-netconf-monitoring, first step 2022-11-23 09:54:56 +01: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
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
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
26ab7e78ce Fixed: XML encoding of with-default capability not done 2022-09-24 11:50:36 +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
Jan-Olof Carlson
2f0f1ef5a7 FC6243 with-defaults=report-all-tagged test cases and implementation added 2022-08-29 18:29:31 +02:00
Jan-Olof Carlson
8154943380 Server uses the explicit basic mode 2022-08-29 18:29:31 +02:00
Jan-Olof Carlson
9771feebf3 RFC6243 with-defaults=trim test cases and implementation added 2022-08-29 18:29:31 +02:00
Jan-Olof Carlson
0a20348b3b rfc6243 with-defaults Capability for NETCONF 2022-08-29 18:27:07 +02:00