Commit graph

545 commits

Author SHA1 Message Date
Olof hagsand
c353c6dcab Debug: Added PARSE debug flag 2024-05-15 13:51:18 +02:00
Olof hagsand
62a4b5feff Restconf native+http/1 + tls
Added command-line timeout -t <sec> to restconf
Example: Added programmable timeout to backend example
Test: updated for fcgi and native using internal timeouts
2024-05-13 23:13:05 +02:00
Olof hagsand
2b2a2ec1ad Restconf native stream support 2024-05-13 08:29:48 +02:00
Olof hagsand
ca701b0c1a Changed intermediate version numbers to be git-style, eg 7.0.0-39 instead of 7.1.0-PRE
* Changed datastore modstate to be last in file, as prior to 7.0
2024-05-08 16:51:45 +02:00
Olof hagsand
af36838b4c Changed -f /usr/local/etc/example.xml -> /usr/local/etc/clixon/example.xml everywhere 2024-05-07 12:27:51 +02:00
maverick0815
d2f3405ab6 Use yacc and lex as detected by autoconf to build restconf
Setup YACC and LEX via autoconf
On opensuse tumbleweed I had a build error because the wrong lex variant was used without this.

This is the same as in lib/src/Makefile.in
2024-04-29 21:00:21 +02:00
Olof hagsand
7e1a00669c Event priority. Backend socket has higher prio. 2024-04-25 14:58:41 +02:00
Olof hagsand
a1badc312e Fixes after coverity static analysis 2024-03-03 17:05:36 +01:00
Olof hagsand
4138f390d4 Internal framing: fcgi error
CLI continue error
enable msg recv interrupt
2024-02-28 20:38:33 +01:00
Olof hagsand
520f8a9a42 Remove propriatary internal framing functions
Changed send/rcv API using NETCONF 10 and 11 suffixes
2024-02-28 13:38:32 +01:00
Olof hagsand
9bc60abe2e Fixed memory leaks at -V 2024-02-18 22:42:55 +01:00
Olof hagsand
ff171afd65 Added debug level INIT 2024-02-17 22:16:56 +01:00
Olof hagsand
3b0b734de1 Fix same -V version string
Restconf exit segv
2024-02-17 22:11:35 +01:00
Olof hagsand
d660c01a58 Optimization of xldb_put
Added flags parameter to default functions
removed call to bind
2024-02-06 09:27:51 +01:00
Olof hagsand
4e3bd6fbdd Symbolic and combined debug names in cmd-line of all applications
New debug levels: BACKEND, CLI, NETCONF,RESTCONF, SNMP, STREAM
2024-02-02 11:54:12 +01:00
Olof hagsand
121cd3ed2e Debug: ensured all exit logs are on the format: retval:%s 2024-01-24 10:03:28 +01:00
Philip Prindeville
cf2e27b43d Drop __FUNCTION__ from clixon_debug() calls 2024-01-11 17:29:37 +01:00
Philip Prindeville
0ec1e0a686 Discriminate APP debugging 2024-01-10 20:06:38 +01:00
Philip Prindeville
86667a0190 Don't use literal for CLIXON_DBG_XXX 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
261469be16 Feature: [Add support for -V option to give version](https://github.com/clicon/clixon/issues/472) 2023-12-14 23:10:51 +01:00
Olof hagsand
054ffccb31 test:vagrant nginx fix, CHANGELOG 2023-12-05 15:04:01 +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
e9c5287c36 Debug: improved debug level 2 with socket-description, also for notification 2023-11-01 13:48:41 +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
Philip Prindeville
6e314dd96f Log if restconf started w/o configuration 2023-10-21 18:29:23 +02:00
Philip Prindeville
959e060995 Use clicon_err() consistently and drop perror() 2023-10-21 18:29:23 +02:00
Olof hagsand
512d085f38 Compile errors for woth-restconf=fcgi. Added CI for compiling fcgi 2023-09-26 22:50:06 +02:00
Olof hagsand
a7ef2c4f12 Rewrote parsing of extra config-files to work recursively over structured data
Fixed that modified config variables were not properly overwritten in XML
Added `pretty` parameter to clicon_options_dump
Added testcases for recursive and structure extra config files
2023-08-23 11:10:24 +02:00
Olof hagsand
124afb8788 Modified -C command-line handling and added to SNMP 2023-08-23 10:52:47 +02:00
Olof hagsand
c101799e74 New command-line option for dumping configuration options for all clixon applications after load
Removed -s dump
2023-08-22 12:41:36 +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
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
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
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
ecd60fbcfe
Merge pull request #418 from kernelkit/kkit
Misc. build fixes encountered when cross-compiling
2023-02-17 09:52:42 +01:00
Olof hagsand
585823a609 Memory leaks 2023-02-14 16:42:43 +01:00
Joachim Wiberg
726394d97c apps/restconf: fix compiler warning 'addr' may be used uninitialized
Natvie build with GCC 11.3 generates the following warning.  The patch
is silly and the code path should never be reached, but it silences the
compiler.

restconf_main_native.c:572:9: warning: ‘addr’ may be used uninitialized in this function [-Wmaybe-uninitialized]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-09 15:53:52 +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
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