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
Alan Yaniger
f2e81be66e
fix merge conflicts
2021-08-06 12:08:13 +03:00
Alan Yaniger
94b8f7fec5
fixed another rebase error
2021-08-05 15:39:27 +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
Alan Yaniger
ad950efc32
fixed check when getting value inside xml tag given the key
2021-08-05 15:16:29 +03:00
Alan Yaniger
523407a9c1
fixed string length checks, removed unnecessary loop, changed some other code for clarity
2021-08-05 15:16:29 +03:00
Alan Yaniger
fd28fd498d
- Add prefix "yang_patch_" to new functions
...
- use clixon cbuf functions instead of new string functions
- moved some code into separate functions
- added comments
- added documentation to functions that did not have it
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
5de6d56822
* 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-08-05 15:15:28 +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
659aaac5c6
- cli set debug vars
...
- fixed: restconf native evhtp appended indata to old data
2021-08-05 15:15:28 +03:00
Alan Yaniger
86b64c4dd0
split up long function, use safe string handling functions
2021-08-05 15:15:28 +03:00
Alan Yaniger
8d2fbf39de
implement yang-patch
2021-08-05 15:15:28 +03:00
Alan Yaniger
d1f44e2f1f
fixed check when getting value inside xml tag given the key
2021-08-01 17:01:40 +03:00
Alan Yaniger
db7e016aa0
fixed string length checks, removed unnecessary loop, changed some other code for clarity
2021-08-01 16:50:04 +03:00
Alan Yaniger
948fa70b44
- Add prefix "yang_patch_" to new functions
...
- use clixon cbuf functions instead of new string functions
- moved some code into separate functions
- added comments
- added documentation to functions that did not have it
2021-07-27 18:36:46 +03:00
Alan Yaniger
46d07c1372
split up long function, use safe string handling functions
2021-07-25 09:04:26 +03:00
Alan Yaniger
0c72100a05
implement yang-patch
2021-07-19 13:17:10 +03: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
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
ef131cf407
* 5.2.0 preparations
...
* Restconf native openssl - ifdef SSL_get0_next_proto_negotiated
2021-07-01 16:34:38 +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
3539a80d5e
restconf fcgi mem leak in indata
...
test pkill needs sleep before name settles
2021-06-27 16:40:27 +02:00
Olof Hagsand
b46418d774
Minor test and type fixes
2021-06-26 21:27:59 +00:00
Olof Hagsand
e451b7f43e
- changed debug printfs to work for i386
...
- restconf native centos8: fixed ssl shutdown error
- libnghttp2 older version patch
2021-06-26 08:38:23 +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
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
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
dd8883420c
* Made backend transaction and commit/validate API available to plugin code.
...
* This enables that RPOC handles can call commit and validate via lib
* The commit/validate API is now: `candidate_validate()` and `candidate_commit()`
2021-06-17 19:20:27 +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
4f513385e9
- Restconf native http/1 to http/2 upgrade (non-tls)
2021-06-13 12:43:19 +02:00
Olof hagsand
84f5762ab5
* Most tests work with HTTP/2 support using nghttp2
...
* except non-ssl http/1->/2 upgrade
* Restconf: ensure HEAD method works everywhere GET does.
2021-06-08 20:53:43 +02:00
Olof hagsand
b680e3c5ac
- Restconf nghttp2 compiles
2021-06-03 22:47:54 +02:00
Olof hagsand
0ad577fa81
- Started nghttp2 work
...
- Added autoconf config options, temporary for nghttp2 development: `--disable-evhtp`and `--enable-nghttp2`.
- Added special case for api-path:s beginning with //
2021-05-31 19:11:19 +02:00
Olof hagsand
c405a08ff8
Restconf https fixes after nmap and fuzz:
...
- segv in PUT/POST of /
- Dont return bad request on error, just close socket
2021-05-28 16:17:52 +02:00
Olof hagsand
e0c3f5467c
* Added new startup-mode: running-startup: First try running db, if it is empty try startup db.
...
* See [Can startup mode to be extended to support running-startup mode? #234 ](https://github.com/clicon/clixon/issues/234 )
* Improved error message on failed MUST condition
2021-05-27 13:18:01 +02:00
Olof hagsand
164aa1cb4c
* Restconf: added inline configuration using -R <xml> command line as an alternative to making advanced restconf configuration
2021-05-26 11:24:39 +02:00
Olof hagsand
5b39418e92
* [Need an option to disable restconf mandatory action of overwriting startup_db #230 ]( https://github.com/clicon/clixon/issues/230 )
...
* Disable RFC 8040 mandatory copy of running to startup after commit
* Rename CLICON_RESTCONF_INSTALL_DIR -> CLICON_RESTCONF_INSTALLDIR
2021-05-25 11:07:41 +02:00
Olof hagsand
ae02d02d63
Several fixes to restconf internal and vagrants tests
2021-05-24 13:10:21 +02:00
Olof hagsand
c20c672d83
* Changed config and install options for Restconf
...
* clixon_restconf daemon is installed in /usr/local/sbin (as clixon_backend), instead of /www-data
* `configure --with-wwwdir=<dir>` remains but only applies to fcgi socket and log
* New option `CLICON_RESTCONF_INSTALL_DIR` is set to where clixon_restconf is installed, with default `/usr/local/sbin/`
* Restconf drop privileges user is defined by `CLICON_RESTCONF_USER`
* `configure --with-wwwuser=<user>` is removed
* clixon_restconf drop of privileges is defined by `CLICON_RESTCONF_PRIVILEGES` option
* New clixon-restconf@2020-05-20.yang revision
* Added: restconf `log-destination`
2021-05-23 17:14:18 +02:00
Olof hagsand
c3e26b004c
* Fixed: [xpath function count did not work properly #224 ]( https://github.com/clicon/clixon/issues/224 )
2021-05-20 15:16:29 +02:00
Olof hagsand
9fb9024675
Fixed: native restconf 100 Continue caused hanging
2021-05-18 14:28:57 +02:00
Olof hagsand
5baf8642ea
* Fixed union in XPATH [XPATH issues #219 ]( https://github.com/clicon/clixon/issues/219 )
2021-05-15 22:28:10 +02:00
Olof hagsand
783b0a4857
* YANG when statement in conjunction with grouping/uses/augment
...
* Several cases were not implemented fully according to RFC 7950
* Do not extend default values if when statements evaluate to false
* Do not allow edit-config of nodes if when statements evaluate to false (Sec 8.3.2)
* If a key leaf is defined in a grouping that is used in a list, the "uses" statement MUST NOT have a "when" statement. (See 7.21.5)
* See [yang uses's substatement when has no effect #218 ](https://github.com/clicon/clixon/issues/2$
2021-05-13 14:26:02 +02:00
Olof hagsand
7023fe589f
patch for fixing http2 test
2021-05-09 22:12:33 +02:00
Olof hagsand
6ed2202638
- Added openssl application-layer protocol negotiation
...
- Added restconf tests for http/1.0 and http/2
2021-05-09 17:55:13 +02:00
Olof hagsand
ad08200931
- Added Restconf-style xml/json message bodies everywhere
...
- Added api_return_err0() and changed many calls to that instead of api_return_err
- Added netconf_operation_not_supported_xml()
2021-05-08 20:20:01 +02:00