Commit graph

1463 commits

Author SHA1 Message Date
Olof hagsand
507e03742d Yang 1.1 action syntax added (but function is not supported) 2018-10-10 22:27:46 +02:00
Olof hagsand
ea77e7f02d * YANG Features
* Yang 1.1 feature and if-feature according to RFC 7950 7.20.1 and 7.20.2.
  * See https://github.com/clicon/clixon/issues/41
  * Features are declared via CLICON_FEATURE in the configuration file.
  * logical combination of features not implemented, eg if-feature "not foo or
* Identity without any identityref:s caused SEGV
2018-10-10 20:11:20 +02:00
Olof hagsand
acb8748470 * Generilized top-level yang parsing functions
* Clarified semantics of main yang module:
    * -y option to commands MUST specify filename
    * CLICON_YANG_MODULE_MAIN MUST specify a module
    * yang_parse() changed to take either filename or module name and revision.
  * Removed clicon_dbspec_name[_set]().
    * Use yang_main_module_name() instead.
  * Replaced yang_spec_main with yang_spec_parse_module
  * Added yang_spec_parse_file
2018-10-07 11:04:33 +02:00
Olof hagsand
782f75a7b9 div edits 2018-10-03 20:20:26 +02:00
Olof hagsand
4d419aab54 backend_notify backward compatible 2018-09-30 15:12:36 +02:00
Olof hagsand
98f3cd0e32 * Major rewrite of event streams
* If you used old event callbacks API, you need to switch to the streams API
    * See clixon_stream.[ch]
  * Old streams API which needs to be removed include:
    * clicon_log_register_callback()
    * subscription_add() --> stream_register()
    * backend_notify() and backend_notify_xml() - use stream_notify() instead
* Example uses "NETCONF" stream instead of "ROUTING"
* Added timeout option -t for clixon_netconf - quit after max time.
2018-09-30 14:51:30 +02:00
Olof hagsand
d7fbe75c9e added clixon_stream.[ch] 2018-09-23 17:50:19 +02: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
Olof hagsand
74fc0800ae * Limited support of RFC 7895 YANG Module Library to list modules:
* That is, limited support of: ietf-yang-library.yang
  * For example: `<module><name>example</name><revision/></module><module><name>ietf-restconf-monitoring</name><revision>2017-01-26</revision></module>...`
* Comply to RFC 8040 3.5.3.1 rule: api-identifier = [module-name ":"] identifier
  * The "module-name" was a no-op before.
  * This means that there was no difference between eg: GET /restconf/data/ietf-yang-library:modules-state and GET /restconf/data/XXXX:modules-state
2018-09-22 16:30:58 +02:00
Olof hagsand
0631be19cb * Notification event streams enhancements
* Yang 1.1 notification support
  * Event stream discovery support according to RFC 5277 Sec 3.2.5.1 (netconf) and RFC 8040 (restconf)
2018-09-18 22:49:29 +02:00
Olof Hagsand
f37fdb954f ECONNRESET 2018-08-27 20:20:43 +00:00
Olof Hagsand
2cadfa167e EPEER 2018-08-27 20:14:27 +00:00
Olof Hagsand
de2d5be6dd export populate 2018-08-27 19:07:52 +00:00
Olof Hagsand
bb6d043d6c deprecated readdir_r with readdir 2018-08-05 16:34:45 +02:00
Olof Hagsand
10ada483e5 Memory error in backend transaction revert 2018-08-01 18:34:44 +02:00
Olof Hagsand
656800cdd3 order backend cmd options; open syslog only if syslog is enabled 2018-08-01 07:13:33 +00:00
Olof Hagsand
0355942740 flush log file 2018-07-30 18:08:34 +00:00
Olof Hagsand
ef9bb742d1 axismap not used 2018-07-30 13:32:45 +00:00
Olof Hagsand
66e232beba moved xpath debug level from 1 to 2 2018-07-30 11:56:48 +00:00
Olof Hagsand
e48f8dd00e clixon_netconf -S is obsolete. Use clixon_netconf -l s instead.
* Unified log handling for all clicon applications using -l e|o|s|f.
  * The options stand for e:stderr, o:stdout, s: syslog, f:file
2018-07-29 19:41:10 +02:00
Olof Hagsand
5164db3603 Added clicon_log_init(.., CLICON_LOG_FILE) option and clicon_log_file() for c\
ases where neither syslog or stderr is useful.
2018-07-26 20:13:02 +02:00
Olof Hagsand
539a60d613 backend socket options -a -u 2018-07-25 11:40:06 +02:00
Olof hagsand
c6a62b96de sock ipv4 2018-07-24 22:27:52 +02:00
Olof hagsand
56e51f1a8d 3.8.0.PRE preparations and
* Obsoleted COMPAT_CLIV and COMPAT_XSL that were optional in 3.7
2018-07-22 21:29:21 +02:00
Olof hagsand
9776ee864f * Makefile change: Removed the make include file: clixon.mk and clixon.mk.in
* These generated the Makefile variables: clixon_DBSPECDIR, clixon_SYSCONFDIR, clixon_LOCALSTATEDIR, clixon_LIBDIR, clixon_DATADIR which have been replaced by generic autoconf variables instead.
2018-07-22 18:33:13 +02:00
Olof hagsand
deb89600ed memleaks 2018-07-20 23:16:26 +02:00
Olof Hagsand
b894c30bfb obsoleted xpath_each 2018-07-20 15:52:32 +00:00
Olof Hagsand
e79e48b46f xpath unitialized vecs 2018-07-20 10:02:35 +00:00
Olof hagsand
912d1df853 Merge branch 'develop' of https://github.com/clicon/clixon into develop 2018-07-20 10:54:07 +02:00
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