Commit graph

2663 commits

Author SHA1 Message Date
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
Volodymyr Sosiedkin
9a6a378c99 Fix cli via ssh error log output issue 2023-03-01 17:52:38 +02:00
Olof Hagsand
d6c523d27a
Merge pull request #422 from dima1308/master
Add support decimal64 for SNMP
2023-02-23 12:35:48 +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
2db5961169 Example: fixed mismatch between install dirs and DIRs in example.xml.in
Docker: Removed example from test container, fixed example container
2023-02-22 23:24:50 +01:00
Olof hagsand
a8c4e8699c Docker: Fixed broken config file in clixon-example 2023-02-22 14:08:38 +01:00
Olof hagsand
fe8636bb77 Move validation flag to include diff 2023-02-21 20:19:59 +01:00
Olof hagsand
48a7eac096 yang load add test to not parse files if not already loaded 2023-02-21 12:02:40 +01:00
stass
980c7d082f Add support decimal64 for snmp
Signed-off-by: Dmitry Grinberg <dima.g@siklu.com>
2023-02-21 11:57:00 +02: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
02841e5c36 CI: changed curl dependency 2023-02-17 11:48:43 +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
204c704b3a Test: moved unsetting of vars to endtest 2023-02-15 13:59:21 +01:00
Joachim Wiberg
058d3f7597 .github: add curl-dev dependency for regression tests
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-14 20:38:41 +01:00
Olof hagsand
585823a609 Memory leaks 2023-02-14 16:42:43 +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
Joachim Wiberg
e36a4e3016 test: temporary fixes DROP BE BEFORE PUSH
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-14 15:39:23 +01:00
Olof Hagsand
fcf9a8b0b0 C-API: Exposed diff function
Test: double leaf validate test
2023-02-13 20:23:18 +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
7868cf0a0d Docker example: fixed scripts to run multiple instances
Fixed parenthesis typo in purge code
2023-02-10 11:51:41 +01:00
Joachim Wiberg
1283270504 configure.ac: fix string comparison operator, == vs =
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-09 15:53:52 +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
Joachim Wiberg
9cd764f031 example/main: replace hard-coded path with variables from configure
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-09 15:53:52 +01:00
Joachim Wiberg
b48c6ad982 example/main: add missing $(DESTDIR) to standard include path
This is used everywhere else so looks loke a simple omission.  Needed
when cross-compiling (or packaging) Clixon.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-09 15:53:52 +01:00
Joachim Wiberg
e84d43c8e3 configure.ac: add proper check for libcurl + curl/curl.h
Both util/clixon_util_stream.c and lib/src/clixon_stream.c depend on
libcurl.  The latter has `#ifdef CLIXON_PUBLISH_STREAMS` but the former
does not.  So `make util` fails without `--enable-publish` if libcurl
is not installed.

To preserve the original behavior (libcurl is an implicit dependency),
this patch adds a `--without-libcurl` option to indicate this default.
The check for libcurl and curl/curl.h is factored out as a separate
check before checking for `--enable-publish`.  If the two build options
are in conflict we exit with a clear error code.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-09 15:53:52 +01:00
Joachim Wiberg
a7693c8856 configure.ac: find include path to libxml2 using xml2-config tool
This patch replaces the hard-coded `-I /usr/include/libxml2` used when
building clixon_util_regexp with the output from `xml2-config --cflags`.

To support cross-compiling, and preserve backwards compatibility with
the `--with-libxml2` option, we allow the user to pass the path to the
xml2-config tool as an optional argument.  Similar to what python-lxml,
and other packages, that rely on libxml2 do.  The argument is optional
to ensure that we default to use the hard-coded path from before.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-09 15:51:33 +01:00
Olof hagsand
8f7ae33262 Yang schema mount: repaired yanglib statedata mountpoint
Example: patch to fix "dual xpath" issue
2023-02-08 15:00:07 +01:00
Olof Hagsand
8699af97fb
Merge pull request #419 from jarrodb/doc_faq_hello
Update FAQ.md hello world example url
2023-02-08 14:53:10 +01:00
Jarrod Baumann
d65a6b14c2 [docs] update FAQ hello world example url 2023-02-07 21:38:11 -06:00
Olof Hagsand
fcb6e5cb03 yang path sanity checks and use of real module as root 2023-02-07 11:14:58 +01:00
Olof hagsand
56f15aeefd SNMP mem tests: increase timeout for walk and table, use single snmp tools macro 2023-02-06 12:46:55 +01:00
Olof hagsand
ba861bc619 Merge branch 'StasSt-siklu-DEV-5396-tg-snmp-snmp-walk-in-tg-not-as-snmp-in-eth-8010' 2023-02-06 10:51:03 +01:00
stass
3436a19ee4 Scalars do not have a .0 suffix
See https://github.com/clicon/clixon/issues/401
2023-02-06 10:47:03 +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
5da8ce211a Patch of previous commit: ca_reset plugin 2023-02-02 16:07:35 +01:00
Olof hagsand
3d64eddaf2 All calls to ca_reset plugin callback has db=tmp 2023-02-02 14:46:53 +01:00
Olof hagsand
a203f6cde7 Updated extraxml reset callback example and added a regression test 2023-02-02 12:17:52 +01:00
Olof hagsand
6d82c70e26 Investigation of https://github.com/clicon/clixon/issues/414
New tests and help texts
2023-02-02 07:32:27 +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