Commit graph

728 commits

Author SHA1 Message Date
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
shmuels
cede620a2a completing the function of hide for autocli-op in the yang files 2021-04-19 10:27:44 +03:00
shmuels
c370ac8706 completing the function of hide for autocli-op in the yang files 2021-04-18 16:58:18 +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
51df120e9e
Merge pull request #203 from dcornejo/master
Add ability to enable core dumps from RESTCONF process
2021-04-15 20:00:30 +02:00
Dave Cornejo
ec0c5118a4 Cleanup pull request
Remove clixon-restconf 2021-04-12, add changes to 2021-03-15
Remove noisy debug logging
2021-04-15 07:30:26 -10:00
Olof Hagsand
418f8f4c6f
Merge pull request #200 from nowaits/master
yang container add support for cl:autocli-op
2021-04-15 10:17:08 +02:00
Olof hagsand
bba23be444 mem fixes, evolved openconfig interfaces test 2021-04-15 10:12:35 +02:00
Dave Cornejo
e4885d51e6 Add ability to enable core dumps from RESTCONF process
Contributed by Rubicon Communications LLC, dbs Netgate
2021-04-14 09:42:37 -10: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
21a65d4a75 Build and test issues with evhtp 2021-04-12 12:50:42 +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
jxm
b938c0c40c yang container add support for cl:autocli-op 2021-04-09 15:27:37 +08:00
Olof hagsand
692dc12c03 * Fixed ["aux" folder issue with Windows. #198](https://github.com/clicon/clixon/issues/198)
* Updated config scripts
* removed unused expand_dir util cli function
* Fixed again [making cli_show_options's output more human readable #199](https://github.com/clicon/clixon/issues/199)
2021-04-07 09:44:18 +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
d8be601606 * To configure native mode use: configure --with-restconf=native, changed from: configure --with-restconf=evhtp 2021-04-06 08:48:45 +02:00
Olof hagsand
d874a696f7 Shortened ssl test keys to 1024 to make tests faster
Fixed memory error in SSL code
2021-04-05 14:00:28 +02:00