Commit graph

1940 commits

Author SHA1 Message Date
Olof hagsand
451562ca77 Removed unnecessary libclixon_netconf, functions moved to libclixon 2022-03-29 15:46:38 +02:00
Olof hagsand
9690e0d8f2 * Fixed: HTTP/1 multiple write requests in single session appended data between writes, eg PUT+PUT. 2022-03-28 22:55:43 +02:00
Olof hagsand
3d59077894 vagrant test: patch yangmodels, changed to main 2022-03-28 19:20:30 +02:00
Olof hagsand
8d5694cc1c test yangmodels, filter mpls-ldp yang models due to bug(again) 2022-03-28 15:33:14 +02:00
Olof hagsand
fb86285984 YangModels master branch renamed to main
- Test: skipped standard/ietf/RFC/ietf-mpls-ldp@2022-03-14.yang due to xpath bug
2022-03-28 15:03:30 +02:00
Olof hagsand
2b323cbcf8 update config aux scripts 2022-03-28 12:53:13 +02:00
Olof hagsand
c038c9a27f * Implementation of "chunked framing" according to RFC6242 for Netconf 1.1.
* First hello is 1.0 EOM framing, then successing rpc is chunked framing
  * See
    * [Netconf framing](https://github.com/clicon/clixon/issues/50), and
    * [Clixon does not switch to chunked framing after NETCONF 1.1 is negotiated](https://github.com/clicon/clixon/issues/314)
* C:
  * Moved netconf framing code from netconf application to clixon lib
* Test:
  * New expecteof_netconf and adjusted other expect scripts to handle NETCONF 1.1 framing
2022-03-28 12:36:44 +02:00
Olof hagsand
bf983d7ca4 * New clixon-config@2022-03-21.yang revision
* Added option:
    * `CLICON_NETCONF_BASE_CAPABILITY`
* Removed `NETCONF_1_1_ANNOUNCE` compile option
2022-03-27 17:38:36 +02:00
Olof hagsand
cee735e586 netconf 1.1 capability remove tests 2022-03-17 22:18:12 +01:00
Olof hagsand
85c6c11970 * Netconf: Disabled default announcing of Netconf 1.1, instead only announce 1.0
* See [Clixon does not switch to chunked framing after NETCONF 1.1 is negotiated](https://github.com/clicon/clixon/issues/314)
  * To enable Netconf 1.1, set `NETCONF_1_1_ANNOUNCE`
2022-03-17 20:29:41 +01:00
Olof hagsand
23b466a854 * YANG unique: added single descendant node ids as special case
* This means that two variants are supported:
    * unique "a b c", ie multiple direct chidlren
    * unique "a/b/c", ie single descendants
  * RFC 7950 Sec 7.8.3 is somewhat unclear
  * The combination is not supported
* Netconf data-not-unique info changed to return schema nodes instead of XML for RFC7950 compliance
2022-03-17 17:14:42 +01:00
Olof hagsand
dfeb7cef75 * CLI reconnects to backend if backend restarts with a warning
* Note that edits to the candidate database or locks will be lost
  * To force the CLI to exit if backend restarts, undef `PROTO_RESTART_RECONNECT`
  * This is an effect of the fix of [Broken pipe error seen in client (cli) when backend restarts and CLICON_SOCK is recreated](https://github.com/clicon/clixon/issues/312), the CLI behavior on backend restart is changed.
* Added `eof` parameter to `clicon_rpc()` and `clicon_rpc1()` and error handling modified
2022-03-16 18:30:21 +01:00
Olof hagsand
03f667e2ea Fix part 2 for [Xpath API do not support filter data by wildcard](https://github.com/clicon/clixon/issues/313) 2022-03-15 19:59:54 +01:00
Olof hagsand
a973eaaeef Fixed: [Xpath API do not support filter data by wildcard](https://github.com/clicon/clixon/issues/313) 2022-03-15 16:03:48 +01:00
Olof hagsand
159ac0a2d7 Test: Added expect to Dockerfile and made sure pagination test worked in docker 2022-03-14 15:22:04 +01:00
Olof hagsand
e0f5472161 Tests: added expect script for pagination stdio 2022-03-14 14:02:21 +01:00
Olof hagsand
927d6f2d9c * Documentation: plugin start function doc 2022-03-14 12:14:55 +01:00
Olof hagsand
9a88cb5f0d * Bumped version to 5.7.0_PRE
* Fixed: SEGV in cli show yang
2022-03-14 12:13:45 +01:00
Olof hagsand
60e6477be2 Clixon 5.6.0 Release 2022-03-08 10:40:34 +01:00
Olof hagsand
72025bfc5e CHANGELOG for 5.6.0; removed wwwdir 2022-03-07 20:08:33 +01:00
Olof hagsand
ff37ce808c * Rename demon -> daemon 2022-03-07 11:18:27 +01:00
Olof hagsand
dd2ac56af8 Module state upgrade: RFC7895 to RFC 8525
Changes to clixon-config:
  * Added option: 'CLICON_YANG_LIBRARY`
  * Changed default value: `CLICON_MODULE_LIBRARY_RFC7895` to false
Datastore modstate is backward compatible
Tests upgraded to RFC8525
2022-03-07 10:56:54 +01:00
Olof hagsand
dd4e2be25c Deleted obsolete fields in clixon-config.yang 2022-03-05 12:48:37 +01:00
Olof hagsand
0a593cd513 * [Strict auto completion for CLI argument expansion #163](https://github.com/clicon/clixon/issues/163)
* Fixed a bug with the extension API: different unknown statements were treated as same
2022-03-01 09:27:11 +01:00
Olof hagsand
cf2de375f7 - Moved backend start message to after the clixon socket ops: create/bind/listen 2022-02-26 10:24:29 +01:00
Olof Hagsand
86ebe9f2fb
Merge pull request #310 from lukon89/master
Convert int64, uint64 and decimal64 to string in xml to json
2022-02-26 10:13:31 +01:00
Łukasz Konera
905cbc4b82 Convert int64, uint64 and decimal64 to string in xml to json convertion (regarding to RFC7951) 2022-02-25 13:16:09 +01:00
Olof hagsand
add797ed31 * Fixed: [Validate error when appending module B grouping to module A item use augment statement #308](https://github.com/clicon/clixon/issues/308) 2022-02-23 13:21:10 +01:00
Olof hagsand
2291275fae Fixed: [Restconf PATCH method request failed on item defined by submodule #306](https://github.com/clicon/clixon/issues/306) 2022-02-23 11:20:52 +01:00
Olof hagsand
97316e0bfa * Follow-up on [restconf GET json response does not encode top level node with namespace as per rfc #303](https://github.com/clicon/clixon/issues/303)
* Load/save JSON config file did not work
* Added rfc7951 parameter to `clixon_json_parse_string()` and `clixon_json_parse_file()`
  * If set, honor RFC 7951: JSON Encoding of Data Modeled with YANG, eg it requires module name prefixes
  * If not set, parse as regular JSON
* Test: added test_db.sh for datastore format tests
2022-02-22 14:28:01 +01:00
Olof hagsand
31719b5ef4 Test: yang models added patches to counter https://github.com/YangModels/yang/issues/1165 2022-02-20 11:48:52 +01:00
Olof hagsand
503c4f8754 * Fix: http1 parser termination with EOF required on freebsd flex
* Test: sed -i does not seem to work on all platforms
2022-02-17 20:55:52 +01:00
Olof hagsand
bf00fdf2c1 * Fixed: [restconf GET json response does not encode top level node with namespace as per rfc #303](https://github.com/clicon/clixon/issues/303) 2022-02-17 18:42:37 +01:00
Olof hagsand
4631b02e00 * Removed docker warning: set master default branch
* Test: check commit for cli union
2022-02-17 12:38:39 +01:00
Olof hagsand
1324c914dc * Fixed: [statement: require-instance should be true if not present according to rfc7950 Sec 9.9.3](https://github.com/clicon/clixon/issues/302) 2022-02-17 10:09:23 +01:00
Olof hagsand
12695c5d87 * Unit test ifdef for restconf http1 parser
* test: fix cli-union test
2022-02-17 09:16:01 +01:00
Olof hagsand
694f8b3f0d Test for https://github.com/clicon/clixon/issues/301 2022-02-16 14:42:19 +01:00
Olof hagsand
61661e6940 Restconf and http/1 modifications for http/1-only 2022-02-15 15:48:37 +01:00
Olof hagsand
c006c6189d - Fixed restconf http/1 only compile errors 2022-02-15 09:31:32 +01:00
Olof hagsand
82e0d907b3 restconf typo, left minimal debug recv buffer in place 2022-02-15 08:52:57 +01:00
Olof hagsand
12dddfd794 * RESTCONF,
* Refactored http1 code
  * fixed some http1/http2 only compile issues
2022-02-14 21:03:23 +01:00
Olof hagsand
78bdc4eaca Backend ignore of SIGPIPE. This occurs if client quits unexpectedly over the UNIX socket.
This is a timing issue but occurs more frequently in large RESTCONF messgaes.
2022-02-14 20:56:57 +01:00
Olof hagsand
b7c0113331 - test: split perf_restconf into one with http/1 and one https/2
- typo: removed exit in test
2022-02-13 17:12:02 +01:00
Olof hagsand
10886a31a2 * Fixed inefficient RESTCONF HTTP/1 read body by appending bufs instead of re-parsing
* Fixed: http1 by mistake included in fcgi build
* Test: restconf perf test uses restconf for initial setup instead of netconf
2022-02-12 21:54:22 +01:00
Olof hagsand
6ae749c9dd * New clixon-config@2022-02-11.yang revision
* Added option: `CLICON_LOG_STRING_LIMIT`
2022-02-12 21:45:50 +01:00
Olof hagsand
396680d0b3 CI: removed evhtp dependency
Test: simplified test_helloworld.sh for it to run on openwrt
2022-02-10 18:00:40 +01:00
Olof hagsand
3ebc78e3ae Tests for duplication bugfix https://github.com/clicon/clixon/issues/301 2022-02-10 17:14:51 +01:00
Olof hagsand
648b416cb9 Fixed: YANG parsing: unknown-stmt was not allowed within another unknown-stmt 2022-02-09 14:21:40 +01:00
Olof hagsand
abaf122bfc RESTCONF HTTP/1 Incomplete header handling 2022-02-09 12:39:28 +01:00
Olof hagsand
51fd973642 Fuzzing of native http1 parser 2022-02-08 21:26:53 +01:00