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
d175720b7e
Cleaned up Makefiles, especially LINKAGE=static vs dynamic
...
Added LIBSTATIC_SUFFIX instead of hardcoded .a
Changed building of build.c not to be triggered by install
2021-09-30 21:40:46 +02:00
Olof Hagsand
5f741ce978
Merge pull request #267 from s-bauer/s-bauer-patch-1
...
Fixed SH_SUFFIX
2021-09-30 16:20:41 +02:00
Olof hagsand
648b3f41f2
Make ready for clixon 5.4.0 development
2021-09-30 16:16:00 +02:00
Simon Bauer
bdda35d95b
Fixed SH_SUFFIX
2021-09-30 10:37:19 +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
5a875e3152
Fix some LINKAGE=static compile issues:
...
- Makefile circularity by fixing .so suffix
- simplify example/main Makefile
2021-09-26 11:22:48 +02:00
Olof hagsand
c00162aec1
- Modified linkage constant in makefile to test for dynamic only
...
- CLIXON_STATIC_PLUGIN to support statically linked plugins
- Added -H option to clixon_netconf: Do not require hello before request
2021-09-25 16:36:37 +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
2485bec483
fixes for compilation
2021-09-21 11:22:40 +02:00
Olof hagsand
ba835346a5
cli-pagination
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
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
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
ca14879e8c
- Fixed: [Duplicate lines emitted by cli_show_config (cli output style) when yang list element has composite key]( https://github.com/clicon/clixon/issues/258 )
2021-09-09 13:33:51 +02:00
Olof hagsand
d1ed4ecd7d
- Refactor yang patch code according to Clixon coding style
...
- Fixed all memory leaks
2021-09-08 10:38:49 +02:00
Olof hagsand
aed7dbfd8b
- Restconf error: added special case for translating from netconf invalid-value to 400 vs 404
...
- Added media to restconf sanity checks, such as bad client cert error
2021-08-27 15:12:50 +02:00
Olof hagsand
cdacca125c
Native restconf: SSL client certs failures are returned as http 405 errors, not fail during SSL negotiation
2021-08-27 09:33:59 +02:00
Olof hagsand
ef4d082f4b
* Restconf native HTTP/2:
...
* Added option `CLICON_RESTCONF_HTTP2_PLAIN`
* if disabled non-tls HTTP/2 is disabled: both direct and upgrade
2021-08-26 16:58:52 +02:00
Olof hagsand
9fce0a1214
- IPC socket: add REUSEADDR when using IP (remove comment)
...
- Test: remove variable to use backend restconf, since that is the only option
- Docs C-style: describe return values better
2021-08-24 13:46:47 +02:00
Olof hagsand
6e0e45aab7
* Fixed: Some native restconf error messages did not end with \r\n.
...
* Specifically the error when sending http request on https.
2021-08-20 15:45:13 +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
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
bf14df3c40
Merge pull request #257 from PlushBeaver/diff-path
...
Remove hardcoded path to diff binary
2021-08-15 17:08:44 +02:00