Olof hagsand
51316d5d61
Fixed: [type leafref in type union ineffective]( https://github.com/clicon/clixon/issues/277 )
...
* Leafrefs and identityrefs in unions were not validated correctly
2021-11-12 10:52:29 +01:00
Olof hagsand
2dcc14a0db
Added error handling in yang_path_arg triggered by no filter in get paginated
...
Fixed cornercase of restconf error return when no body
Fixed cornercase when exactly / given as xpath
Better error message when YANG not found: added which YANG file imports it
2021-11-10 18:35:24 +01:00
Olof hagsand
a4b4dc97ce
Pagination updated
...
* Pagination is updated to new drafts:
* [https://datatracker.ietf.org/doc/html/draft-wwlh-netconf-list-pagination-00 >]
* [https://datatracker.ietf.org/doc/html/draft-wwlh-netconf-list-pagination-nc-02 ]
* [https://datatracker.ietf.org/doc/html/draft-wwlh-netconf-list-pagination-rc-02 ]
* See also updated [https://clixon-docs.readthedocs.io/en/latest/pagination.html ]
* Added IETF RFC:s (included by pagination):
* ietf-netconf-nmda@2019-01-07.yang
* ietf-origin@2018-02-14.yang
* ietf-netconf-with-defaults@2011-06-01.yang
* Dropped pcvec parameter to many restconf api functions
2021-11-10 18:35:24 +01:00
Kristofer Hallin
02a5d97377
Only test recursive dirs for OpenConfig tests.
2021-11-09 09:23:43 +01:00
Kristofer Hallin
9ce20ea449
Resolved conflict.
2021-11-09 08:53:47 +01:00
Kristofer Hallin
057abe56e0
Fix for issue #284 , do recursive lookup when reading YANG files from directory.
2021-11-08 20:09:19 +01:00
Olof hagsand
a1fe080111
CLIgen mem leak, test augment
2021-11-05 14:43:28 +01:00
Olof hagsand
5297ebe3cb
Fixed: [cl:autocli-op hide has no effect in yang submodule]( https://github.com/clicon/clixon/issues/282 )
2021-11-04 16:25:25 +01:00
Olof hagsand
a52b92bd43
Added negative openconfig path compress test
2021-10-31 15:48:01 +01:00
Olof Hagsand
9d8d9ac042
Merge branch 'master' into feature_openconfig_compress
2021-10-22 09:23:48 +02:00
Kristofer Hallin
b29387ce1d
Changes as per review.
2021-10-21 22:01:04 +02:00
Kristofer Hallin
aeff754110
Added tests for OpenConfig compress.
2021-10-15 13:46:38 +02:00
Olof hagsand
a242cf47bd
Pagination callback modifications: ensure xml is bound to yang, removed
...
code not used (eg remaining) and avoiding an extra xpath_vec call.
Moved debug prints from plugin-callback-one to plugin-callback-all
Fixed memory error in data-cvec access function
2021-10-14 14:06:01 +02:00
Olof hagsand
d2d3454177
Dispatcher: modified key handling and added print function
...
also added dispatcher utility and test functions
2021-10-13 21:03:59 +02:00
Olof hagsand
e0ea85d6d5
Configure: changed --with-restconf= to say fcgi is NOT default
...
test_openconfig: Fixed upgrade of git added new dependencies (openconfig-platform)
2021-10-13 10:00:15 +02:00
Olof hagsand
a74fbdecdb
Dispatcher fixes: user callback arg, changing handler to NULL
2021-10-12 14:45:10 +02:00
Olof hagsand
8ede8a87b2
Moved fuzz dir to test/fuzz
...
Extended contributing document to testing and licensing
2021-10-10 18:05:45 +02:00
Olof hagsand
edbbb43e1f
Removed remaining and replaced pagination-mode with locked parameter
...
Dispatcher: Added dispatcher_free(), fixed mem-leaks and malloc return
checks
2021-10-10 11:40:47 +02:00
Olof hagsand
ce06f25be7
Merge branch dispatcher and broke out pagination callbacks to use it
...
* Merge branch 'dcornejo-master'
* Broke out pagination callback API from state data callbacks
* New pagination callback API uses new dispatcher from netgate, thanks @dcornejo
* Register callback with: `clixon_pagination_cb_register()`
* Use accessor functions `pagination_offset()`, `pagination_limit()`, etc
* Reverted state data callback API to pre-5.3 (see C/CLI API changes below)
2021-10-08 15:19:37 +02:00
Olof hagsand
7631c3f0a3
coverage: added tests for all ints
2021-10-06 08:36:34 +02:00
Olof hagsand
26d37352f4
NETCONF hello error handling, changed YANG PATCH enabling, refactored static linking
...
NETCONF hello errors, such as wrong session-id, prefix, namespace terminates session
* Instead of returning an rpc-error reply
Changed YANG PATCH enabling:
* Now: `./configure --enable-yang-patch`
* Before: set YANG_PATCH constant in `include/clixon_custom.h`
Refactored Makefile for static linking
2021-10-05 12:04:53 +02:00
Olof hagsand
8f55b8490d
Refactored Makefile for static linking, removed netconf soap encoding
2021-10-04 20:06:11 +02:00
Olof hagsand
42e61f461c
- Memleaks in xpath parse error
...
- Static linkage cli fix (worked in 5.3.0 but restructuring broke it)
- Renamed all cligen_ph_active_get to cligen_pt_active_get
- Added AFL deferred init
- test_install.sh for static .a suffix
2021-10-03 18:49:25 +02:00
Olof hagsand
9b6bb3ecbf
- Added transaction_arg_set()
...
- Modifed coverage script
2021-09-27 16:31:21 +02:00
Olof hagsand
51278d5901
Fixed static linking for coverage and fuzzing
...
Preparations for Clixon 5.3 release
2021-09-27 12:26:53 +02:00
Olof hagsand
b70e22096e
- Pagination: enabled LIST_PAGINATION and remobved constant
...
- Changed logic on how to find clixon_restconf in pseudo plugin
- Removed ==== in constants to avoid conflict with git merge
- Remove assert
- Added fuzzing for netconf
2021-09-23 13:33:26 +02:00
Olof hagsand
47141089c2
- Added netconf to fuzz
...
- Restconf internal start more robust
- Restconf fcgi fix
2021-09-22 18:55:32 +02:00
Olof hagsand
55377786c1
Fix tests for http/1 and http/2 only respectively
2021-09-21 21:23:33 +02:00
Olof hagsand
a7a699a8b5
New state plugin callback for pagination.
...
* You need to change all statedata plugin callback for the new pagination feature
* If you dont use pagination you can ignore the values of the new parameters
* See [User manual pagination](https://clixon-docs.readthedocs.io/en/latest/misc.html#pagination )
* The updated callback signature is as follows:
```
int statedata(clicon_handle h,
cvec *nsc,
char *xpath,
pagination_mode_t pagmode, // NEW
uint32_t offset, // NEW
uint32_t limit, // NEW
uint32_t *remaining, // NEW
cxobj *xstate)
```
2021-09-21 15:02:46 +02:00
Olof hagsand
384ce70d7c
memory leak and nacm recovery test fix
2021-09-21 13:24:34 +02:00
Olof hagsand
ff3f600920
Renamed paging to pagination
2021-09-21 11:28:29 +02:00
Olof hagsand
60193cca0d
- Add remaining argument to state callback
2021-09-21 11:27:58 +02:00
Olof hagsand
6e316b519b
- Refactoring of get_common/get_list_pagination with two sub-functions
...
- Fixed memory leak
2021-09-21 11:27:58 +02:00
Olof hagsand
caabfd464e
* New state callback signature (ca_statedata2)
...
* The new callback contains parameters for paging
* Goal is to replace ca_statedata callback
* New plugin callback when lock/unlock occurs
* Add `ca_lockdb` tro plugin init to use it.
* Fixed: Typing 'q' in CLI more paging did not properly quit output
* Output continued but was not shown, for a very large file this could cause considerable delay
* Fixed: Lock was broken in first get get access
* if the first netconf operation to a backend was lock;get;unlock, the lock was broken in the first get access.
2021-09-21 11:27:58 +02:00
Olof hagsand
aaf9a89183
- Added an extended state plugin callback: ca_statedata2 with offset and limit parameters
...
- Fixed memory errors
2021-09-21 11:26:28 +02:00
Olof hagsand
28f58fb7d6
- Fixed list pagination for CLI
2021-09-21 11:24:53 +02:00
Olof hagsand
a046306270
- New netconf-specific uint32 parse functions
...
- Added failure handling to xpath traverse_canonical
- Started pagination cli code
2021-09-21 11:24:53 +02:00
Olof hagsand
390b0886ed
- pageing offset working
2021-09-21 11:24:53 +02:00
Olof hagsand
fb0b9409f3
- Moved restrconf code from pageing rpc to get
2021-09-21 11:24:53 +02:00
Olof hagsand
c9843b34a6
- Rewrite of netconf get/get-config code
...
- Unified get and get-config code to single function get_common
- Integrated list-pagination code
- Moved get code to new files backend_get.[ch]
2021-09-21 11:24:53 +02:00
Olof hagsand
b03cf426a4
* Protyped netconf native pagination
2021-09-21 11:24:53 +02:00
Olof hagsand
6bf3112fe7
* JSON encoding of YANG metadata according to RFC 7952
...
* XML -> JSON translation
2021-09-21 11:23:40 +02:00
Olof hagsand
76e59873c2
- Changed media name: yang.collection+xml/yang to application-collection+xml/json
...
- Modified ietf-netconf-list-pagination.yang:
- changed get-pagable -> get-pageable
- renamed count -> limit
- renamed skip -> offset
- added import ietf-yang-metadata
- added md:annotation remaining
2021-09-21 11:22:41 +02:00
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
2b5dceb82c
cli pagination
2021-09-21 11:22:40 +02:00
Olof hagsand
8e266dd136
skip+count
2021-09-21 11:22:40 +02:00
Olof hagsand
c4b1051b1f
* Changed first parameter from int fd to FILE *f in the following functions:
...
* clixon_xml_parse_file(), clixon_json_parse_file(), yang_parse_file()
* See [Bytewise read() of files is slow #146 ](https://github.com/clicon/clixon/issues/146 )
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