Olof hagsand
0c7f2043f3
* Pagination according to new draft
...
* count/skip -> limit/offset
* ietf-yang-metadata RFC 7952 support, placeholder parsing and extension
2021-09-21 11:22:41 +02:00
Olof hagsand
77bacc93bb
- Updated code to clixon 5.2 status
...
- Added LIST_PAGINATION clixon_custom constant
- Fix: leafs added as augments on rpc input/output lacked cv:s
2021-09-21 11:22:40 +02:00
Olof hagsand
2485bec483
fixes for compilation
2021-09-21 11:22:40 +02:00
Olof hagsand
2b5dceb82c
cli pagination
2021-09-21 11:22:40 +02:00
Olof hagsand
8008fa01b7
Pagination draft
2021-09-21 11:22:40 +02:00
Olof hagsand
acc6a0fec7
First working prototype
2021-09-21 11:22:40 +02:00
Olof hagsand
78f5a6983c
Pagination draft
2021-09-21 11:22:40 +02:00
Olof hagsand
2e857bb417
First working prototype
2021-09-21 11:22:40 +02:00
Olof hagsand
6b357dc038
* Partly Fixed: [String concatenation in YANG model leads to syntax error]( https://github.com/clicon/clixon/issues/265 )
...
* In this case, eg "uses", single quotes can now be used, but not `qstring + qstring` in this case
2021-09-20 22:54:14 +02:00
Olof hagsand
392e6679c5
* JSON errors are now labelled with JSON and not XML
...
* Fixed: [Performance issue when parsing large JSON param](https://github.com/clicon/clixon/issues/266 )
* Moved strlen() from for end condition
* Fixed debugging of xpath parser
2021-09-20 21:35:01 +02:00
Olof hagsand
3cd3f7987d
- Cannot reproduce https://github.com/clicon/clixon/issues/245 , added sanity chaeck and regression test
2021-09-09 14:01:48 +02:00
Dave Cornejo
3344adb487
initial import of dispatcher
...
this code implements a way of registering path handlers and then calling those handlers based on a path.
2021-09-07 10:14:45 -10:00
Olof hagsand
562320dcbc
* Fixed: [JSON leaf-list output single element leaf-list does not use array]( https://github.com/clicon/clixon/issues/261 )
2021-08-24 17:08:31 +02:00
Olof hagsand
c35ca82083
* Fixed: Netconf diff callback did not work with choice and same value replace
...
* Eg if YANG is `choice c { leaf x; leaf y }` and XML changed from `<x>42</x>` to `<y>42</y>` the datastrore changed, but was not detected by diff algorithms and provided to validate callbacks.
* Thanks: Alexander Skorichenko, Netgate
2021-08-17 16:51:08 +02:00
Olof hagsand
8352e25860
* Restconf internal start: fail early if clixon_restconf binary is not found
...
* If CLICON_BACKEND_RESTCONF_PROCESS is true
2021-08-17 10:08:04 +02:00
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
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
9aad253f1e
Move Yang patterns: \n match from yang parse to regex compile stage
2021-08-05 12:53:26 +02:00
Olof hagsand
3ed41c5a04
cli exclude clixon-restconf, extra cv check in default1
2021-08-05 12:07:07 +02: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
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
dee081646c
* Fixed: SEGV in clixon_netconf_lib functions from internal errors including validation.
...
* Check xerr argument both before and after call on netconf lib functions
2021-07-27 10:31:16 +02:00
Olof hagsand
91313b31e0
Removed space from xpath canonical form of relex/unionex
2021-07-24 16:43:47 +02:00
Olof hagsand
df6f26c0de
Misc cleanups, remove old yangs, typos, etc
2021-07-19 22:08:23 +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
6bb6faadc9
* Fixed: mandatory leaf in a uses statement caused abort
...
* Occurence was in ietf-yang-patch.yang
2021-07-19 08:14:10 +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
89f843f919
* Fixed: [uses oc-if:interface-ref error with openconfig #233 ]( https://github.com/clicon/clixon/issues/233 )
2021-07-01 11:55:45 +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
54357a2a78
* Fixed: [ restconf patch method unable to chage value to empty string #229 ]( https://github.com/clicon/clixon/issues/229 )
2021-06-28 17:33:17 +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
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
d6c175e76e
- Improved debugs for native restconf config reads
...
- Docker: restconf native added nghttp2
2021-06-23 10:53:27 +02:00
Olof hagsand
ba45d6d2a1
Fixed memory leak in new candidate_validate function
...
Added error returns for clixon-lib process rpc empty returns
2021-06-23 10:50:47 +02:00
Olof hagsand
9edf380f6a
- Link utils statically if LINKAGE=static
...
- Fix event exit bug (set to new counter, dont increment)
- Changed default CI to be restconf=native instead of fcgi1~
- Tests:
- Change to same wait backend and restconf commands
- Change default restconf protocol from http to https
2021-06-18 22:50:30 +02:00
Olof hagsand
113f92ab41
Move clixon CI from travis to github actions
2021-06-16 13:06:21 +02:00
Olof hagsand
b40dafb691
* Event exit API changed to a single decrementing counter where 1 means exit.
...
* Removed: `clicon_exit_reset()`
* Changed: `clicon_exit_set()` --> `clixon_exit_set(int nr)`
* Changed: `clicon_exit_get()` --> `clixon_exit_get()`
* native restconf special case upgrade handling from http/1 -> http/2 and restconf restart: delay the restart using event exit counter
2021-06-16 11:58:13 +02:00
Olof hagsand
b711faade9
grpc in shape
2021-06-11 14:42:41 +02:00
Olof hagsand
5ead099d0b
* Added autotool check for getresuid (and related functions) necessary for lowering of priviliges for backend and restconf
...
* If getresuid is not available, CLICON_RESTCONF_PRIVILEGES must be set to 'none'
2021-06-11 14:42:41 +02:00
Olof hagsand
e24e2eb78b
revert of https://github.com/clicon/clixon/pull/238
2021-06-11 14:05:19 +02:00
Olof Hagsand
92e340f462
Merge pull request #238 from mager-m/master
...
Fixed memory allocation for `struct dirent`
2021-06-11 11:10:34 +02:00
Olof hagsand
a122efceff
* Fixed: [restconf patch method adds redundant namespaces #235 ]( https://github.com/clicon/clixon/issues/235 )
2021-06-10 13:05:03 +02:00
mager-m
af7e0458c6
Fixed memory allocation for struct dirent
...
While porting clixon to the RTOS Blackberry QNX there was memory corruption while reading the yang models from the disk.
Debugging led to the function `clicon_file_dirent` in `clixon_file.c` in which the `struct dirent` is copied into an array.
According to the UNIX `struct dirent` [documentation](https://man7.org/linux/man-pages/man0/dirent.h.0p.html ):
> The name of an array of char of an unspecified size should not be
> used as an lvalue. Use of:
>
> sizeof(d_name)
>
> is incorrect; use:
>
> strlen(d_name)
>
> instead.
I adjusted the memory allocation to take the `strlen(dent->d_name)` into account.
2021-06-09 23:35:33 +02:00
Olof hagsand
7d59ec1a3a
* Fixed: [JSON parsing error for a specific input. #236 ]( https://github.com/clicon/clixon/issues/236 )
...
* JSON empty list parse problems, eg `a:[]`
2021-06-09 11:44:28 +02:00