Commit graph

329 commits

Author SHA1 Message Date
Olof hagsand
602f5034b4 NACM external file support. CLICON_NACM_FILE config option, if CLICON_NACM_MODE is external 2018-04-23 23:09:55 +02:00
Renato Botelho do Couto
dabf0e5918 Improve permissions and strip binaries
- Use 0755 for directories
- Use 0644 for libraries, includes and shared files
- Use -s (strip) parameter when installing binaries and libraries
2018-04-23 13:33:21 -05:00
Olof hagsand
50522df3d9 Showing syntax using CLI commands was broekn and is fixed. 2018-04-22 21:36:55 +02:00
Olof hagsand
7650803475 * Experimental NACM RFC8341 Network Configuration Access Control Model.
* CLICON_NACM_MODE config option, default is disabled.
  * Added username attribute to all rpc:s from frontend to backend
  * Added NACM backend module in example
2018-04-19 22:44:15 +02:00
Olof hagsand
2e00411621 CLI plugin API restructuring completed. Now all plugin APIs have the generic form
documented in README and FAQ.
2018-04-08 11:32:43 +02:00
Olof hagsand
7fbd95d491 Updated ietf-netconf-acm to ietf-netconf-acm@2018-02-14.yang from RFC 8341 2018-04-02 13:33:24 +02:00
Olof hagsand
79e3fbdaa9 * Restructure and more generic plugin API (cli,backend,restconf,netconf)
* For preparation for authorization RFC8341
  * Plugins add clixon_plugin_init() and api struct for function pointers, eg:
```
static const struct clixon_plugin_api api = {
    "example",
    clixon_plugin_init,
    ...
}
clixon_plugin_api *clixon_plugin_init(clicon_handle h)
{
    return (void*)&api;
}
```
  * Moved specific plugin functions from apps/ to generic functions in lib/
    * New generic plugin load function: clixon_plugins_load()
  * Removed client-local netconf plugins netconf_plugin_callbacks()
    * This was code used before generic YANG rpc calls
  * Added username to clixon handle:
    * clicon_username_get() / clicon_username_set()
  * Added authentication plugin callback
  * Removed some obscure plugin code that seem not to be used (please report if needed!)
    * CLI parse hook
    * CLICON_FIND_PLUGIN
    * clicon_valcb()
* Removed username to rpc calls (added below)
2018-04-02 10:38:53 +02:00
Olof hagsand
859d424ea3 (Work in progress) Restconf error handling for get and edit operations 2018-03-11 20:17:11 +01:00
Olof hagsand
11e2b91a05 Experimental: Added CLICON_TRANSACTION_MOD configurqation option. If set,
modifications in validation and commit callbacks are written back
  into the datastore.
2018-03-07 22:33:47 +01:00
Olof hagsand
35b142cf4d * Added Yang "extension" statement. This includes parsing unknown
statements and identifying them as extensions or not. However,
  semantics for specific extensions must still be added.
* Renamed ytype_id and ytype_prefix to yarg_id and yarg_prefix, respectively

* Added cli_show_version()
2018-02-25 20:01:53 +01:00
Olof hagsand
7431757e53 Preparing for 3.5.0 2018-02-12 09:05:27 +07:00
Olof hagsand
e40d785d5c * Added a "user" parameter to plugin_credentials() restconf callback.
To enable authentication and in preparation for access control a la RFC 6536.
* yang string length "max" keyword set to MAXPATHLEN
2018-02-08 15:24:05 +07:00
Olof hagsand
26667b2c2f Restconf: get well-known, top-level resource, yang library version, put whole datastore,
check for different keys in put lists.
2018-01-21 14:31:53 +01:00
Olof hagsand
363bd5d19d New configuration option: CLICON_RESTCONF_PRETTY
Changed RESTCONF GET to return object referenced. ie, GET /restconf/data/X returns X.
2018-01-07 18:01:42 +01:00
Olof hagsand
38f0b446fa 2017->2018 2018-01-01 12:25:33 +01:00
Olof hagsand
174cfc02c6 Added CLICON_XMLDB_PRETTY option. If set to false, XML database files will be more compact.
Added CLICON_XMLDB_FORMAT option. Default is "xml". If set to "json", XML database files uses JSON format.
Escape " in JSON names and strings and values
Optimized search performance for large lists by sorting and binary search.
2017-12-29 18:09:26 +01:00
Olof hagsand
4b92dbdc10 Optimized search performance for large lists by sorting and binary search 2017-12-27 11:34:47 +01:00
Olof hagsand
056b5c97dd experimental netconf yang spec 2017-12-08 19:37:09 +01:00
Olof hagsand
822aac18a1 datastore/keyvalue/Makefile left behind 2017-12-04 18:31:40 +01:00
Olof hagsand
4cb00bedfa optimization 2017-12-03 20:22:05 +01:00
Olof hagsand
96a7ec86f0 Fixed DESTDIR make install/uninstall and break immediately on errors 2017-11-22 22:21:12 +01:00
Olof hagsand
96bc17bfa6 describe startup modes in faq 2017-11-19 18:27:25 +01:00
Olof hagsand
548ffd2da6 Disabled key-value datastore; Removed mandatory requirements for BACKEND, NETCONF, RESTCONF and CLI dirs 2017-11-19 18:04:23 +01:00
Olof hagsand
496d676ad3 Backend daemon startup modes 2017-11-19 11:52:30 +01:00
Olof hagsand
4b0c060667 Added option CLICON_CLISPEC_FILE; Replaced cli_ functiuons with cligen_ 2017-10-17 19:35:46 +02:00
Olof hagsand
ca7b4d3d9e Migrated to XML configure file. 2017-10-01 12:33:12 +02:00
Olof hagsand
8494d29d6b config file has .xml ending, yang/clixon-config.yang is used as
model for an xml-based configuration file
2017-09-25 22:05:26 +02:00
Olof hagsand
e45e8da6d7 Added experimental reading of yang and xml-based config file. 2017-09-24 22:01:28 +02:00
Olof hagsand
f5d2473618 Yang anyxml and extensions; yang dir with ietf-netconf and clixon-config yang specs 2017-07-02 10:52:24 +02:00