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
Olof hagsand
ac51cb0293
* Fix: XPath:s used in netconf (eg get-config) did not correctly access default values
2021-05-07 13:07:34 +02:00
Olof hagsand
0225488c39
- Moved deviation actions to include grouped/uses statements. See https://github.com/clicon/clixon/issues/211
2021-05-06 16:23:50 +02:00
Olof hagsand
866d8d1d0a
- Fixed issues with mismatching Content-Length in replies causing extra bytes to spill over into the next message
2021-05-06 14:34:31 +02:00
Olof hagsand
6605ab8ce7
Restconf native: add error bodies on early errors
2021-05-05 20:40:59 +02:00
Olof hagsand
6e5e53e02e
Restconf native: add body to bad request return
2021-05-01 17:53:29 +02:00
Olof hagsand
aaaeec92eb
Internal RESTCONF changes:
...
- Kill running process directly, not schedul a kill
- fcgi: when kill, make exit more ordered, ensure fcgi-accept returns properly
2021-04-30 14:49:01 +02:00
Olof hagsand
0d7e644335
- Native restconf: use cligen buffers instead of libevent for replies
2021-04-29 14:06:05 +02:00
Olof hagsand
05009aed67
Add restconf get list extra =restval test
2021-04-28 11:31:41 +02:00
Olof hagsand
4c1249fd9b
More restconf error tests for coverage
2021-04-25 17:53:32 +02:00
Olof hagsand
448b56ca0c
- Removed sha1 code
...
- ifdef unused SOAP encoding
2021-04-24 22:06:26 +02:00
Olof hagsand
030715df61
Tests:
...
- Added tests for more coverage, including test_debug.sh
- Added yang deviation test
2021-04-24 17:51:39 +02:00
Olof hagsand
6981daf595
Fixed: [Multiple http requests in native restconf yields same reply #212 ]( https://github.com/clicon/clixon/issues/212 )
2021-04-24 17:43:05 +02:00
Olof hagsand
d48b8a8fad
-Yang Deviation/deviate : added yacc/lex syntax
2021-04-24 12:31:40 +02:00
Olof hagsand
1c7e52f829
Merge branch 'autocli' of https://github.com/shmuelnatan/clixon into shmuelnatan-autocli
2021-04-22 20:56:04 +02:00
shmuels
5d18c02dfe
completing the function of hide for autocli-op in the yang files
2021-04-22 19:22:31 +03:00
shmuels
bfb7edece4
completing the function of hide for autocli-op in the yang files
2021-04-22 19:17:32 +03:00
Olof hagsand
ecd5f7de70
* Add default network namespace constant: RESTCONF_NETNS_DEFAULT with default value "default".
2021-04-22 13:45:02 +02:00
shmuels
0ffff7844e
completing the function of hide for autocli-op in the yang files
2021-04-21 15:25:11 +03:00
shmuels
b0c5e43d50
completing the function of hide for autocli-op in the yang files
2021-04-21 15:15:35 +03:00
shmuels
33ad428854
completing the function of hide for autocli-op in the yang files
2021-04-21 15:09:40 +03:00
Olof hagsand
91a583253e
- Fixed plugin-module initialized twice in restconf-fcgi
...
- Test script: wait for restconf to stop
2021-04-19 13:54:58 +02:00
Olof hagsand
b88722fa25
- Restructure plugin module using a "module struct" rather than global variables.
...
This include plugin module init and exit functions
New type: clixon_plugin_t exposed via public API while struct clixon_plugin is private
- Makefile changes for static linkage using "LINKAGE=static"
- Moved nacm external init to later stage in backend_main
2021-04-19 11:06:40 +02:00