Olof hagsand
226c59f25a
Backward compatible XPATH via symbols, not macros
2018-07-20 10:51:12 +02:00
Olof Hagsand
9245ef222a
util warnings
2018-07-19 08:03:07 +00:00
Olof hagsand
c71791f168
Added util directory containing test applications
2018-07-19 09:57:38 +02:00
Olof hagsand
cc6c7ae7a4
started min/max-element
2018-07-18 21:45:13 +02:00
Olof hagsand
0eb9e6c8b2
* Support for YANG conditionals "must" and "when" according to RFC 7950 Sec 7.5.3 and 7.21.5
...
* XPATH checked at validation time
2018-07-18 09:51:33 +02:00
Olof hagsand
ba7f84afee
* Much better support for XPATH 1.0 according to https://www.w3.org/TR/xpath-10 using yacc/lex
...
* NOTE: Due to an error in the previous implementation, all XPATH calls on the form `x[a=str]` where `str` is a string (not a number or XML symbol), must be changed to: `x[a='str'] or x[a="str"]`
* This includes all calls to `xpath_vec, xpath_first`, etc.
* All calls to cli_copy_config in CLI spec files must replace 2nd argument from `x[%s=%s]` to `x[%s='%s']`
* The old API is stillenabled. To define the new, define XPATH_USE_NEW in include/clixon_custom.h and recompile
2018-07-17 16:59:32 +02:00
Olof hagsand
5d7c4a8d18
Merge branch 'develop' of https://github.com/clicon/clixon into develop
2018-07-16 16:18:36 +02:00
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
719ea93398
Conformance to RFC-8040 operations where prefix was used instead of module name.
...
* Proper specification for an operation is POST /restconf/operations/<module_name>:<rpc_procedure> HTTP/1.1
* See https://github.com/clicon/clixon/issues/31 , https://github.com/clicon/clixon/pull/32 and https://github.com/clicon/clixon/issues/30
* Thanks David Cornejo and Dmitry Vakhrushev of Netgate for pointing this out
2018-07-13 16:31:39 +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
60ce7b12bd
* Prefix of rpc was ignored
...
* https://github.com/clicon/clixon/issues/30
2018-06-20 20:53:34 +02:00
Olof hagsand
5304acb086
remove xml x_cv; added makes to jenkinsfile
2018-06-17 23:09:36 +02:00
Olof Hagsand
5a8660afb6
removed void ptr debug print
2018-06-17 18:02:54 +00:00
Olof Hagsand
a0d4569488
64-bit vars
2018-06-17 17:58:59 +00: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
9eff879458
CDATA Encode and decode (parsing) support
2018-06-13 22:55:46 +02:00
Olof hagsand
8b31d83806
CDATA xml support (patch by David Cornejo, Netgate)
2018-06-13 21:46:32 +02:00
Olof hagsand
a576951e57
Add validation of yang bits value
2018-06-10 10:32:20 +02:00
Dave Cornejo
e2ee6e6757
handle newlines in CDATA properly
2018-06-07 17:56:07 -10:00
Dave Cornejo
8f9a38d2aa
add handling of CDATA to XML parser
2018-06-07 13:26:18 -10: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
0ad6703663
xmlns sanity check
2018-06-05 16:43:43 +02:00
Olof hagsand
849e46191e
* Added xmlns validation
...
* for eg <a xmlns:x="uri"><x:b/></a>
2018-06-05 09:42:11 +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
ea13727e97
* Removed cli callback vector functions. Set COMPAT_COMPAT_CLIV if you need to keep these functions in clixon_custom.h.
...
* Added --enable-debug.
2018-05-30 22:38:12 +02:00
Olof Hagsand
0622f6aafe
xml/xsl test programs
2018-05-27 18:31:19 +00:00
Olof hagsand
b230215eaf
unit test pgm
2018-05-19 00:27:53 +02:00
Olof Hagsand
958c1c0197
Merge branch 'develop' of https://github.com/clicon/clixon into develop
2018-05-18 22:17:40 +00:00
Olof Hagsand
a14c8c9778
unit test
2018-05-18 22:17:09 +00:00
Olof Hagsand
353f2e6038
added merge of json trees
2018-05-15 22:24:44 +02:00
Olof Hagsand
20a677cb6c
code cleanup and doc
2018-05-12 19:00:46 +02:00
Olof Hagsand
82351afde3
header docs
2018-05-08 21:53:46 +02:00
Olof hagsand
4257999df5
Fixed JSON unbalanced braces resultin assert
2018-05-06 21:06:52 +02:00
Olof Hagsand
5d4abbff38
Merge branch 'develop' of https://github.com/clicon/clixon into develop
2018-04-30 18:57:50 +02:00
Olof hagsand
7532fdde77
* INSTALLFLAGS added with default value -s(strip).
...
* For debug do: CFLAGS=-g INSTALLFLAGS= ./configure
2018-04-30 12:06:19 +02:00
Olof hagsand
1ac57dedaf
Some memleaks and last minute 3.6 release changes.
2018-04-29 18:35:06 +02:00
Olof Hagsand
3df4a8a190
Added keyword arg to find schemanode functions
2018-04-27 19:15:11 +02:00
Olof hagsand
d57a6cf53c
* plugin_start() callbacks added for restconf
...
* Hard-wired users for authentication example
2018-04-24 17:43:19 +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
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
1913407e52
Replacing remaining badrequest() with proper restconf error msg.
2018-04-22 20:13:54 +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
b2abab71f0
local restconf rpc callback sent error and then main restconf handler sent ok. Callback should just return xml buffer, not do actual restconf callback
2018-04-15 10:52:52 +01:00
Olof Hagsand
24de61f14a
Ignore \r - common http/restconf end-of-line
2018-04-09 04:24:22 +00:00
Olof Hagsand
0907574acf
renamed plugin_find/each to clixon_plugin_find/each
2018-04-08 14:10:06 +00: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
d541c49c6f
Plugin RPC callback interface have been unified between backend, netconf and restconf.
...
* Backend RPC register callback function (Netconf RPC or restconf operation POST) has been changed from: `backend_rpc_cb_register()` to `rpc_callback_register()`
* Backend RPC callback signature has been changed from: `int cb(clicon_handle h, cxobj *xe, struct client_entry *ce, cbuf *cbret, void *arg)` has been changed to : `int cb(clicon_handle h, cxobj *xe, struct client_entry *ce, cbuf *cbret, void *arg)`
* Frontend netconf and restconf plugins can register callbacks as well with same API as backends.
2018-04-07 18:20:33 +02:00