Olof hagsand
bf728b37b8
* Full support of XPATH 1.0 according to https://www.w3.org/TR/xpath-10 using yacc/lex
...
* The previous XPATH imlementation was very restricted.
* The only function implemented is the Yang extension "current()". No other functions are implemented (eg last(), count()).
2018-07-16 16:13:31 +02:00
Olof hagsand
ee946a00f5
Changed plugin_init() backend return semantics: If returns NULL, _without_ calling clicon_err(), the module is disabled.
...
Also, example documentation corrected according to:
https://github.com/clicon/clixon/issues/33
2018-07-13 12:44:59 +02:00
Olof hagsand
85c4782e36
Dedicated xml,json,yang and xsl parser utility programs added
...
Sanity check of stdarg (...) added
Cleanup of error messages.
2018-06-17 19:40:06 +02:00
Olof hagsand
5cabc11bfb
* Added -U <user> command line to clixon_cli and clixon_netconf for NACM pseudo-user tests
2018-06-07 21:34:52 +02:00
Olof hagsand
7e4e1d6deb
* Support for YANG identity and identityref according to RFC 7950 Sec 7.18 and 9.10
...
* Previous support did no validation of values.
* Validation of types and CLI expansion
* Example extended with inclusion of iana-if-type RFC 7224 interface identities
2018-06-03 15:36:05 +02:00
Olof Hagsand
20a677cb6c
code cleanup and doc
2018-05-12 19:00:46 +02:00
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
Olof hagsand
50522df3d9
Showing syntax using CLI commands was broekn and is fixed.
2018-04-22 21:36:55 +02:00
Olof hagsand
3ed1c98556
* Fixed issue https://github.com/clicon/clixon/issues/18 RPC response issues reported by Stephen Jones at Netgate
2018-04-22 16:53:12 +02:00
Olof hagsand
67c0abead7
Fixed issue https://github.com/clicon/clixon/issues/17 special character in strings can break RPCs
2018-04-21 16:32:46 +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
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
ac7480b9f5
* Invalid key to api_path2xml gives warning instead of error and quit.
2018-03-05 20:00:10 +00:00
Olof hagsand
990700b68d
https://github.com/clicon/clixon/issues/16
...
Added restconf/operations get, see RFC8040 Sec 3.3.2:
2018-03-04 21:24:38 +01:00
Olof hagsand
55010e7541
restconf credentials plugin
2018-02-09 12:18:39 +07:00
Olof hagsand
eea8cd7660
xml2cvec: range error (eg 1000 for int8) is not treated as error, just log and skip.
2018-02-03 14:56:27 +07:00
Olof hagsand
f65187df7f
code cleanup
2018-01-27 14:28:57 +01:00
Olof hagsand
99abac76a7
Fix for cli expansion of two variables
2018-01-25 22:16:44 +01: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
cd33380368
Fixed empty restconf data segv; error restconf quit; etc
2018-01-16 22:25:55 +01:00
Olof hagsand
38f0b446fa
2017->2018
2018-01-01 12:25:33 +01:00
Olof hagsand
19301ae240
sort xml children on parsing
2017-12-31 18:25:53 +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
0076a8b838
leafref bug
2017-12-09 20:48:29 +01:00
Olof hagsand
14faf93eec
fixed datastore cache
2017-12-02 21:53:02 +01:00
Olof hagsand
e169485985
Datastore cache introduced; Added yang to XML API
2017-12-02 14:49:49 +01:00
Olof Hagsand
44612c57d8
hardening cvvs due to errors
2017-10-29 10:32:00 +01:00
Olof hagsand
5cea5fa768
xml config default; api_path_fmt2api_path cleanup
2017-10-03 22:41: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
7a7bfc48a4
experimental xml hash for better performance
2017-09-18 20:53:49 +02:00
Olof hagsand
d8065551b6
cli_copy config bug; allow non-api-path expand_dbvar()
2017-08-03 22:35:02 +02:00
Olof hagsand
fd91bb2933
restconf RPC
2017-07-30 16:16:10 +02:00
Olof hagsand
d0660bf611
Added xpath support for predicate: current(); added by-reference return for schema_nodeid functions; prototype enum2int function
2017-07-30 11:00:02 +02:00
Olof hagsand
99f82c5fa1
rm:d obsolete asserts
2017-07-28 15:20:01 +02:00
Olof hagsand
5ae1aeb427
Added support for YANG anyxml; Yang union CLI generation and validation; Removed yang string escaping
2017-07-27 11:54:28 +02:00
Olof hagsand
1b6c9aacbe
Added validation for leafref forward and nackward references.
2017-07-18 19:56:54 +02:00
Olof hagsand
4e986d6660
Added new backend plugin callback: plugin_statedata() for getting state data; Added generic xml_merge() function.
2017-07-05 12:30:42 +02:00
Olof hagsand
f5c19d8586
Added state data
2017-07-01 17:42:39 +02:00
Olof hagsand
abd3eee17d
Generic map_str2int generic mapping tables; Removed vector return values from xmldb_get()
2017-06-21 21:02:09 +02:00
Olof hagsand
91f91fe526
memleaks, cli-generate leafref
2017-06-06 22:09:37 +02:00
Olof Hagsand
07fe90b4c4
warnings and asserts
2017-06-05 13:26:47 +02:00
Olof hagsand
3453dae0db
- removed api_path extension from internal netconf
...
- Strings in xmldb_put not properly encoded, eg eth/0 became eth.00000
2017-05-30 21:57:06 +02:00
Olof hagsand
69ff0e3891
Refined netconf none semantics in tests and text datastore
2017-05-01 12:46:09 +02:00
Olof hagsand
c2f52845f8
rm xml index; added xml util functions; further xmldb development
2017-04-23 22:32:53 +02:00
Olof hagsand
d02015f456
datastore text works with replace
2017-04-17 19:47:32 +02:00
Olof hagsand
ee9b74d735
formalizing xmldb api
2017-04-16 19:06:19 +02:00
Olof hagsand
540cd96e74
datastore handles
2017-04-15 19:42:35 +02:00
Olof hagsand
d26a801bc0
Added connect/disconnect/getopt/setopt and handle to xmldb API; Added datastore 'text'; Moved apps/dbctrl to datastore/
2017-04-15 13:53:58 +02:00