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
37bcceac02
* Fixed: RESTCONF Native: Failed binding of socket in network namespace caused process zombie
2021-05-17 22:50:07 +02:00
Olof hagsand
376f2a8143
* Fixed problems with XPATH composite operations and functions in netconf get/get-config operations.
...
* See [XPATH issues #219 ](https://github.com/clicon/clixon/issues/219 )
2021-05-17 10:07:09 +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
5c7498ee40
Merge pull request #220 from shmuelnatan/master
...
change localtime to localtime_r which is a thread-safe function
2021-05-12 08:45:38 +02:00
Olof hagsand
40f4df1390
Add timeout 100ms before every kill restconf iteration
2021-05-11 15:55:33 +02:00
shmuels
b362d0d511
change localtime to localtime_r which is a thread-safe function
2021-05-10 18:53:21 +03: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
1c5c5a71f2
- Fixed deviate keywords as strings: https://github.com/clicon/clixon/issues/211
2021-05-06 14:44:22 +02:00
Olof hagsand
17e7b25537
* RESTCONF in Clixon used empty key as "wildchar". But according to RFC 8040 it should mean the "empty string".
...
* Example: `GET restconf/data/x:a=`
* Previous meaning (wrong): Return all `a` elements.
* New meaning (correct): Return the `a` instance with empty key string: "".
* [RESTCONF GET request of single-key list with empty string returns all elements #213 ](https://github.com/clicon/clixon/issues/213 )
* [RESTCONF GETof lists with empty string keys does not work #214 ](https://github.com/clicon/clixon/issues/214 )
2021-05-05 15:04:22 +02:00
Olof hagsand
af04ec9e9d
Completed: Yang deviation [deviation statement not yet support #211 ]( https://github.com/clicon/clixon/issues/211 )
2021-05-04 11:38:39 +02:00
Olof hagsand
5a72626aa4
- Yang deviation [deviation statement not yet support #211 ]( https://github.com/clicon/clixon/issues/211 )
...
- Added "depth" parameter to yang_apply
- Added extra API function to yang_cardinality to check individual relation
2021-05-03 14:34:35 +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
e59b7e1616
Merge pull request #210 from nowaits/master
...
add clixon proc get pid api
2021-04-29 14:30:34 +02:00
Olof hagsand
05009aed67
Add restconf get list extra =restval test
2021-04-28 11:31:41 +02:00
Olof hagsand
448b56ca0c
- Removed sha1 code
...
- ifdef unused SOAP encoding
2021-04-24 22:06:26 +02:00
Olof hagsand
d48b8a8fad
-Yang Deviation/deviate : added yacc/lex syntax
2021-04-24 12:31:40 +02:00
jxm
45f3d48179
add clixon proc get pid api
2021-04-23 10:44:06 +08: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
bfb7edece4
completing the function of hide for autocli-op in the yang files
2021-04-22 19:17:32 +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
1d29d29415
- Fixed: [xml2txt last param not used #204 ]( https://github.com/clicon/clixon/issues/204 )
...
- test: coverage test scripts for CI
2021-04-20 13:05:23 +02:00
Olof Hagsand
e9b07cebab
Merge pull request #205 from shmuelnatan/master
...
change localtime to localtime_r which is a thread-safe function
2021-04-20 10:31:22 +02: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
shmuels
d962399db0
Revert "change localtime to localtime_r which is a thread-safe function"
...
This reverts commit 8ca5944111 .
2021-04-19 13:29:00 +03: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
shmuels
c370ac8706
completing the function of hide for autocli-op in the yang files
2021-04-18 16:58:18 +03:00
shmuels
8ca5944111
change localtime to localtime_r which is a thread-safe function
2021-04-18 10:19:07 +03:00
Olof hagsand
7ebb538ebf
- Changed master to 5.2.0.PRE
...
- Modified Makefiles for static linkage and coverage
- test namespace abstractions
2021-04-17 15:23:10 +02:00
Olof hagsand
172cfd69b3
- Fixed [clixon_proc can't start new process with PATH env #202 ]( https://github.com/clicon/clixon/issues/202 )
...
- Memory errors in tests
2021-04-14 17:02:24 +02:00
Olof hagsand
1af3a7bcfe
- Restconf bind: continue with other sockets if bind fails, print address on log
...
- Multi-yang: Look in CLICON_YANG_MAIN_DIR, not only CLICON_MAIN_DIRs for old yangs
- Backend -q quit option enhanced for multi-yang case
2021-04-14 17:02:24 +02:00
Olof hagsand
c43e216d67
- Restconf bind: continue with other sockets if bind fails, print address on log
...
- Multi-yang: Look in CLICON_YANG_MAIN_DIR, not only CLICON_MAIN_DIRs for old yangs
- Backend -q quit option enhanced for multi-yang case
2021-04-13 18:00:27 +02:00
Olof hagsand
5af7ea9b38
* Added check of old config in upgrade scenarios.
...
* Added to clixon-config.yang `CLICON_XMLDB_UPGRADE_CHECKOLD`, set to false to keep less strict check
2021-04-12 21:03:20 +02:00
Olof hagsand
8469a0962e
* Add multiple yang support also for obsolete versions
...
* This means that files and datastores supporting modstate also looks for deleted or updated yang modules.
* A stricter binding which gives error if loading outdated YANG file does not exist.
* Stricter yang checks: you cannot do get-config on datastores that have obsolete YANG
* Added xerr output parameter to `xmldb_get0()`
2021-04-12 12:42:26 +02:00
Olof hagsand
d542cd5530
Add cli debug commands for cli/backend/restconf
2021-04-12 12:38:16 +02:00
Olof hagsand
953326d39f
- Rewrote process control to simpler state model: stopped/running/exiting
...
- Stricter CLICON_BACKEND_RESTCONF_PROCESS :
- if set, restconf daemon queries backend for its config
- if not set, restconf daemon reads its config from main config file
2021-04-12 10:31:17 +02:00
Olof hagsand
15d01c58d8
- Better restconf debug: when restconf debug flag set in datastore, ensure the process is started with -D set
...
- Fixed native http support for base container
- Changed test certs and restconf scripts to functions
2021-04-09 09:34:05 +02:00
Olof hagsand
244060fddc
- Added specific WITH_RESTCONF compile contants for _NATIVE and _FCGI for C code
...
- Restconf auth=none changes
- Load clixon-restconf and resolve features earlier so that config features work
- Removed auth=none code from example (this was non-std half-baked basic auth)
- Changed tests that used auth-type=none to enable feature clixon-restconf:allow-auth-none
- Moved cert creation from sub-shell to servercert function
- Fixed typos for dockerfile rename of restconf evhtp to native
2021-04-07 20:54:41 +02:00
Olof hagsand
7412bb7b3d
Fixed [changing interface name not support with openconfig module #195 ]( https://github.com/clicon/clixon/issues/195 )
2021-04-06 22:36:46 +02:00
Olof hagsand
01d0ea905c
Added nonblocking socket support for SSL_read/SSL_accept/SSL_write
2021-04-02 18:06:45 +02:00
Olof hagsand
698625aa65
evhtp configure and warnings
2021-04-02 13:09:53 +02:00
Olof hagsand
2def5d2367
* Fixed Yang parsing of comments in (extension) unknown statements, to allow multiple white space
...
* Fixed cli_start_shell: comments and cli_error
* Fixed [making cli_show_options's output more human readable #199 ](https://github.com/clicon/clixon/issues/199 )
* Fixed SSL/evhtp limited read buffer problem
2021-04-01 15:56:56 +02:00
Olof hagsand
0020c7ff3f
cicd test fixes for libevhtp and warnings
2021-04-01 11:20:48 +02:00
Olof hagsand
c7e7598e3b
* Updated "evhtp" restconf mode
...
* No reliance on libevent or libevhtp, but on libssl >= 1.1 directly
* Moved out event handling to clixon event handling
* Moved out all ssl calls to clixon
* New code MUST use libevhtp from https://github.com/clixon/clixon-libevhtp.git
* This does NOT work: libevhtp from https://github.com/criticalstack/libevhtp.git
2021-03-30 16:00:03 +02:00