Commit graph

26 commits

Author SHA1 Message Date
Olof hagsand
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()`
2022-01-07 12:50:07 +01:00
Olof hagsand
fccf315235 Added .editorconfig, added licensing section to CONTRIB 2021-10-12 13:35:21 +02:00
Dave Cornejo
3344adb487 initial import of dispatcher
this code implements a way of registering path handlers and then calling those handlers based on a path.
2021-09-07 10:14:45 -10:00
Olof hagsand
73414e2ece * NETCONF Call Home Call Home RFC 8071
* Solution description using openssh and utility functions, no changes to core clixon
  * Example: test/test_netconf_ssh_callhome.sh
  * RESTCONF Call home not done
2021-02-04 11:43:09 +01:00
Olof Hagsand
707685f5ff minor alignment 2020-11-15 05:13:05 -06:00
Jonathan Ben-Avraham
e6899cc3f5 Additional documentation for test scripts
Added documentation in comments in test scripts, added example site.sh,
moved evaluation of site.sh later in lib.sh to allow site.sh to override
more lib.sh variables.
2020-11-07 21:44:59 +02:00
Olof hagsand
c049a397b0 Fixed ssl client certs for evhtp.
* Added SSL cert info as options: CLICON_SSL_SERVER_CERT, CLICON_SSL_SERVER_KEY, CLICON_SSL_CA_CERT
Added config.sh for testing for autotools
2020-07-01 15:11:22 +02:00
Olof Hagsand
ab73794292 * Added [Vagrant tests](test/vagrant/README.md)
* Fixed memleak in restconf-fcgi
2020-06-08 08:16:42 +00:00
Olof hagsand
8c1372d26a libhttp compile 2020-05-28 17:19:15 +02:00
Olof hagsand
1134b084c3 error range test error x - y 2019-06-30 15:14:51 +02:00
Olof hagsand
14d319dd9b * A new "hello world" example is added
* The directory `docker/system` has been moved to `docker/main`
2019-04-17 11:26:05 +02:00
Olof hagsand
a269e26c0d Directory change: Moved example to example/main to make room for other examples 2019-03-28 17:58:47 +01:00
Olof hagsand
77387e9c65 Merge branch 'master' of https://github.com/dcornejo/clixon into dcornejo-master 2019-03-06 10:03:58 +01:00
Olof Hagsand
a529546c88 Merge branch 'master' of https://github.com/clicon/clixon 2019-02-28 13:11:22 +01:00
Dave Cornejo
e282493095 FreeBSD compatibility & pedanticism patches
use ETIMEDOUT rather than ETIME - this seems more the intent of its
usage here and it compiles under FreeBSD & Linux.
in yang_spec_parse_file() the function basename() is not declared,
the declaration is in libgen.h, so include it. also basename() takes
char * for its argument not const char *, yang_spec_parse_file()
has to be changed to char *filename to compile w/o warnings
2019-02-22 19:59:14 -10:00
Olof Hagsand
d64d433468 * Changed base OS in clixon-system container to Alpine
* Moved datastore/text/ code to datastore/ since there is only one type of datastore.
* Added "magic script line" to test script for sourced and scriped exits
2019-02-16 17:45:39 +01:00
Olof Hagsand
66d8573c00 Added docker/base as minimal clixon container and docker/system as full clixon system. 2019-02-11 14:17:29 +01:00
Olof hagsand
10d841f4be Added make test and travis experiment 2019-02-04 14:13:20 +01:00
Olof hagsand
0267afcb21 * Added -o "<option>=<value>" command-line option to all programs: backend, cli, netconf, restconf.
* Added -p <dir> command-line option to all programs: backend, cli, netconf, restconf.
* Moved and updated all standard ietf and iana yang files from example and yang/ to `yang/standard`.
* Renamed example yang from example.yang -> clixon-example.yang
2019-01-13 17:34:15 +01:00
Olof hagsand
c7e847cd24 Keyword "min" (not only "max") can be used in built-in types "range" and "length" statements. 2019-01-06 22:11:59 +01:00
Olof hagsand
0103d58994 2019 2019-01-02 15:48:30 +01:00
Olof hagsand
ae1af8da9e * NACM extension (RFC8341)
* NACM module support (RFC8341 A1+A2)
   * Recovery user "_nacm_recovery" added.
     * Example use is restconf PUT when NACM edit-config is permitted, then automatic commit and discard are permitted using recovery user.
   * Example user changed adm1 to andy to comply with RFC8341 example

 * Yang code upgrade (RFC7950)
   * RPC method input parameters validated
     * see https://github.com/clicon/clixon/issues/4
* Correct XML namespace handling
   * XML multiple modules was based on "loose" semantics so that yang modules were found by iterating thorugh namespaces until a match was made. This did not adhere to proper [XML namespace handling](https://www.w3.org/TR/2009/REC-xml-names-20091208), and causes problems with overlapping names and false positives. Below see XML accepted (but wrong), and correct namespace declaration:
```
      <rpc><my-own-method></rpc> # Wrong but accepted
      <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> # Correct
        <my-own-method xmlns="http://example.net/me/my-own/1.0">
      </rpc>
```
   * To keep old loose semantics set config option CLICON_XML_NS_ITERATE (true by default)
   * XML to JSON translator support for mapping xmlns attribute to module name prefix.
   * Default namespace is still "urn:ietf:params:xml:ns:netconf:base:1.0"
   * See https://github.com/clicon/clixon/issues/49
* Changed all make tags --> make TAGS
* Keyvalue datastore removed (it has been disabled since 3.3.3)
* debug rpc added in example application (should be in clixon-config).
2018-12-16 19:49:19 +01:00
Olof hagsand
07542269ec Event stream discovery support
Added config options CLICON_MODULE_LIBRARY_RFC7895, CLICON_STREAM_DISCOVERY_RFC5277, LICON_STREAM_DISCOVERY_RFC804
2018-09-23 17:45:22 +02:00
Renato Botelho do Couto
1c187c5729 Prepare build system to produce RPMs
Add .spec file under extras/rpms and create targets to produce
source and binary rpms
2017-12-05 07:27:59 -06:00
Renato Botelho do Couto
e7b1c0c38c Implement make dist target
Add dist target to create project tarball. It uses a script called
version, that was obtained from vpp source code to produce a version
string using `git describe` that is incremental based on last annotated
tag available.
2017-12-05 05:23:27 -06:00
Renato Botelho do Couto
3dd4903f88 Ignore generated files 2017-12-05 05:23:22 -06:00