Commit graph

755 commits

Author SHA1 Message Date
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
c50f9f8056 Added test for restconf tls too weak ca using md5 2021-05-07 14:05:40 +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
6605ab8ce7 Restconf native: add error bodies on early errors 2021-05-05 20:40:59 +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
27af25f57b test: perf restconf rm nginx headers 2021-04-29 14:45:15 +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
6cb75f5492 Add tab mode in example. Make coverage script sh->bash script 2021-04-22 20:44:37 +02:00
Olof hagsand
ecd5f7de70 * Add default network namespace constant: RESTCONF_NETNS_DEFAULT with default value "default". 2021-04-22 13:45:02 +02:00
Olof hagsand
2ce8d9b488 Added codecov config file 2021-04-21 19:23:17 +02: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
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
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
f9f533834b update openconfig test to latest pull 2021-04-15 22:22:25 +02:00
Olof hagsand
ae943d485e prepare for 5.1.0 2021-04-15 20:14:25 +02:00
Olof hagsand
bba23be444 mem fixes, evolved openconfig interfaces test 2021-04-15 10:12:35 +02:00
Olof hagsand
1cd0eab7ff Fixed broken test scripts sum.sh and all.sh 2021-04-14 17:13:02 +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
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
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
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
Olof hagsand
698625aa65 evhtp configure and warnings 2021-04-02 13:09:53 +02:00
Olof hagsand
0020c7ff3f cicd test fixes for libevhtp and warnings 2021-04-01 11:20:48 +02:00
Olof hagsand
e9df7b81f2 Building problems with evhtp 2021-03-31 22:38:24 +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
Olof hagsand
95a820c862 clicon_err: Missed print strerr due to category error. 2021-03-30 14:26:22 +02:00
Olof hagsand
709459304f * Removed cli_debug(). Use cli_debug_backend() or cli_debug_restconf() instead.
* Created restconf debug rpc stub function and documented restconf debugging
2021-03-22 14:56:05 +01:00
Olof hagsand
f8830dc27e Fixed: [yang submodule show error in modules-state #190](yang submodule show error in modules-state #190) 2021-03-17 15:44:45 +01:00
Olof hagsand
f536b1dc67 Added: CLICON_CLI_AUTOCLI_EXCLUDE
Added openconfig interfaces tests
2021-03-15 13:08:42 +01:00
Olof hagsand
1f5e71512a mem leaks in netconf hello 2021-03-13 17:50:43 +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