CHANGELOG for 5.6.0; removed wwwdir

This commit is contained in:
Olof hagsand 2022-03-07 20:08:33 +01:00
parent ff37ce808c
commit 72025bfc5e
4 changed files with 26 additions and 31 deletions

View file

@ -36,36 +36,36 @@
## 5.6.0 ## 5.6.0
Expected: March 2022 Expected: March 2022
In Clixon 5.6 the dependency of libevhtp for native RESTCONF is Clixon 5.6 removed the dependency of libevhtp and libevent2 for native
removed. Also module-state has been upgraded to RFC8525. A lot of bugs RESTCONF, module-state has been upgraded to RFC8525 and a lot of bugs
have been fixed, thanks to the community for all feedback. have been fixed, thanks to the community for all feedback.
### New features ### New features
* Yang library upgraded from RFC78795 to RFC 8525 * Yang library upgraded from RFC78795 to [RFC 8525](https://datatracker.ietf.org/doc/html/rfc8525)
* See API changes for more info * See [API changes](API changes on existing protocol/config features) for more info
* HTTP/1 native parser as part of the RESTCONF client * RESTCONF Internal HTTP/1 native parser
* Replaced libevhtp/libevent2 with internal http1 parser * Removed dependency of libevhtp/libevent2
* Replace configure option `--disable-evhtp` with `--disable-http1` for disabling HTTP/1 whihc is on by default * Replace configure option `--disable-evhtp` with `--disable-http1` for disabling HTTP/1 (default enabled)
### API changes on existing protocol/config features ### API changes on existing protocol/config features
Users may have to change how they access the system Users may have to change how they access the system
* Module state upgrade: RFC7895 to RFC 8525: * Module state upgrade: RFC7895 to RFC8525:
* To upgrade to RFC8525: * To upgrade to RFC8525:
* You need to change `CLICON_YANG_LIBRARY` to `true` and `CLICON_MODULE_LIBRARY_RFC7895` to `false` * Set `CLICON_YANG_LIBRARY` to `true` and `CLICON_MODULE_LIBRARY_RFC7895` to `false`
* To keep RFC7895: * To keep RFC7895:
* Set both `CLICON_YANG_LIBRARY` and `CLICON_MODULE_LIBRARY_RFC7895` to `true` * Set both `CLICON_YANG_LIBRARY` and `CLICON_MODULE_LIBRARY_RFC7895` to `true`
* This upgrade means that the state-data returned using GET is changed: * Following RFC8525, the upgrade means that the state-data returned using GET is changed:
* preamble changed from: `<modules-state>...` to: `<yang-library><module-set>...` * Preamble changed from: `<modules-state>...` to: `<yang-library><module-set>...`
* `module-state-id` changed to `content-id` * `module-state-id` changed to `content-id`
* `conformance-type` removed * `conformance-type` removed
* Note that the datastore feature `CLICON_XMLDB_MODSTATE` is backward compatible with RFC8525. * Note that the datastore feature `CLICON_XMLDB_MODSTATE` is backward compatible with RFC8525.
* New `clixon-config@2022-02-11.yang` revision * New `clixon-config@2022-02-11.yang` revision
* Added option: * Added option:
* `CLICON_LOG_STRING_LIMIT` * `CLICON_LOG_STRING_LIMIT`
* 'CLICON_YANG_LIBRARY` * `CLICON_YANG_LIBRARY`
* Changed default value: * Changed default value:
* `CLICON_MODULE_LIBRARY_RFC7895` to false * `CLICON_MODULE_LIBRARY_RFC7895` to false
* Removed (previosly marked) obsolete options: * Removed (previosly marked) obsolete options:
@ -81,24 +81,25 @@ Users may have to change how they access the system
* YANG leafref `require-instance` default changed to `true` * YANG leafref `require-instance` default changed to `true`
* This makes leafref validation stricter * This makes leafref validation stricter
* See [statement: require-instance should be true if not present according to rfc7950 Sec 9.9.3](https://github.com/clicon/clixon/issues/302) * See [statement: require-instance should be true if not present according to rfc7950 Sec 9.9.3](https://github.com/clicon/clixon/issues/302)
* `configure --with-wwwdir=<dir>` is removed * Autotools/configure changes
* Command field of clixon-lib:process-control RPC reply used CDATA encoding but now uses regular XML encoding * `configure --with-wwwdir=<dir>` is removed
* Configure option `--disable-evhtp` with `--disable-http1` for disabling HTTP/1 (default enabled)
* Command field of `clixon-lib:process-control` RPC reply used CDATA encoding but now uses regular XML encoding
### C/CLI-API changes on existing features ### C/CLI-API changes on existing features
* Added rfc7951 parameter to `clixon_json_parse_string()` and `clixon_json_parse_file()` * Added RFC7951 parameter to `clixon_json_parse_string()` and `clixon_json_parse_file()`
* If set, honor RFC 7951: JSON Encoding of Data Modeled with YANG, eg it requires module name prefixes * If set, honor RFC 7951: JSON Encoding of Data Modeled with YANG, eg it requires module name prefixes
* If not set, parse as regular JSON * If not set, parse as regular JSON
### Minor features ### Minor features
* [Strict auto completion for CLI argument expansion #163](https://github.com/clicon/clixon/issues/163) * Added: [Strict auto completion for CLI argument expansion #163](https://github.com/clicon/clixon/issues/163)
* [Convert int64, uint64 and decimal64 to string in xml to json #310](https://github.com/clicon/clixon/pull/310) * Added: [Convert int64, uint64 and decimal64 to string in xml to json #310](https://github.com/clicon/clixon/pull/310)
* Backend ignore of SIGPIPE. This occurs if client quits unexpectedly over the UNIX socket. * Backend ignore of `SIGPIPE'. This occurs if client quits unexpectedly over the UNIX socket.
* This is a timing issue but occurs more frequently in large RESTCONF messgaes. * This is a timing issue but occurs more frequently in large RESTCONF messages.
* New `clixon-config@2022-02-11.yang` revision * Added option: `CLICON_LOG_STRING_LIMIT` configure option
* Added option: `CLICON_LOG_STRING_LIMIT` * Limit the length of log and debug messages. Some log messages are dependendent on sizes that can be very large, such as packet lengths. This new option constrains the length of all messgaes. By default no limits.
* Limit the length of log and debug messages. Some log messages are dependendent on sizes that can be very large, such as packet lengths. This new option constrains the length of all messgaes. By default no limits.
### Corrected Bugs ### Corrected Bugs
@ -107,7 +108,7 @@ Users may have to change how they access the system
* Fixed: [restconf GET json response does not encode top level node with namespace as per rfc #303](https://github.com/clicon/clixon/issues/303) * Fixed: [restconf GET json response does not encode top level node with namespace as per rfc #303](https://github.com/clicon/clixon/issues/303)
* Fixed: [statement: require-instance should be true if not present according to rfc7950 Sec 9.9.3](https://github.com/clicon/clixon/issues/302) * Fixed: [statement: require-instance should be true if not present according to rfc7950 Sec 9.9.3](https://github.com/clicon/clixon/issues/302)
* See also API changes * See also API changes
* Fixed: input RPC validation of choice (non-case) * Fixed: input RPC validation of YANG `choice`, more specifically, without `case` keyword
* Fixed: More than one unknown/extension in combination with augment of extension resulted in extension being skipped. * Fixed: More than one unknown/extension in combination with augment of extension resulted in extension being skipped.
## 5.5.0 ## 5.5.0

View file

@ -57,8 +57,6 @@ sysconfdir = @sysconfdir@
includedir = @includedir@ includedir = @includedir@
HOST_VENDOR = @host_vendor@ HOST_VENDOR = @host_vendor@
wwwdir = @wwwdir@
# one of fcgi or native: # one of fcgi or native:
with_restconf = @with_restconf@ with_restconf = @with_restconf@
@ -166,9 +164,6 @@ distclean: clean
install: install-lib $(APPL) install: install-lib $(APPL)
install -d -m 0755 $(DESTDIR)$(sbindir) install -d -m 0755 $(DESTDIR)$(sbindir)
install -m 0755 $(INSTALLFLAGS) $(APPL) $(DESTDIR)$(sbindir) install -m 0755 $(INSTALLFLAGS) $(APPL) $(DESTDIR)$(sbindir)
ifeq ($(with_restconf),fcgi)
install -d -m 0755 $(DESTDIR)$(wwwdir)
endif
ifeq ($(LINKAGE),dynamic) ifeq ($(LINKAGE),dynamic)
install-lib: $(MYLIBDYNAMIC) install-lib: $(MYLIBDYNAMIC)

View file

@ -60,6 +60,7 @@
/* Define to 1 if you have the `nghttp2' library (-lnghttp2). */ /* Define to 1 if you have the `nghttp2' library (-lnghttp2). */
#undef HAVE_LIBNGHTTP2 #undef HAVE_LIBNGHTTP2
/* Set to true if HTTP/1 parser */
#undef HAVE_HTTP1 #undef HAVE_HTTP1
/* Define to 1 if you have the `socket' library (-lsocket). */ /* Define to 1 if you have the `socket' library (-lsocket). */
@ -152,9 +153,6 @@
/* Use native restconf mode */ /* Use native restconf mode */
#undef WITH_RESTCONF_NATIVE #undef WITH_RESTCONF_NATIVE
/* WWW dir for fcgi stuff / nginx */
#undef WWWDIR
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
`char[]'. */ `char[]'. */
#undef YYTEXT_POINTER #undef YYTEXT_POINTER

View file

@ -93,6 +93,7 @@ struct yang_stmt{
Y_LIST: vector of keys Y_LIST: vector of keys
Y_TYPE & identity: store all derived Y_TYPE & identity: store all derived
types as <module>:<id> list types as <module>:<id> list
Y_UNIQUE: vector of descendant schema node ids
*/ */
yang_type_cache *ys_typecache; /* If ys_keyword==Y_TYPE, cache all typedef data except unions */ yang_type_cache *ys_typecache; /* If ys_keyword==Y_TYPE, cache all typedef data except unions */
char *ys_when_xpath; /* Special conditional for a "when"-associated augment/uses xpath */ char *ys_when_xpath; /* Special conditional for a "when"-associated augment/uses xpath */