Commit graph

886 commits

Author SHA1 Message Date
Olof hagsand
980718178a * YANG Leafref feature update
* Closer adherence to RFC 7950. Some of this is changed behavior, some is new feature.
  * Essentially instead of looking at the referring leaf, context is referred(target) node
  * Validation uses referred node
    * Validation changed to use type of referred node, instead of just "string"
  * Auto-cli
    * Changed to use type of referred node for typecheck
    * Completion uses referred node
  * Required instance / less strict validation
    * New: Leafrefs must refer to existing data leaf ONLY IF YANG `required-instance` is true
    * Previous: All leafrefs must refer to existing data leaf node
* Fixed: [Autocli does not offer completions for leafref to identityref #254](https://github.com/clicon/clixon/issues/254)
2021-08-16 17:14:27 +02:00
Olof hagsand
8db716ca07 - Moved yang patch code to new files restconf_methods_patch.[ch]
- Started modifying patch code to style guidelines
- Made patch test independent of example
- Added developers style guidelines
2021-08-15 20:43:52 +02:00
Olof hagsand
89ca5ac154 Merge branch 'yang-patch-test' of https://github.com/alanyanigersiklu/clixon into alanyanigersiklu-yang-patch-test 2021-08-15 17:09:39 +02:00
Alan Yaniger
18170fabbc Merge branch 'yang-patch-test' of github.com:alanyanigersiklu/clixon into yang-patch-test 2021-08-14 21:22:03 +03:00
Alan Yaniger
2f9485800b Added test for YANG patch with XML media 2021-08-14 21:21:09 +03:00
Olof hagsand
c2c0a6210a re-add CLICON_RESTCONF_INSTALLDIR 2021-08-12 21:20:31 +02:00
alanyanigersiklu
95a3664882
Merge branch 'master' into yang-patch-test 2021-08-12 21:06:57 +03:00
Alan Yaniger
8f110331d5 Add tests for yang patch 2021-08-12 21:01:48 +03:00
Olof hagsand
bd8cbbc393 Merge branch 'alanyanigersiklu-yang-patch-alanfork' 2021-08-10 19:50:27 +02:00
Olof hagsand
e780ed963b * Fixed: [clixon_netconf errors on client XML Declaration with valid encoding spec](https://github.com/clicon/clixon/issues/250) 2021-08-10 19:32:02 +02:00
Phil Heller
b200361620 Testing dependency fixes, Netconf XML declaration and filter logic fix
Install libnghttp2-devel in ubuntu and centos per required dependencies
Ignore case when checking XML declaration encoding value per W3C recommendations
Fix filter logic to follow RFC6241 (7.1, 7.7) and default to subtree
2021-08-10 19:32:02 +02:00
Olof hagsand
26a8cfcedb Removed default of CLICON_RESTCONF_INSTALLDIR
* The default behaviour is changed to use the config $(sbindir) to locate `clixon_restconf` when starting restconf internally
2021-08-10 19:29:07 +02:00
Olof Hagsand
e6022bc088
Merge pull request #252 from pheller/filter-and-xml-encoding-fixes
Testing dependency fixes, Netconf XML declaration and filter logic fix
2021-08-08 13:32:24 +02:00
Olof hagsand
355ed7d96a * Fixed: [clixon_netconf errors on client XML Declaration with valid encoding spec](https://github.com/clicon/clixon/issues/250) 2021-08-05 21:44:52 +02:00
Olof hagsand
c743b90fdd * Fixed: Yang patterns: \n and other non-printable characters were broken
* Example: Clixon interpereted them two characters: `\\ n` instead of ascii 10
2021-08-05 15:16:29 +03:00
Olof hagsand
dc2b3a80ca * Fixed: YANG when was not properly implemented for LEAF default values 2021-08-05 15:16:29 +03:00
Olof hagsand
8675620d22 * Added linenumbers to all YANG symbols for better debug and errors
* Improved error messages for YANG identityref:s and leafref:s by adding original line numbers
2021-08-05 15:16:29 +03:00
Olof hagsand
efcfb176ae Fixed: The auto-cli identityref did not expand identities in grouping/usecases properly. 2021-08-05 15:16:29 +03:00
Olof hagsand
551a985d1b * Fixed: [OpenConfig BGP afi-safi and when condition issues #249](https://github.com/clicon/clixon/issues/249)
* YANG when was not properly implemented for default values
* Improved error message on leafref validation errors
2021-08-05 15:16:29 +03:00
Olof hagsand
ecceda35b6 revert restconf internal tests using CLICON_RESTCONF_INSTALLDIR for docker 2021-08-05 15:16:29 +03:00
Olof hagsand
96a3ee98c6 Removed default of CLICON_RESTCONF_INSTALLDIR
* The default behaviour is changed to use the config $(sbindir) to locate `clixon_restconf` when starting restconf internally
2021-08-05 15:16:29 +03:00
Olof hagsand
128764a570 - Added yang patch test: test_restconf_yang_patch.sh as placeholder for rfc 8072 tests
- Added patch-xml as valid media
2021-08-05 15:15:28 +03:00
Olof hagsand
f64eff15a0 Removed space from xpath canonical form of relex/unionex 2021-08-05 15:15:28 +03:00
Olof hagsand
dcaeb581a1 * Fixed: Yang patterns: \n and other non-printable characters were broken
* Example: Clixon interpereted them two characters: `\\ n` instead of ascii 10
2021-08-05 09:59:20 +02:00
Olof hagsand
603f9724ce * Fixed: YANG when was not properly implemented for LEAF default values 2021-08-03 13:38:31 +02:00
Olof hagsand
00645ee52b * Added linenumbers to all YANG symbols for better debug and errors
* Improved error messages for YANG identityref:s and leafref:s by adding original line numbers
2021-08-03 12:53:37 +02:00
Olof hagsand
4d265d63bd Fixed: The auto-cli identityref did not expand identities in grouping/usecases properly. 2021-08-03 11:15:45 +02:00
Olof hagsand
babdc6f496 * Fixed: [OpenConfig BGP afi-safi and when condition issues #249](https://github.com/clicon/clixon/issues/249)
* YANG when was not properly implemented for default values
* Improved error message on leafref validation errors
2021-08-02 15:48:38 +02:00
Phil Heller
3c5f956805 Merge branch 'master' into filter-and-xml-encoding-fixes 2021-07-29 23:01:47 -06:00
Phil Heller
38f4cd8237 Testing dependency fixes, Netconf XML declaration and filter logic fix
Install libnghttp2-devel in ubuntu and centos per required dependencies
Ignore case when checking XML declaration encoding value per W3C recommendations
Fix filter logic to follow RFC6241 (7.1, 7.7) and default to subtree
2021-07-29 22:48:07 -06:00
Olof hagsand
0b08ba6ae5 revert restconf internal tests using CLICON_RESTCONF_INSTALLDIR for docker 2021-07-27 11:18:35 +02:00
Olof hagsand
93a4777f0f Removed default of CLICON_RESTCONF_INSTALLDIR
* The default behaviour is changed to use the config $(sbindir) to locate `clixon_restconf` when starting restconf internally
2021-07-27 10:53:47 +02:00
Olof hagsand
600f29a117 - Added yang patch test: test_restconf_yang_patch.sh as placeholder for rfc 8072 tests
- Added patch-xml as valid media
2021-07-26 12:20:06 +02:00
Olof hagsand
91313b31e0 Removed space from xpath canonical form of relex/unionex 2021-07-24 16:43:47 +02:00
Olof hagsand
e0ee365958 * Fixed: RFC 8040 yang-data extension allows non-key lists
* Added YANG_FLAG_NOKEY as exception to mandatory key lists
2021-07-19 11:15:49 +02:00
Olof hagsand
270c47b396 Native restconf fixes:
- memleak in http/1-only
- exit if http/1 request sent to http/2-only
- hang if http/1 TLS request sent to http/2 only
2021-07-09 15:08:21 +02:00
Olof hagsand
ed1d5698e8 fix the belongs-to test 2021-07-08 16:53:45 +02:00
Olof hagsand
1925ac68cd * Fixed: [RESTConf GET for a specific list instance retrieves data from other submodules that have same list name and key value #244](https://github.com/clicon/clixon/issues/244)
* Fixed: Double clixon error messages in yang2cli code
* Sanity checks for submodule belongs-to
2021-07-08 16:26:39 +02:00
Olof hagsand
85e2945ec9 * Netconf message-id attribute changed from optional to mandatory
* Made NETCONF message handling more strict according to RFC 6241
  * Set `CLICON_NETCONF_MESSAGE_ID_OPTIONAL` to true to accept omission of message-id attribute
* Fixed: [need make sure message-id exist in rpc validate #240](https://github.com/clicon/clixon/issues/240)
2021-06-30 10:59:10 +02:00
Olof hagsand
96c9296056 testcase for patch empty field 2021-06-28 22:48:06 +02:00
Olof hagsand
3539a80d5e restconf fcgi mem leak in indata
test pkill needs sleep before name settles
2021-06-27 16:40:27 +02:00
Olof Hagsand
df05acdc9e test arm curl different return values 2021-06-26 21:39:57 +00:00
Olof Hagsand
b46418d774 Minor test and type fixes 2021-06-26 21:27:59 +00:00
Olof Hagsand
b31107f646 - Restconf native: Fixed ssl/non-ssl read/write behaviour for data that is different in freebsd than in linux
- test: removed sed -i in tests since it is not portable between linux and bsd
2021-06-25 10:48:55 +00:00
Olof hagsand
940f4d4fb9 * Added ordering sanity check for YANG modules and sub-modules
* If YANG sub-statements are placed in wrong order, clixon fails on error.
2021-06-24 21:56:36 +02:00
Olof Hagsand
caf396cbda - disable util_validate
- test vagrant: add libnghttp2 dependency
2021-06-24 17:41:46 +00:00
Olof Hagsand
e3e36aba50 test restconf: restconf proto should be default https only for native, not fcgi 2021-06-24 14:31:59 +00:00
Olof Hagsand
2d7d3c9782 test restconf native: generete server cert if not exists 2021-06-24 13:01:19 +00:00
Olof hagsand
c5da97e2a4 restconf memleaks 2021-06-24 13:09:18 +02:00
Olof hagsand
d6c175e76e - Improved debugs for native restconf config reads
- Docker: restconf native added nghttp2
2021-06-23 10:53:27 +02:00