Commit graph

  • 1324c914dc * Fixed: [statement: require-instance should be true if not present according to rfc7950 Sec 9.9.3](https://github.com/clicon/clixon/issues/302) Olof hagsand 2022-02-17 10:09:23 +01:00
  • 12695c5d87 * Unit test ifdef for restconf http1 parser * test: fix cli-union test Olof hagsand 2022-02-17 09:11:49 +01:00
  • 694f8b3f0d Test for https://github.com/clicon/clixon/issues/301 Olof hagsand 2022-02-16 14:42:19 +01:00
  • 61661e6940 Restconf and http/1 modifications for http/1-only Olof hagsand 2022-02-15 15:48:37 +01:00
  • c006c6189d - Fixed restconf http/1 only compile errors Olof hagsand 2022-02-15 09:31:32 +01:00
  • 82e0d907b3 restconf typo, left minimal debug recv buffer in place Olof hagsand 2022-02-15 08:52:57 +01:00
  • 12dddfd794 * RESTCONF, * Refactored http1 code * fixed some http1/http2 only compile issues Olof hagsand 2022-02-14 20:59:10 +01:00
  • 78bdc4eaca Backend ignore of SIGPIPE. This occurs if client quits unexpectedly over the UNIX socket. This is a timing issue but occurs more frequently in large RESTCONF messgaes. Olof hagsand 2022-02-14 20:53:31 +01:00
  • b7c0113331 - test: split perf_restconf into one with http/1 and one https/2 - typo: removed exit in test Olof hagsand 2022-02-13 14:24:37 +01:00
  • 10886a31a2 * Fixed inefficient RESTCONF HTTP/1 read body by appending bufs instead of re-parsing * Fixed: http1 by mistake included in fcgi build * Test: restconf perf test uses restconf for initial setup instead of netconf Olof hagsand 2022-02-12 21:46:15 +01:00
  • 6ae749c9dd * New clixon-config@2022-02-11.yang revision * Added option: CLICON_LOG_STRING_LIMIT Olof hagsand 2022-02-12 21:44:05 +01:00
  • 396680d0b3 CI: removed evhtp dependency Test: simplified test_helloworld.sh for it to run on openwrt Olof hagsand 2022-02-10 18:00:40 +01:00
  • 3ebc78e3ae Tests for duplication bugfix https://github.com/clicon/clixon/issues/301 Olof hagsand 2022-02-10 17:14:51 +01:00
  • 648b416cb9 Fixed: YANG parsing: unknown-stmt was not allowed within another unknown-stmt Olof hagsand 2022-02-09 14:21:40 +01:00
  • abaf122bfc RESTCONF HTTP/1 Incomplete header handling Olof hagsand 2022-02-09 10:10:52 +01:00
  • 51fd973642 Fuzzing of native http1 parser Olof hagsand 2022-02-08 21:26:53 +01:00
  • 4aa74fa1d8 * Restconf native http/1, first working version * Renamed files clixon_http -> restconf_http * Split main file into restconf_native.c * Remove all evhtp code and libevhtp/libevent dependency Olof hagsand 2022-01-27 17:05:52 +01:00
  • dadf4a778a * HTTP/1 native parser as part of the RESTCONF client * Fixed memory error in opendir/readdir in clicon_file_dirent * Remove MAXPATH in parsers * New string-del function Olof hagsand 2022-01-26 13:48:20 +01:00
  • 0ed34b4fab - test: IEEE yang models directory structure changed, ietf+ieee tests modified - yang parse minor lex edits: added comments and \r in some rules Olof hagsand 2022-02-08 12:03:47 +01:00
  • a96610f300
    Merge pull request #298 from theonemcdonald/cm-waitpid-segv-fix Olof Hagsand 2022-02-08 09:14:49 +01:00
  • 61e8841642 test: sleep typo, override YANG_INSTALLDIR in docker tests Olof hagsand 2022-02-07 14:41:50 +01:00
  • 2165a1368b test: helloworld to work in a minimal (openwrt) environment Olof hagsand 2022-02-07 14:16:20 +01:00
  • 4102ca8a46 * configure --with-wwwdir=<dir> is removed * test: * new test_helloworld.sh smoketest added for testing basic functions * stripped restconf fcgi default config * added yang variable Olof hagsand 2022-02-07 13:24:13 +01:00
  • ffc36a33b4 Code format tweak Christian McDonald 2022-02-04 10:17:14 -05:00
  • ea1897543b Fix potential segfault in clixon_process_waitpid. Christian McDonald 2022-02-04 10:14:00 -05:00
  • b5ecd6d5fa Fixed: input RPC validation of choice (non-case) Olof hagsand 2022-02-03 15:14:09 +01:00
  • bdc09851f0 * Command field of clixon-lib:process-control RPC reply used CDATA encoding but now uses regular XML encoding Olof hagsand 2022-01-27 09:55:31 +01:00
  • e116e51791 Test: added BE conditional for exiting backend (run your own backend) in multiple places where it was not in place. Olof hagsand 2022-01-25 15:56:57 +01:00
  • 504967864d - Fixed: More than one unknown/extension in combination with augment of extension resulted in extension being skipped. - print yang extension argument in yang-print functions. Olof hagsand 2022-01-25 15:37:11 +01:00
  • ed2ff88006 Removed example CLI unneccesary compare command for show compare Olof hagsand 2022-01-24 11:09:38 +01:00
  • fbeefd600e Clixon 5.6.0.PRE Olof hagsand 2022-01-24 11:07:09 +01:00
  • fd2f9b549f Clixon 5.5.0 CHANGELOG and README update Olof hagsand 2022-01-20 17:42:40 +01:00
  • 6d955160ed Clixon 5.5.0 Olof hagsand 2022-01-20 15:18:34 +01:00
  • 95f6fe8b1a * Fixed: Autocli YANG patterns including " were not properly escaped: \" Olof hagsand 2022-01-19 14:52:32 +01:00
  • 77b4468eb3 Updated copyright statements to 2022 Olof hagsand 2022-01-18 16:36:00 +01:00
  • b164f02277 * Removed ifdef __GNUC__ around printf-like prototypes since both clang and gcc have format/printf macros defined Olof hagsand 2022-01-18 16:05:50 +01:00
  • 519fe1f576 * CLI-spec variable CLICON_PROMPT %W changed semantics due to long prompt * From "Full Working edit path" to "Last element of working path" * New %w has "Full working path" Olof hagsand 2022-01-18 12:22:44 +01:00
  • f922211212 * Changed autocli tree-labels using ac_ and act_ prefixes * New automatic edit-mode design * Control which modes to use with edit-mode-default * Default is create edit-mode for all * New edit-mode tree: @datamodelmode Olof hagsand 2022-01-18 10:12:15 +01:00
  • 9b99d63411 - fix autocli modes error of empty type - rename tests test_cli_auto -> test_autocli Olof hagsand 2022-01-13 14:47:25 +01:00
  • e0bcca5405 * New clixon-lib@2021-12-05.yang revision * Extension autocli-op obsoleted and no longer supported * You need to change to use clixon-autocli hideand hide-show instead. * Translate as follows: * cl:autocli-op hide -> autocli:hide * cl:autocli-op hide-database -> autocli:hide-show * cl:autocli-op hide-database-auto-completion -> autocli:hide; autocli:hide-show Olof hagsand 2022-01-12 21:58:41 +01:00
  • 081e6871b3 * Renamed clixon-clispec.yang to clixon-autocli.yang * First version of clixon-autocli.yang semantics * Default rules for module exclusion, list-keywords, completion, treeref-state * Specialized rules for compress and exclusion of modules * See [autocli documentation](https://clixon-docs.readthedocs.io/en/latest/cli.html#autocli) * Obsoleted and moved autocli config options from clixon-config.yang to clixon-autocli.yang as follows: * CLICON_CLI_GENMODEL, use: autocli/module-default=false instead * Removed clicon_cli_genmodel() * CLICON_CLI_GENMODEL_TYPE, use autocli/list-keyword-default and compress rules instead) * Removed clicon_cli_genmodel_type() * CLICON_CLI_GENMODEL_COMPLETION, use autocli/completion-default instead * Removed clicon_cli_genmodel_completion() * CLICON_CLI_AUTOCLI_EXCLUDE, use autocli/rule/operation=exclude instead * CLICON_CLI_MODEL_TREENAME, use constant AUTOCLI_TREENAME instead * Removed clicon_cli_model_treename() * New YANG functions: yang_single_child_type, yang_find_namespace_by_prefix, yang_str2key * Changed return values of yang_find_prefix_by_namespace * Merged cli_cli2xml() into cli2xml() Olof hagsand 2021-12-28 19:21:52 +01:00
  • dec05e2cae Test modifications - Remove dependency of IETF YANGs on most tests - Remove dependnency of example/main in most tests, instead make local copy of example yang Olof hagsand 2022-01-03 09:21:19 +01:00
  • f92e9609dc Fixed static variant of test_static.sh Olof hagsand 2022-01-02 20:42:50 +01:00
  • 50ac510803 * Fixed: Configure option CLICON_RESTCONF_PATH was marked as obsolete but was still used. * CLICON_RESTCONF_PATH is now obsolete for sure * Instead if you use fgci/nginx: * Use restconf/fcgi-socket * Ensure <CLICON_FEATURE>clixon-restconf:fcgi</CLICON_FEATURE> is set * Added default values to restconf-config and save fcgi-socket-path in memory Olof hagsand 2021-12-31 17:05:39 +01:00
  • 1808015cf6 Fixed: SEGV when starting FCGI restconf program - Reverted removal of CLICON_RESTCONF_PATH since it was used there Misc fixes: initialized variables, docs, removed obsolete --enable-optyang Olof hagsand 2021-12-30 15:57:43 +01:00
  • 3117332ddd Changes in clixon-config.yang: * Removed obsolete options: * CLICON_YANG_LIST_CHECK * CLICON_RESTCONF_PATH (moved to restconf/fcgi-path) * Fixed: Configure option CLICON_RESTCONF_PRETTY was marked as obsolete but was still used. * CLICON_RESTCONF_PRETTY is now obsolete for sure * Instead restconf/pretty is used with API function restconf_pretty_get() Olof hagsand 2021-12-28 11:44:19 +01:00
  • 32930f4f6b * Added new YANG clixon-clispec.yang * This yang replaces many autocli option * New clixon-config@2021-12-05.yang revision * Imported (as a sub-spec): clixon-clispec.yang Olof hagsand 2021-12-19 22:52:42 +01:00
  • 4fbad467df * Tests: use YANG_STANDARD_DIR from ./configure --with-yang-standard-dir=DIR instead of YANGMODELS from site.sh Olof hagsand 2021-12-16 20:45:56 +01:00
  • f8f34e3571 * Replaced separate autocli trees with a single @basemodel tree by using filter labels * Added lastkey argument to yang_key_match() * Fixed segv in process-sigchld * Added ietf-yang-library to CLICON_CLI_AUTOCLI_EXCLUDE default value * Added yang_spec_print() function Olof hagsand 2021-12-15 14:23:05 +01:00
  • 87d243d7e5 - Forgot to git add clixon-clispec.yang - Adjusted clixon to removal of deep reftree copying in CLIgen - Deleted old clixon yang versions Olof hagsand 2021-12-10 08:53:26 +01:00
  • 3c8c33c385 * Ensure auto-cli can be run with CLICON_CLI_VARONLY=1 * Strip constants in cli_dbxml Olof hagsand 2021-12-07 20:09:25 +01:00
  • 8c5a5a0fb3 * New docker build (preliminary) for a development container * Load clixon-clispec on start Olof hagsand 2021-12-07 20:01:14 +01:00
  • 854958b5e8 rpc_callback_call(): Check if nrp parameter is NULL to avoid SEGV Olof hagsand 2021-12-05 12:34:59 +01:00
  • 478911d0f5 * Changed typo configure --with-yang-standard-installdir to `configure --with-yang-standard-dir * Updated command-line usage of cli,netconf,backend apps in sync with clixon-docs user manual * Documented differences between protocol stubs for external vs internal netconf Olof hagsand 2021-12-05 12:13:56 +01:00
  • b67fae4d61 Started Clixon 5.5.0.PRE and removed optional YANGs (already disabled in 5.4.0) Olof hagsand 2021-12-05 12:03:10 +01:00
  • 01002ab14a vagrant script updates Olof hagsand 2021-11-30 16:00:41 +01:00
  • 2a84fb089f Vagrant scripts adjusted for external YANG models and freebsd Olof hagsand 2021-11-30 15:22:00 +01:00
  • 6ab4e9dfdf Clixon 5.4.0 release Olof hagsand 2021-11-30 08:57:18 +01:00
  • 716d0cb15f * Preparations for Clixon 5.4 release, docs, readme:s, etc Olof hagsand 2021-11-29 13:52:52 +01:00
  • f4b35cb270 * [JSON leaf-list output single element leaf-list does not use array](https://github.com/clicon/clixon/issues/289) Olof hagsand 2021-11-29 13:43:10 +01:00
  • 339b744835 * Optional yangs for testing have been removed from the Clixon repo * These were included for testing * If you want to run the Clixon test suite you need to point YANGMODELS, see test/README.md * The following configure options have been removed: * configure --with-opt-yang-installdir=DIR * configure --enable-optyangs * You may need to specify standard YANGs using configure option --with-yang-standard-dir=DIR * Updated yang ietf models with fetures for tet * Added option CLICON_YANG_AUGMENT_ACCEPT_BROKEN to accept broken yangmodels. * This is a debug option for CI testcases where standard YANG models are broken Olof hagsand 2021-11-27 17:54:56 +01:00
  • bc1f80b28e Added support for the XPATH function bit-is-set() Olof hagsand 2021-11-27 15:38:13 +01:00
  • ee5c0a08d5 - yang sorting did not use "stable" qsort: fixed by using vector index Olof hagsand 2021-11-26 15:17:23 +01:00
  • 5388aace12 Refactoring for better performance of large auto-cli specs Olof hagsand 2021-11-25 12:04:05 +01:00
  • b91ce762d5 * Performance improvement * Added ancestor config cache indicating wether the node or an ancestor is config false or true * Improved yang cardinality lookup * Added yang_init(), called from all apps using yang Olof hagsand 2021-11-18 08:37:54 +01:00
  • 0626de9431 * RPC replies now verified with YANG * Stricter checking of outgoing RPC replies from server * See [RPC output not verified by yang](https://github.com/clicon/clixon/issues/283) * This lead to some corrections of RPC replies in system code Olof hagsand 2021-11-16 22:09:16 +01:00
  • cfe1f2936e stronger defaults test Olof hagsand 2021-11-16 15:29:00 +01:00
  • acc9c083a4 * Added sorting of YANG statements * Some openconfig specs seem to have use/when before a "config" which it depends on. This leads to XML encoding being in the "wrong order. * When parsing, clixon now sorts container/list statements so that sub-statements with WHEN are put last. * See [Statements given in "load set" are order dependent](https://github.com/clicon/clixon/issues/287) * Fixed: [Statements given in "load set" are order dependent](https://github.com/clicon/clixon/issues/287) Olof hagsand 2021-11-16 14:28:16 +01:00
  • a64464beda -* xml_dump debug function Olof hagsand 2021-11-15 13:11:56 +01:00
  • 7d9d0017a9 Fixed an issue with openconfig path compression: the compression was always done, not exclusively for openconfig. See [OpenConfig path compression](https://github.com/clicon/clixon/pull/276) Olof hagsand 2021-11-14 17:54:58 +01:00
  • 2bb5c23856 * [RPC get-conf method returned some content not specified by select filter](https://github.com/clicon/clixon/issues/281) * Bug introduced when upgrading of list pagination Olof hagsand 2021-11-13 22:38:23 +01:00
  • 81da71ffd7 * XML to JSON CDATA translation is NOT stripped * Example, assume XML: <s><![CDATA[ z > x & x < y ]]></s> * Previous bevavior: * JSON: {"s":" z > x & x < y "} * New behavior: * JSON: {"s":"<![CDATA[ z > x & x < y ]]>"} * To keep old behavior, set JSON_CDATA_STRIP in clixon_custom.h Olof hagsand 2021-11-13 17:11:00 +01:00
  • 7976c11f11 Add restart plugin library code for netconf and cli Olof hagsand 2021-11-13 16:46:47 +01:00
  • 51316d5d61 Fixed: [type leafref in type union ineffective](https://github.com/clicon/clixon/issues/277) * Leafrefs and identityrefs in unions were not validated correctly Olof hagsand 2021-11-12 10:51:18 +01:00
  • fd29559b25 * New clixon-config@2021-11-11.yang revision * Modified options: * CLICON_CLI_GENMODEL_TYPE: added OC_COMPRESS enum * CLICON_YANG_DIR: recursive search Olof hagsand 2021-11-11 15:00:12 +01:00
  • 2dcc14a0db Added error handling in yang_path_arg triggered by no filter in get paginated Fixed cornercase of restconf error return when no body Fixed cornercase when exactly / given as xpath Better error message when YANG not found: added which YANG file imports it Olof hagsand 2021-11-09 20:02:40 +01:00
  • a4b4dc97ce Pagination updated Olof hagsand 2021-11-09 17:38:17 +01:00
  • baa6e821a8 Fixed [yang in CLICON_YANG_MAIN_DIR can't import module's in CLICON_YANG_DIR recursively](https://github.com/clicon/clixon/issues/286) Which was a PR for [Recursive search CLIXON_YANG_DIR](https://github.com/clicon/clixon/issues/284) Olof hagsand 2021-11-10 17:03:26 +01:00
  • 52e63a14d0
    Merge pull request #285 from krihal/feature_recursive_search Olof Hagsand 2021-11-09 10:07:44 +01:00
  • 02a5d97377
    Only test recursive dirs for OpenConfig tests. Kristofer Hallin 2021-11-09 09:17:53 +01:00
  • 9ce20ea449
    Resolved conflict. Kristofer Hallin 2021-11-09 08:53:47 +01:00
  • 057abe56e0
    Fix for issue #284, do recursive lookup when reading YANG files from directory. Kristofer Hallin 2021-11-08 20:04:35 +01:00
  • a1fe080111 CLIgen mem leak, test augment Olof hagsand 2021-11-05 14:43:28 +01:00
  • 9daa214b3e
    Merge pull request #279 from dus7eh/fix_array_parsing Olof Hagsand 2021-11-05 14:32:14 +01:00
  • 5297ebe3cb Fixed: [cl:autocli-op hide has no effect in yang submodule](https://github.com/clicon/clixon/issues/282) Olof hagsand 2021-11-04 16:22:27 +01:00
  • d335a72659 Use 5.3 cligen API Olof hagsand 2021-10-31 16:36:29 +01:00
  • 46647089ad * Use new cligen cvv options. * NOTE cannot use old CLIgen API Olof hagsand 2021-10-31 15:46:41 +01:00
  • a52b92bd43 Added negative openconfig path compress test Olof hagsand 2021-10-23 17:28:29 +02:00
  • 39960cc205 fix: restore signal mask must not use 0 Olof hagsand 2021-10-22 09:38:46 +02:00
  • 52744c9301 Revert "List pagination locking for state-data changes" Olof hagsand 2021-10-30 15:49:23 +02:00
  • eea6d549f6 List pagination locking for state-data changes Olof hagsand 2021-10-28 14:49:33 +02:00
  • c1bcef37a7 Append prefix before cloning Damian E 2021-10-26 22:13:04 +02:00
  • 197fc16e69
    Merge pull request #276 from krihal/feature_openconfig_compress Olof Hagsand 2021-10-22 09:32:44 +02:00
  • 9d8d9ac042
    Merge branch 'master' into feature_openconfig_compress Olof Hagsand 2021-10-22 09:23:48 +02:00
  • b29387ce1d
    Changes as per review. Kristofer Hallin 2021-10-21 22:01:04 +02:00
  • 063e6d6faa Added "exist" parameter to yang_extension_value() Olof hagsand 2021-10-21 21:45:14 +02:00
  • 448aa4c994 include signal.h Olof hagsand 2021-10-21 16:04:05 +02:00
  • 5d29d8aff0 Plugin context check: check termios settings Olof hagsand 2021-10-21 15:44:04 +02:00
  • 7d7024d114 Plugin-context: moved status field from struct to function retval Olof hagsand 2021-10-20 11:17:14 +02:00
  • c93348d8d5 Hide plugin check handler struct with a handler Olof hagsand 2021-10-19 17:28:13 +02:00