Commit graph

928 commits

Author SHA1 Message Date
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
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
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
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
9a88cb5f0d * Bumped version to 5.7.0_PRE
* Fixed: SEGV in cli show yang
2022-03-14 12:13:45 +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
Ł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
12dddfd794 * RESTCONF,
* Refactored http1 code
  * fixed some http1/http2 only compile issues
2022-02-14 21:03:23 +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
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
Olof hagsand
4aa74fa1d8 * Restconf native http/1, first working version
* Renamed files clixon_http -> restconf_http
  * Split main file into restconf_native.c
  * Remove all evhtp code and libevhtp/libevent dependency
2022-02-08 18:59:47 +01:00
Olof hagsand
dadf4a778a * HTTP/1 native parser as part of the RESTCONF client
* Fixed memory error in opendir/readdir in clicon_file_dirent
* Remove MAXPATH in parsers
* New string-del function
2022-02-08 16:59:08 +01:00
Olof hagsand
0ed34b4fab - test: IEEE yang models directory structure changed, ietf+ieee tests modified
- yang parse minor lex edits: added comments and \r in some rules
2022-02-08 12:03:47 +01:00
Olof hagsand
61e8841642 test: sleep typo, override YANG_INSTALLDIR in docker tests 2022-02-07 15:43:38 +01:00
Olof hagsand
2165a1368b test: helloworld to work in a minimal (openwrt) environment 2022-02-07 14:16:20 +01:00
Olof hagsand
4102ca8a46 * configure --with-wwwdir=<dir> is removed
* test:
  * new test_helloworld.sh smoketest added for testing basic functions
  * stripped restconf fcgi default config
  * added yang variable
2022-02-07 13:31:39 +01:00
Olof hagsand
b5ecd6d5fa Fixed: input RPC validation of choice (non-case) 2022-02-03 15:14:09 +01:00
Olof hagsand
bdc09851f0 * Command field of clixon-lib:process-control RPC reply used CDATA encoding but now uses regular XML encoding 2022-01-27 09:56:09 +01:00
Olof hagsand
e116e51791 Test: added BE conditional for exiting backend (run your own backend)
in multiple places where it was not in place.
2022-01-25 15:57:52 +01:00
Olof hagsand
ed2ff88006 Removed example CLI unneccesary compare command for show compare 2022-01-24 11:09:38 +01:00
Olof hagsand
95f6fe8b1a * Fixed: Autocli YANG patterns including " were not properly escaped: \" 2022-01-19 14:52:32 +01:00
Olof hagsand
77b4468eb3 Updated copyright statements to 2022 2022-01-18 16:36:00 +01:00
Olof hagsand
519fe1f576 * CLI-spec variable CLICON_PROMPT %W changed semantics due to long prompt
* From "Full Working edit path" to "Last element of working path"
  * New `%w` has "Full working path"
2022-01-18 13:34:20 +01:00
Olof hagsand
f922211212 * Changed autocli tree-labels using ac_ and act_ prefixes
* New automatic edit-mode design
   * Control which modes to use with `edit-mode-default`
     * Default is create edit-mode for all
   * New edit-mode tree: @datamodelmode
2022-01-18 12:17:47 +01:00