Commit graph

  • fc78824110 Many validation functions have changed error parameter from cbuf to xml tree. Olof hagsand 2019-06-10 12:49:40 +02:00
  • dfa3970ab2 RESTCONF PUT list key problems Olof hagsand 2019-06-08 16:32:56 +02:00
  • 97079b0a88 Fixed side-effect of RESTCONF PUT key-match patch Olof hagsand 2019-06-08 10:17:56 +02:00
  • 519fac186c Extended util/clixon_util_xml with yang and validate functionality so it can be used as a stand-alone utility for validating XML/JSON files Olof hagsand 2019-06-07 10:16:03 +02:00
  • ee863e5dbd YANG_INSTALLDIR fixes Olof hagsand 2019-06-05 17:53:08 +02:00
  • 88b0db3e95 * Replaced CLIXON_DATADIR with two configurable options defining where Clixon installs Yang files. * use --with-yang-installdir=DIR to install Clixon yang files in DIR * use --with-std-yang-installdir=DIR to install standard yang files that Clixon may use in DIR * Default is (as before) /usr/local/share/clixon Olof hagsand 2019-06-05 17:46:30 +02:00
  • 934bc42c91 removed old clixon yang files Olof hagsand 2019-06-05 12:15:38 +02:00
  • 42a974bf78 mem problem in refine/augment code Olof Hagsand 2019-06-05 09:54:13 +00:00
  • d3c392b69d * New clixon-config@2019-06-05.yang revision * Added: CLICON_YANG_REGEXP, CLICON_CLI_TAB_MODE, CLICON_CLI_HIST_FILE, CLICON_CLI_HIST_SIZE, CLICON_XML_CHANGELOG, CLICON_XML_CHANGELOG_FILE. * Renamed: CLICON_XMLDB_CACHE to CLICON_DATASTORE_CACHE and type changed. * Deleted: CLICON_XMLDB_PLUGIN, CLICON_USE_STARTUP_CONFIG; * New clixon-lib@2019-06-05.yang revision * Added: ping rpc added (for liveness) * Check cligen tab mode, dont start if CLICON_CLI_TAB_MODE is undefined Olof hagsand 2019-06-05 10:58:02 +02:00
  • dc45600074 Yang 'refine' feature supported, According to RFC 7950 7.13.2 Olof hagsand 2019-06-05 10:23:49 +02:00
  • 3dba0b5370 Restore xmldb_get() to original (but removed one parameter Moved all zero-copy xmldb_get functions to xmldb_get0. Clarified CHANGELOG for xmldb_get changes Olof hagsand 2019-06-04 11:14:03 +02:00
  • 2aeb925521 * JSON parse and print improvements * Integrated parsing with namespace translation and yang spec lookup Olof hagsand 2019-06-03 16:40:54 +02:00
  • 18ab5e7dfe restructuring of type cache for regexp compile complex case Olof Hagsand 2019-05-30 10:29:46 +00:00
  • 683d570008 recompile regexp on cache miss after ys copy Olof hagsand 2019-05-30 00:03:37 +02:00
  • 2e23a8c275 problems w regexp compiled void pointers and memory Olof hagsand 2019-05-29 22:49:57 +02:00
  • 55f9b7cab0 Added CLIgen tab-modes in config option CLICON_CLI_TAB_MODE, which means you can control the behaviour of <tab> in the CLI. Olof hagsand 2019-05-29 20:11:31 +02:00
  • 0ef704563b empty unquoted string; unknown in anydata/xml Olof hagsand 2019-05-29 19:36:23 +02:00
  • 2ae9529a3e added regexp free routines, replaced regexp mode string with symbol Olof Hagsand 2019-05-29 14:17:30 +00:00
  • 5706703ab4 Added support for inverted regexps Olof hagsand 2019-05-29 14:39:36 +02:00
  • 2fe185d683 * Support for multiple patterns as described in RFC7950 Section 9.4.7 * Added regex cache to type resolution * Added compiled regexp parameter as part of internal yang type resolution functions * All internal ys_populate_*() functions (except ys_populate()) have switched parameters: clicon_handle, yang_stmt *) Olof hagsand 2019-05-29 11:39:09 +02:00
  • efd1330550 Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-05-24 10:43:09 +02:00
  • 77ee046f2e faq Olof hagsand 2019-05-24 10:42:05 +02:00
  • 9c7a4e14f1 error if --with-libxml2 does not find libxml2 Olof Hagsand 2019-05-24 08:31:47 +00:00
  • 5b39b63698 Added --with-libxml2 to configure Olof hagsand 2019-05-24 10:04:29 +02:00
  • e55a27bcac Check for libxml2 include files, not lib in code Olof hagsand 2019-05-23 22:55:46 +02:00
  • a804e05375 * Added clicon_handle as parameter to all validate functions * Added libxml2 XSD regexp mode as alternative to posix translation * Added CLICON_YANG_REGEXP option with possible values libxml2 and posix Olof hagsand 2019-05-23 22:48:33 +02:00
  • 69f2eb30f1 Merge branch 'master' of https://github.com/clicon/clixon Olof Hagsand 2019-05-22 18:28:07 +00:00
  • a7af7e7593 memleaks Olof Hagsand 2019-05-22 18:27:53 +00:00
  • f7771d86c2 * Better compliance with XSD regexps (when transforming to Posix regexps) * Added \p{L} and \p{N} * Added escaping of $ * Added regexp [test/test_pattern.sh] Olof hagsand 2019-05-22 20:21:48 +02:00
  • 7e109d1d4b Startup transactions did not mark added tree with XML_FLAG_ADD as it should Olof hagsand 2019-05-21 10:55:16 +02:00
  • 9085432aa7 clixon_util_regexp compile error Olof hagsand 2019-05-20 16:50:50 +02:00
  • bc54f2d04c * Regexp improvements * Added check for libxml in configure'; * Added clixon_util_regexp utility function * Yang state get improvements * Integrated state and config into same tree on retrieval, not separate trees * Added cli functions cli_show_config_state() and cli_show_auto_state() for showing combined config and state info. * Added integrated state in the main example: interface/oper-state. * Added performance tests for getting state, see [test/test_perf_state.sh]. Olof hagsand 2019-05-20 16:03:29 +02:00
  • c17784cfe9 Removed O(n^2) in cli expand/completion code Olof hagsand 2019-05-16 20:08:25 +02:00
  • 47889a9b0a Check restconf PUT different keys for leaf-list Olof hagsand 2019-05-15 18:35:28 +02:00
  • 712d8a6ff1 Restconf PUT different keys detected (thanks @dcornejo) and fixed Olof hagsand 2019-05-15 17:38:52 +02:00
  • b4f860b5ef Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-05-15 11:16:43 +02:00
  • 6f294fe67a Yang Enumeration including space did not generate working CLIgen code, see [Choice with space is not working in CLIgen code](https://github.com/olofhagsand/cligen/issues/24) Olof hagsand 2019-05-15 11:12:23 +02:00
  • 0b0fef12cc Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-05-14 14:11:43 +02:00
  • d775eb5374 * Improved submodule implementation, as part of [Yang submodule import prefix restrictions #60](https://github.com/clicon/clixon/issues/60). Olof hagsand 2019-05-14 14:09:02 +02:00
  • f8850990d4 Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-05-10 16:56:07 +02:00
  • e68a5ffa97 cli history file long string test Olof hagsand 2019-05-10 16:49:00 +02:00
  • c38a648ca4 wrong fread -1 check Olof Hagsand 2019-05-10 14:44:21 +00:00
  • b103599a1a * Clixon transaction mechanism has changed which may affect your backend plugin callbacks: * Validate-only transactions are terminated by an end or abort callback. * If a commit user callback fails, a new revert callback will be made to plugins that have made a succesful commit. Olof hagsand 2019-05-10 14:35:34 +02:00
  • 99b7a1fe5b Clixon config option CLICON_XMLDB_CACHE renamed to CLICON_DATASTORE_CACHE and changed type from boolean to datastore_cache Olof hagsand 2019-05-09 14:25:16 +02:00
  • 70221742f7 Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-05-08 13:05:51 +02:00
  • 06e6ef80d1 Non-key list now not accepted in edit-config (before only on validation) Olof hagsand 2019-05-08 12:51:10 +02:00
  • 1cfb190ea9 * Changed return values in internal functions: netconf_trymerge, startup_module_state, yang_modules_state_get Olof hagsand 2019-05-07 13:26:34 +02:00
  • c529847790 * Yang "min-element" and "max-element" feature supported * New Clixon Yang RPC: ping. To check if backup is running. * Fixed support for multiple datanodes in a choice/case statement. Olof hagsand 2019-05-07 11:47:30 +02:00
  • 2fc37d2470 Yang "unique" feature supported according to RFC 7950 7.8.3 Olof hagsand 2019-05-03 14:03:10 +02:00
  • a5e955c95f Fixed an ordering problem showing up in validate/commit callbacks. If two new items following each order (yang-wise), only the first showed up in the new-list. Thanks achernavin! Olof hagsand 2019-04-30 15:46:40 +02:00
  • 220a872188 Fixed a problem caused by recent sorting patches that made "ordered-by user" lists fail in some cases, causing multiple list entries with same keys. NACM being one example. Thanks vratnikov! Olof hagsand 2019-04-29 16:31:38 +02:00
  • 4e23864acd Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-04-26 13:41:14 +02:00
  • 76f8a5e9e1 exponential add strategy for XML childvec Olof hagsand 2019-04-26 13:40:16 +02:00
  • 50ca7b7845 New XMLDB_FORMAT added: tree. An experimental record-based tree database for direct access of records. Olof hagsand 2019-04-26 13:38:55 +02:00
  • 6bf2a74e24 * Restconf with startup feature will now copy all edit changes to startup db (as it should according to RFC 8040) * See [Restconf does not handle startup datastore according to the RFC](https://github.com/clicon/clixon/issues/74) * Netconf Startup feature is no longer hardcoded, you need to explicitly enable it (See RFC 6241, Section 8.7) * Enable in config file with: <CLICON_FEATURE>ietf-netconf:startup</CLICON_FEATURE>, or use *:* Olof hagsand 2019-04-26 12:12:55 +02:00
  • 161ef9c7b0 yang access unctions Olof hagsand 2019-04-25 13:50:02 +02:00
  • e9aa7bc98e Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-04-25 13:47:19 +02:00
  • e4239496a8 Yang access function. Mem leak in USE_XML_INSERT Olof hagsand 2019-04-25 13:46:23 +02:00
  • 99c0108d4f
    Merge pull request #84 from 008agent/yand_order_null_stmt Olof Hagsand 2019-04-25 12:40:22 +02:00
  • 2f997b169a Add yang_stmt NULL check in yang_order to prevent SEGFAULT Vladimir Ratnikov 2019-04-25 06:20:15 -04:00
  • 16de5f47ba Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-04-24 15:35:57 +02:00
  • 65c809b1c3 Removed external direct access to the yang_stmt struct. Olof hagsand 2019-04-24 15:13:19 +02:00
  • 7847e74c5e yang_cvec_set(y, cvv) added Olof hagsand 2019-04-24 09:56:07 +02:00
  • 1e1eabbc06 Non linear str2int Olof hagsand 2019-04-23 12:53:29 +02:00
  • 77ad42f1ce startup measurements: test, plot and report Olof hagsand 2019-04-23 11:57:18 +02:00
  • 6a0628141a More performance tweaks Olof hagsand 2019-04-21 17:29:11 +02:00
  • 8c36083e16 * A yang type regex cache added, this helps the performance by avoiding re-running the regcomp command on every iteration. * An XML namespace cache added (see xml2ns()) * Better performance of XML whitespace parsing/scanning. Olof hagsand 2019-04-19 16:01:39 +02:00
  • 728c97ab6d Failure in startup - modified to handle memory exhaustion when loading file Olof hagsand 2019-04-18 15:38:15 +02:00
  • b714eff077 Failure in startup with -m startup or running left running_db cleared. Olof hagsand 2019-04-18 12:20:31 +02:00
  • 6c2e880ab9 Scaling doc update Olof hagsand 2019-04-17 17:53:40 +02:00
  • c4a8f98512 scaling doc update Olof hagsand 2019-04-17 17:41:51 +02:00
  • c3d9b392dd Scaling large lists report Olof hagsand 2019-04-17 15:50:38 +02:00
  • 14d319dd9b * A new "hello world" example is added * The directory docker/system has been moved to docker/main Olof hagsand 2019-04-17 11:26:05 +02:00
  • d46ca41c8b Further optimizions and bugfixing of that Olof hagsand 2019-04-16 12:09:21 +02:00
  • 71da2ac6cb Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-04-14 14:43:20 +02:00
  • c79baf1b1f * Optimized validation of large lists * New xmldb_get1() returning actual cache - not a copy. This has lead to some householding instead of just deleting the copy * xml_diff rewritten to work linearly instead of O(2) * New xml_insert function using tree search. The new code uses this in insertion xmldb_put and defaults. (Note previous xml_insert renamed to xml_wrap_all) Olof hagsand 2019-04-14 14:36:41 +02:00
  • cef0dc5a22 * Added yang access functions * Change all y->ys_parent to yang_parent_get(y) * Change all y->ys_keyword to yang_keyword_get(y) * Change all y->ys_argument to yang_argument_get(y) * Change all y->ys_cv to yang_cv_get(y) * Change all y->ys_cvec to yang_cvec_get(y) Olof hagsand 2019-04-11 15:53:25 +02:00
  • 0a951899c8 test_type run twice with/without dbcache Olof hagsand 2019-04-11 13:22:37 +02:00
  • cf7675dfac Experimental customized error output strings, see [lib/clixon/clixon_err_string.h] Olof hagsand 2019-04-11 12:45:31 +02:00
  • e007014d92 Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-04-11 11:27:02 +02:00
  • 56f32371ce * Backend plugin returning NULL was still installed - is now logged and skipped. * [Parent list key is not validated if not provided via RESTCONF #83](https://github.com/clicon/clixon/issues/83), thanks achernavin22. Olof hagsand 2019-04-11 11:25:42 +02:00
  • 1b9ddaee28 Makefile avoid double yacc runs Olof Hagsand 2019-04-11 10:12:17 +02:00
  • 881dd56ee1 Empty leaf values, eg <a></a> are now checked at vlidation. Olof hagsand 2019-04-10 17:35:36 +02:00
  • 4a1e0f2cbc xmldb_get cache bug Olof hagsand 2019-04-10 15:58:21 +02:00
  • 6bfa510ea3 [Invalid JSON if GET /operations via RESTCONF #82](https://github.com/clicon/clixon/issues/82), thanks achernavin22 Olof hagsand 2019-04-09 16:32:17 +02:00
  • 9b9b53c4ee changelog fix Olof hagsand 2019-04-07 16:15:08 +02:00
  • a37b89600f Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-04-07 16:04:23 +02:00
  • e29cd7cfb9 * Optimized validation by making xml_diff work on raw cache tree (not copies) * xmldb_get() removed unnecessary config option Olof hagsand 2019-04-04 11:08:28 +02:00
  • 4fbec973d7 List ordering bug - lists with ints as keys behaved wrongly and slow Olof hagsand 2019-04-05 20:08:54 +02:00
  • 473d82a8a3 NACM read default rule did not work properly if nacm was enabled AND no group\ s were defined Olof Hagsand 2019-04-03 18:19:14 +02:00
  • 24181a2933 Adaptions for ARMv7 Olof Hagsand 2019-04-03 09:29:49 +01:00
  • a2f0dc2e7d Modernizing autoconf utilities Olof Hagsand 2019-04-03 09:07:12 +01:00
  • 4021d65d7a Merge branch 'master' of https://github.com/clicon/clixon Olof hagsand 2019-04-07 15:47:10 +02:00
  • 473d65c511 * Optimized validation by making xml_diff work on raw cache tree (not copies) * xmldb_get() removed unnecessary config option Olof hagsand 2019-04-04 11:08:28 +02:00
  • 2d7e303341 List ordering bug - lists with ints as keys behaved wrongly and slow Olof hagsand 2019-04-05 20:08:54 +02:00
  • 5b78abccdc NACM read default rule did not work properly if nacm was enabled AND no group\ s were defined Olof Hagsand 2019-04-03 18:19:14 +02:00
  • daad731739 Adaptions for ARMv7 Olof Hagsand 2019-04-03 09:29:49 +01:00
  • f11f7eb40e Modernizing autoconf utilities Olof Hagsand 2019-04-03 09:07:12 +01:00
  • b5f1f7346e Structural C-code change: Merged yang_spec and yang_node types into yang_stmt Olof hagsand 2019-04-02 12:27:33 +02:00
  • 4f9e942103 Merge branch 'master' into develop Olof hagsand 2019-04-02 11:46:54 +02:00