Commit graph

2067 commits

Author SHA1 Message Date
Olof hagsand
906763317b * Single quotes for XML attributes https://github.com/clicon/clixon/issues/51
* Thanks @SCadilhac
2018-10-28 11:15:37 +01:00
Olof hagsand
61869c8d44 Fixed https://github.com/clicon/clixon/issues/46 Issue with empty values in leaf-list
Thanks achernavin22
2018-10-27 17:06:08 +02:00
Olof hagsand
b477e22d1e schema resource conformance-type 2018-10-27 16:16:54 +02:00
Sylvain Cadilhac
56b82480a4 Allow new lines in prompts 2018-10-27 16:05:23 +02:00
Sylvain Cadilhac
02e6d9cecb Add conformance-type to modules-state 2018-10-27 13:51:42 +02:00
Olof hagsand
af16760279 * Stream replay support
* RFC8040 Restconf replay support: start-time and stop-time query parameter support
    * This only applies to "native" restconf stream support, Nchan mode has different replay functionality
  * RFC5277 Netconf replay support using <startTime> and
  * Replay support is only in-memory and not persistent. External time-series DB could be added.
2018-10-27 11:12:01 +02:00
Olof hagsand
77e56868d4 Load netconf notification and add create-subscription to yang. 2018-10-23 20:43:59 +02:00
Olof hagsand
71eddeaa74 * Restconf stream notification support - two variants.
* Both a "native" stream support and one using nginx/nchan pub/sub.
  * See (apps/restconf/README.md) for details.
* clixon-config YAML file has new revision: 2018-10-21.
2018-10-21 22:19:38 +02:00
Olof hagsand
a4e29bcdb7 * All yang modules are stored in the clicon_dbspec_yang() option.
* Except clixon-config module due to bug reported below
* Bug: Top-level Yang symbol cannot be called "config" in any imported yang file.
  * datastore uses "config" as reserved keyword for storing any XML whoich collides with code for detecting Yang sanit
2018-10-19 15:26:22 +02:00
Olof hagsand
7de80e9fcd added netconf capabilities in hello 2018-10-17 22:45:16 +02:00
Olof hagsand
40cda7b6a4 * ietf-netconf yang module added with candidate, validate, startup and xpath features enabled.
* Added urn:ietf:params:netconf:capability:yang-library:1.0
* Thanks SCadilhac for helping out, see https://github.com/clicon/clixon/issues/39
* uri_percent_encode() and xml_chardata_encode() changed to use stdarg parameters
2018-10-17 22:36:59 +02:00
Olof hagsand
7046925fc3 disable pub/sub test 2018-10-15 22:30:22 +02:00
Olof Hagsand
d5f4969780 * Set access/subscribe base URL with: CLICON_STREAM_URL_PREFIX (default https\
://localhost/streams).
    * Example: new stream "foo" will get access URL: https://localhost/streams/\
foo
  * Optional pub/sub support enabled by ./configure --enable-publish
    * Set publish URL base with: CLICON_STREAM_PUB_PREFIX (default http://local\
host/pub)
    * Example: new stream "foo" will get pub URL: https://localhost/pub/foo
2018-10-15 22:08:38 +02:00
Olof hagsand
dcec834455 Merge branch 'develop' of https://github.com/clicon/clixon into develop 2018-10-12 18:42:03 +02:00
Olof hagsand
65c44b41e8 RFC 7895:
* Changed Netconf hello to single capabilty urn:ietf:params:netconf:capability:yang-library:1.0 according to YANG 1.1 RFC7950 Sec 5.6.4.
  * Set by option: CLICON_MODULE_LIBRARY_RFC7895 - enabled by default
  * Option CLICON_MODULE_SET_ID is set and changed when modules change.
2018-10-12 18:41:53 +02:00
Olof Hagsand
15031d7a49 stream debug 2018-10-12 08:05:48 +00:00
Olof Hagsand
a23c1ec68d Added CLIXON_DEFAULT_CONFIG=/usr/local/etc/clixon.xml as option and in exampl\
e (so you dont need to provide -f command-line option).
2018-10-11 19:03:35 +00:00
Olof hagsand
507e03742d Yang 1.1 action syntax added (but function is not supported) 2018-10-10 22:27:46 +02:00
Olof hagsand
52021c3856 features 2018-10-10 20:38:34 +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
7564bcd9b2 docker improvement 2018-08-05 12:20:37 +02:00
Olof Hagsand
7c94991fe9 * clixon_restconf and clixon_netconf now take -D <level> as command-line option\
instead of just -D
  * This aligns to clixon_cli and clixon_backend
2018-08-03 13:24:41 +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
c53f3f2fe3 Added file logging (-l f or -l f<file>) for cases where neither syslog nor stderr is useful\
.
2018-07-30 17:35:45 +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
e497238b8b restconf dual getopt 2018-07-29 20:54:58 +02:00
Olof hagsand
f9a97c57ca set /www-data access only if sudo 2018-07-29 20:22:20 +02: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
156660419e * Set dir /www-data with www-data as owner, see https://github.com/clicon/clixo\
n/issues/37
2018-07-26 12:54:14 +02:00
Olof Hagsand
968435ec5e internal backend socket family 2018-07-25 12:45:00 +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
b7eb89962d clixon-sock not mandatory since family may be inet 2018-07-24 18:57:10 +00:00
Olof Hagsand
666d74bf1b Added -l option for clixon_backend for directing syslog to stderr or stdout i\
f running in foreground
2018-07-24 17:59:17 +02:00