Commit graph

1450 commits

Author SHA1 Message Date
Olof hagsand
07f96934b3 need to check grand-parent exists 2020-12-16 11:37:02 +01:00
Olof hagsand
0e1ae1deab Merge branch 'master' of https://github.com/dcornejo/clixon into dcornejo-master 2020-12-16 10:18:37 +01:00
Olof hagsand
ff8650c748 restconf-rpc tests 2020-12-15 17:22:07 +01:00
Olof hagsand
22adc58187 * New process-control RPC feature in clixon-lib.yang to manage processes
* This is an alternative to manage a clixon daemon via sudtemd, containerd or other
  * One important special case is starting the clixon-restconf daemon internally
  * This is how it works:
    * Register a process via `clixon_process_register(h, name, namespace, argv, argc)`
    * Use process-control RPC defined in clixon-lib.yang to start/stop/restart or query status on that process
  * Example code in the main example
2020-12-15 15:48:42 +01:00
Olof hagsand
b8641f30bd * More YANG extension functionality,
* See [Augment auto-cli for hiding/modifying cli syntax #156](https://github.com/clicon/clixon/issues/156) and [hiding auto-generated CLI entries #153](https://github.com/clicon/clixon/issues/153)
  * Extensions can be used in augmentations
  * Extension `autocli-op` has been added to add "hidden" commands in the autocli
  * Documentation: https://clixon-docs.readthedocs.io/en/latest/misc.html#extensions
2020-12-08 17:21:37 +01:00
Olof hagsand
e1b94d94d2 * Ensure all fopen check for NULL (not -1)
* Improve test-perf cycles
2020-12-07 13:33:21 +01:00
Olof hagsand
a71e8aaceb * minor edits make datastore=nocache pass tests, and ensure generic copy-config works 2020-12-04 14:47:55 +01:00
Olof hagsand
d045e8abce * Fixed: [namespace prefix nc is not supported in full #154](https://github.com/clicon/clixon/issues/154)
* edit-config "config" parameter did not work with prefix other than null
2020-12-02 14:21:17 +01:00
Olof hagsand
2b9f19a19f test rpc keyless wrong order 2020-12-02 09:53:33 +01:00
Olof hagsand
e46f6f4a36 * Error-type changed from protocol to application for data-not-unique netconf/restconf errors
* Added new revision of main example yang: `clixon-example@2020-12-01.yang`
* Fixed [YANG: key statement in rpc/notification list #148](https://github.com/clicon/clixon/issues/148)
  * Do not check uniqueness among lists without keys
2020-12-01 18:58:20 +01:00
Olof hagsand
c32950c8a9 * Added message-id attributes in error and hello replies
* See [namespace prefix nc is not supported in full #154](https://github.com/clicon/clixon/issues/154)
* Removed mandatory loading of clixon_restconf.yang
2020-12-01 12:14:30 +01:00
Baruch Siach
1a60d581c9 Encode xpath select values with yang
Search key values might contain xml meta-characters. These break
clixon_xml_parse_string() unless properly encoded.
2020-11-30 14:34:58 +02:00
Olof hagsand
7d55e635cc travis makefile build 2020-11-30 12:42:47 +01:00
Olof hagsand
19fb063f82 Support for building static lib: 2020-11-29 17:00:35 +01:00
Olof hagsand
542c0495b3 autocli sub fixes 2020-11-28 18:17:32 +01:00
Olof hagsand
75f85e0253 revert yang2cli sub code, use existing yang2cli solution 2020-11-27 15:31:27 +01:00
Olof hagsand
dda3244252 * Auto-cli changed singature of yang2cli()
* Auto-cli: create generated CLI for sub-parts of a YANG spec
2020-11-26 17:32:09 +01:00
Olof hagsand
f69daf773e more test and vagrant for nginx checks 2020-11-25 19:48:42 +01:00
Olof hagsand
0b948248e4 * Reworked evhtp restconf config to only use clixon-restconf.yang and marked local restconf options as obsolete
* Extended clicon-config with clixon-restconf for local config
* Removed obsolete CLICON_TRANSACTION_MOD
2020-11-21 13:16:29 +01:00
Olof hagsand
3d10c3bfcb evhtp debugging: memleaks, test errors, etc 2020-11-19 18:06:20 +01:00
Olof hagsand
daaf3f17df revert clixon-err on XML
restconf backend config
2020-11-18 13:57:25 +01:00
Olof Hagsand
a2bef12ce0 strncpy warnings fixed: stringop-truncation and stringop-overflow 2020-11-17 07:35:50 -06:00
Olof hagsand
4eee00101c Disabling IPv6 per default due to failing docker tests 2020-11-15 18:16:06 +01:00
Olof hagsand
6eb18da5e9 * Multi-socket feature (eg IPv4/IPv6 http/https) to restconf evhtp
* Added by-ref parameter to `ys_cv_validate()` returning which sub-yang spec was validated in a union.
2020-11-15 12:34:40 +01:00
Olof Hagsand
707685f5ff minor alignment 2020-11-15 05:13:05 -06:00
Dave Cornejo
1af53a32ce make xml2xpath1() less picky
this function would never traverse up an XML tree from a node that
was not bound to a YANG model. this prevents the function from
working in some cases where it could.
2020-11-13 11:41:31 -05:00
Olof hagsand
6ecb0d5232 tests for restconf backend configure
rm client-cert-ca
2020-11-06 11:41:59 +01:00
Olof hagsand
c31b1c471b * Changed first parameter from int fd to FILE *f in the following functions:
* clixon_xml_parse_file(), clixon_json_parse_file(), yang_parse_file()
  * See [Bytewise read() of files is slow #146](https://github.com/clicon/clixon/issues/146)
2020-11-04 22:21:42 +01:00
Olof hagsand
7a0838da3a * Restconf configuration has a new configure model: clixon-restconf.yang enabling restconf daemon configuration from datastore instead of from config file. 2020-11-03 21:26:34 +01:00
Olof hagsand
1df420255e Fixed [Clixon backend generates wrong XML on empty string value #144](https://github.com/clicon/clixon/issues/144) 2020-10-28 14:28:34 +01:00
Olof hagsand
fab261cb53 * Added XPATH functions position 2020-10-27 09:40:45 +01:00
Jonathan Ben-Avraham
f274a77414 Updated @retval doxygen specs for all functions
Updated the @retval doxygen specs for clixon_datastore_read.c
functions to match 4.8.0 API
2020-10-23 10:22:46 +03:00
Olof hagsand
1614bcd19c Cleanup master for 4.9.0.PRE 2020-10-19 20:06:20 +02:00
Olof hagsand
a77cd27abb * Fixed: [namespace prefix nc is not supported](https://github.com/clicon/clixon/issues/143)
* Added more sanity checks on incoming top-level rpc and hello messages, including verifying top-level namespace
2020-10-17 18:04:46 +02:00
Olof hagsand
46bee9e358 Crash seen with startup mode as running with the XML_DB format being set to JSON. [clixon : 4.7.0] #138 2020-10-17 10:01:04 +02:00
Olof hagsand
4d35ace95f fix of performance enhancement commit for unique constraint 2020-10-16 15:43:37 +02:00
Olof hagsand
3d1ac2692d Fixed: Performance enhancement of unique list check (of duplicate keys) 2020-10-16 12:48:51 +02:00
Olof hagsand
0b3391836f * Fixed: Validate/commit error with false positive yang choice changes detected in validation found in ietf-ipfix-psamp.yang. 2020-10-15 21:35:14 +02:00
Olof hagsand
6465022f57 Find non-config nodes and mark/return error with better error message 2020-10-15 13:55:44 +02:00
Olof hagsand
6e81db18bb removed debug printf:s 2020-10-14 22:48:30 +02:00
Olof hagsand
fec6fbbd49 removed debug printf:s 2020-10-14 22:24:39 +02:00
Olof hagsand
a41bd8aed3 Merge branch 'master' of https://github.com/clicon/clixon 2020-10-14 11:23:59 +02:00
Olof hagsand
2d56c9674a * New YANG generated auto-cli feature with syntax modes
* The existing autocli does not support modes, complete paths must be given, eg: `set a b c d 42`.
  * In the new auto-cli, automatic modes are present at each YANG syntax node level, eg the above can be given as: `edit a b c; set d 4; top`
  * The existing CLI API remains, the new API is as follows: `cli_auto_edit()`, `cli_auto_up()`, `cli_auto_top()`, `cli_auto_show()`, `cli_auto_set()`, `cli_auto_merge()`, `cli_auto_create()`, `cli_auto_del()`.
  * See `test/test_cli_auto.sh` for an example of the new API, and `apps/cli/cli_auto.c` for the source code of the new callback API.
  * Documentation will be appear and full integration with the main example.
* Added inline state field to clixon-example.yang
* Added new clicon_data_cvec_*() API for generic cvec structs
2020-10-14 10:54:10 +02:00
Olof hagsand
f9cc26582a minor: strncpy -> strcpy and formatting 2020-10-10 15:32:19 +02:00
Olof hagsand
f8ac8cc14b typo on list check 2020-10-08 16:04:31 +02:00
Olof hagsand
5c67bcd364 validation of list keys rearrangement of code 2020-10-08 15:32:23 +02:00
Olof hagsand
469cbe0d64 Fixed: Accepted added subtrees containing lists with duplicate keys 2020-10-08 15:15:22 +02:00
Olof hagsand
8ae647c32b * More explanatory validation error messages for when and augments error messages.
* Example: error-message: `Mandatory variable` -> `Mandatory variable of edit-config in module ietf-netconf`.
2020-10-07 20:57:49 +02:00
Olof hagsand
1db43ca45b yang augment sanity checks 2020-10-05 15:49:22 +02:00
Olof hagsand
4d91bcd810 GET xpath on modstate was broken 2020-10-01 22:22:36 +02:00