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
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
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
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
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
93a4777f0f
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-07-27 10:53:47 +02:00
Olof hagsand
dee081646c
* 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-07-27 10:31:16 +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
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
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
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
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
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
05009aed67
Add restconf get list extra =restval test
2021-04-28 11:31:41 +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
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
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
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
9f5176adf5
Fix: Restconf service did not close when restconf config was removed
2021-04-09 13:47:05 +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
477059f33d
Fixed again: [backend start resconf failed due to path string truncated #192 ]( https://github.com/clicon/clixon/issues/192 )
2021-03-24 12:23:00 +01:00
Olof hagsand
5ec8965d18
Fixed: [backend start resconf failed due to path string truncated #192 ]( https://github.com/clicon/clixon/issues/192 )
2021-03-22 12:16:52 +01:00
Olof hagsand
43db8dd5c5
Fixed: [state showing error in cli with CLICON_STREAM_DISCOVERY_RFC8040 #191 ]( https://github.com/clicon/clixon/issues/191 )
2021-03-18 10:41:08 +01:00
Olof hagsand
afdf6ffcf8
Fixed: [state showing error in cli with CLICON_STREAM_DISCOVERY_RFC8040 #191 ]( https://github.com/clicon/clixon/issues/191 )
2021-03-18 09:43:13 +01:00
Olof hagsand
fb9917e81e
* Removed endtag parameter of clixon_xml_parse_file()
2021-03-15 13:24:27 +01:00
Olof hagsand
07d196dfd0
Added several fields to process-control status operation: active, description, command, status, starttime, pid
2021-03-12 17:22:22 +01:00
Olof hagsand
7e9a207ab2
* New clixon-lib@2020-03-08.yang revision
...
* Changed: RPC process-control output to choice dependent on operation
2021-03-12 12:10:25 +01:00
Olof hagsand
7762b10cbb
* Changed signal handling
...
* Moved clixon-proc sigchild handling from handler to clixon_events
2021-03-11 18:12:43 +01:00
Olof hagsand
dea3962cc0
* Fixed: [The config false leaf shouldn't be configed in startup stage #189 ]( https://github.com/clicon/clixon/issues/189 )
2021-03-11 09:11:14 +01:00
Olof hagsand
f01efaf02a
fixed fcgi notification, genmodel
2021-03-10 14:45:18 +01:00
Olof hagsand
b7991d9b39
* Made a separate Clixon datastore XML/JSON top-level symbol
...
* Replaces the hardcoded "config" keyword.
* Implemented by a compile-time option called `DATASTORE_TOP_SYMBOL` option in clixon_custom.h
* Tests: added endtest to all tests. Removed all premature exits if BE=0
2021-03-05 14:15:15 +01:00
Olof hagsand
2ab90d847b
Restart restconf daemon only if restconf config is edited (not all)
2021-03-05 13:11:04 +01:00
Olof hagsand
b2f9c59a34
* Reverted blocked signal behavior introduced in 5.0.
...
* Introduced a delay before making process start/stop/restart processes for race conditions when configuring eg restconf
* For restconf `CLICON_BACKEND_RESTCONF_PROCESS`, restart restconf if restconf is edited.
2021-03-02 12:24:07 +01:00