Clixon 5.7.0
This commit is contained in:
parent
50fcedafac
commit
0adeae64df
3 changed files with 70 additions and 65 deletions
130
CHANGELOG.md
130
CHANGELOG.md
|
|
@ -1,6 +1,6 @@
|
||||||
# Clixon Changelog
|
# Clixon Changelog
|
||||||
|
|
||||||
* [5.7.0](#560) Expected: May 2022
|
* [5.7.0](#570) 16 May 2022
|
||||||
* [5.6.0](#560) 8 March 2022
|
* [5.6.0](#560) 8 March 2022
|
||||||
* [5.5.0](#550) 20 January 2022
|
* [5.5.0](#550) 20 January 2022
|
||||||
* [5.4.0](#540) 30 November 2021
|
* [5.4.0](#540) 30 November 2021
|
||||||
|
|
@ -35,84 +35,90 @@
|
||||||
* [3.3.1](#331) June 7 2017
|
* [3.3.1](#331) June 7 2017
|
||||||
|
|
||||||
## 5.7.0
|
## 5.7.0
|
||||||
Expected: May 2022
|
16 May 2022
|
||||||
|
|
||||||
|
Clixon 5.7 upgrades the NETCONF framing to chunked framing as defined
|
||||||
|
in RFC 6242 and also introduces a limited http data service. As
|
||||||
|
always, multiple bugfixes as well.
|
||||||
|
|
||||||
### New features
|
### New features
|
||||||
|
|
||||||
* Extended the Restconf implementation with a limited http-data static service
|
|
||||||
* The limited implementation is as follows:
|
|
||||||
* path: Local static files within `CLICON_WWW_DATA_ROOT`
|
|
||||||
* operation GET, HEAD, or OPTIONS
|
|
||||||
* query parameters not supported
|
|
||||||
* no indata
|
|
||||||
* media: html, css, js, fonts, image.
|
|
||||||
* authentication, TLS, http/2 as restconf
|
|
||||||
* Added two new config options to clixon-config.yang:
|
|
||||||
* `CLICON_HTTP_DATA_PATH`
|
|
||||||
* `CLICON_HTTP_DATA_ROOT`
|
|
||||||
* Added feature http-data to restconf-config.yang and the following option that needs to be true
|
|
||||||
* `enable-http-data`
|
|
||||||
* Added `HTTP_DATA_INTERNAL_REDIRECT` compile-time option for internal redirects to `index.html`
|
|
||||||
|
|
||||||
* Implementation of "chunked framing" according to RFC6242 for Netconf 1.1.
|
* Implementation of "chunked framing" according to RFC6242 for Netconf 1.1.
|
||||||
* First hello is 1.0 EOM framing, then successing rpc is chunked framing
|
* First hello is 1.0 EOM framing, then successing rpc is chunked framing
|
||||||
* See
|
* See
|
||||||
* [Netconf framing](https://github.com/clicon/clixon/issues/50), and
|
* [Netconf framing](https://github.com/clicon/clixon/issues/50), and
|
||||||
* [Clixon does not switch to chunked framing after NETCONF 1.1 is negotiated](https://github.com/clicon/clixon/issues/314)
|
* [Clixon does not switch to chunked framing after NETCONF 1.1 is negotiated](https://github.com/clicon/clixon/issues/314)
|
||||||
|
* Extended the Restconf implementation with a limited http-data static service
|
||||||
|
* Added two new config options to clixon-config.yang:
|
||||||
|
* `CLICON_HTTP_DATA_PATH`
|
||||||
|
* `CLICON_HTTP_DATA_ROOT`
|
||||||
|
* Added feature http-data to restconf-config.yang and the following option that needs to be true
|
||||||
|
* `enable-http-data`
|
||||||
|
* Added `HTTP_DATA_INTERNAL_REDIRECT` compile-time option for internal redirects to `index.html`
|
||||||
|
* For more info, see [user manual documentation](https://clixon-docs.readthedocs.io/en/latest/restconf.html#http-data)
|
||||||
|
|
||||||
### 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
|
||||||
|
|
||||||
* CLI expansion of leafrefs default behavior changed
|
* CLI
|
||||||
|
* `clixon_cli` reconnects to backend if backend restarts with a warning
|
||||||
|
* Note that edits to the candidate database or locks will be lost
|
||||||
|
* To force the CLI to exit if backend restarts, undef `PROTO_RESTART_RECONNECT`
|
||||||
|
* This is an effect of the fix of [Broken pipe error seen in client (cli) when backend restarts and CLICON_SOCK is recreated](https://github.com/clicon/clixon/issues/312), the CLI behavior on backend restart is changed.
|
||||||
|
* Expansion of YANG leafref type default behavior has changed
|
||||||
* In the autocli and handcrafted CLI:s using `expand_dbvar()` the CLI expansion followed the leafrefs to the sources, ie the origin of the leafrefs
|
* In the autocli and handcrafted CLI:s using `expand_dbvar()` the CLI expansion followed the leafrefs to the sources, ie the origin of the leafrefs
|
||||||
* Instead leafref expansion now only looks at the leafrefs
|
* Instead leafref expansion now expands according to existing leafrefs by default
|
||||||
* Example:
|
* Example:
|
||||||
* Assume ifref with leafref pointing to source if values:
|
* Assume leafref with leafref pointing to source if values:
|
||||||
* `<if>a</if><if>b</if><if>c</if>`
|
* `<if>a</if><if>b</if><if>c</if>
|
||||||
* `<ifref>b</ifref>`
|
<ifref>b</ifref>`
|
||||||
* Existing behavior: propose: `a, b, c`
|
* Existing behavior: expand to: `a, b, c`
|
||||||
* New default behavior: propose: `b`
|
* New default behavior: expand to: `b`
|
||||||
* To keep existing behavior, set `<CLICON_CLI_EXPAND_LEAFREF>true<CLICON_CLI_EXPAND_LEAFREF>`
|
* To keep existing behavior, set `<CLICON_CLI_EXPAND_LEAFREF>true<CLICON_CLI_EXPAND_LEAFREF>`
|
||||||
|
|
||||||
* Restconf
|
* Restconf
|
||||||
* Added 404 return without body if neither restconf, data or streams prefix match
|
* Added 404 return without body if neither restconf, data or streams prefix match
|
||||||
* Netconf: Usage of chunked framing"
|
* Netconf:
|
||||||
|
* Usage of chunked framing
|
||||||
* To keep existing end-of-message encoding, set `CLICON_NETCONF_BASE_CAPABILITY` to `0`
|
* To keep existing end-of-message encoding, set `CLICON_NETCONF_BASE_CAPABILITY` to `0`
|
||||||
* Added `clixon_netconf` command-line option `-0` and changed `-H` to `-1`
|
* Added `clixon_netconf` command-line option `-0` and changed `-H` to `-1`
|
||||||
* `-0` means dont send hello, but fix netconf base version to 0 and use EOM framing
|
* `-0` means dont send hello, but fix netconf base version to 0 and use EOM framing
|
||||||
* `-1` means dont send hello, but fix netconf base version to 1 and use chunked framing
|
* `-1` means dont send hello, but fix netconf base version to 1 and use chunked framing
|
||||||
* New `clixon-config@2022-03-21.yang` revision
|
* Error message `data-not-unique` changed to return schema nodes instead of XML for RFC7950 compliance
|
||||||
* Added option:
|
* YANG
|
||||||
* `CLICON_RESTCONF_API_ROOT`
|
* Instead of removing YANG which is disabled by `if-feature`, replace it with an yang `anydata` node.
|
||||||
* `CLICON_NETCONF_BASE_CAPABILITY`
|
* See [Adding feature to top level container doesn't work](https://github.com/clicon/clixon/issues/322)
|
||||||
* `CLICON_HTTP_DATA_PATH`
|
* This means XML specified by such YANG is ignored, and it is not an error to access it
|
||||||
* `CLICON_HTTP_DATA_ROOT`
|
* Note the similarity with `CLICON_YANG_UNKNOWN_ANYDATA`
|
||||||
* `CLICON_CLI_EXPAND_LEAFREF`
|
* New `clixon-config@2022-03-21.yang` revision
|
||||||
* New `clixon-restconf@2022-03-21.yang` revision
|
* Added option:
|
||||||
* Added option:
|
* `CLICON_RESTCONF_API_ROOT`
|
||||||
* `enable-http-data`
|
* `CLICON_NETCONF_BASE_CAPABILITY`
|
||||||
* Added feature: `http-data`
|
* `CLICON_HTTP_DATA_PATH`
|
||||||
* Netconf data-not-unique info changed to return schema nodes instead of XML for RFC7950 compliance
|
* `CLICON_HTTP_DATA_ROOT`
|
||||||
* CLI reconnects to backend if backend restarts with a warning
|
* `CLICON_CLI_EXPAND_LEAFREF`
|
||||||
* Note that edits to the candidate database or locks will be lost
|
* New `clixon-restconf@2022-03-21.yang` revision
|
||||||
* To force the CLI to exit if backend restarts, undef `PROTO_RESTART_RECONNECT`
|
* Added option:
|
||||||
* This is an effect of the fix of [Broken pipe error seen in client (cli) when backend restarts and CLICON_SOCK is recreated](https://github.com/clicon/clixon/issues/312), the CLI behavior on backend restart is changed.
|
* `enable-http-data`
|
||||||
|
* Added feature:
|
||||||
|
* `http-data`
|
||||||
|
|
||||||
|
### C/CLI-API changes on existing features
|
||||||
|
|
||||||
|
Developers may need to change their code
|
||||||
|
|
||||||
|
* Added `nsc` parameter to `xml2xpath()` and ensured the xpath uses prefixes.
|
||||||
|
* Old code: add `NULL` as second parameter
|
||||||
|
* Added `eof` parameter to `clicon_rpc()` and `clicon_rpc1()` and error handling modified
|
||||||
|
|
||||||
### Minor features
|
### Minor features
|
||||||
|
|
||||||
* Extended `-l` command-line option to all clixon commands with a `none` option, eg `-l n` directs logging to `dev/null`
|
* Command-line option: Extended `-l` of all clixon commands with `-l n` which directs logging to `/dev/null`
|
||||||
* [Adding feature to top level container doesn't work](https://github.com/clicon/clixon/issues/322)
|
* New: CLI load command for CLI syntax files (not only XML and JSON)
|
||||||
* Instead of removing YANG which is disabled by `if-feature`, replace it with an yang `anydata` node.
|
* See [provide support for load config of cli format along with json and xml format as save config is supported for all 3 formats](https://github.com/clicon/clixon/issues/320)
|
||||||
* This means XML specified by such YANG is ignored, and it is not an error to access it
|
* New: Do not load clixon-restconf YANG file by default
|
||||||
* Note the similarity with `CLICON_YANG_UNKNOWN_ANYDATA`
|
* See [prevent clixon-restconf@2021-05-20.yang module from loading](https://github.com/clicon/clixon/issues/318)
|
||||||
* XPath parser: fixing lexical issues cornercases
|
|
||||||
* Some complexities in Section 3.7 Lexical Structure of XPath 1.0 spec
|
|
||||||
* There used to be some cornercases where function-names could not be used as nodes
|
|
||||||
* For example, `node()` is a nodetest, so `/node/` caused an error.
|
|
||||||
* In the grammar these include: axisnames, nodetests, functionnames
|
|
||||||
* The NCNames vs functionnames is now implemented according to the lexical structure section
|
|
||||||
* [provide support for load config of cli format along with json and xml format as save config is supported for all 3 formats](https://github.com/clicon/clixon/issues/320)
|
|
||||||
* [prevent clixon-restconf@2021-05-20.yang module from loading](https://github.com/clicon/clixon/issues/318)
|
|
||||||
* Instead of always loading it, load it to datastore YANGs only if `CLICON_BACKEND_RESTCONF_PROCESS` is `true`
|
* Instead of always loading it, load it to datastore YANGs only if `CLICON_BACKEND_RESTCONF_PROCESS` is `true`
|
||||||
* YANG unique: added single descendant node ids as special case
|
* YANG unique: added single descendant node ids as special case
|
||||||
* This means that two variants are supported:
|
* This means that two variants are supported:
|
||||||
|
|
@ -123,6 +129,12 @@ Users may have to change how they access the system
|
||||||
|
|
||||||
### Corrected Bugs
|
### Corrected Bugs
|
||||||
|
|
||||||
|
* XPath parser: fixed some lexical issues
|
||||||
|
* Some complexities in Section 3.7 Lexical Structure of XPath 1.0 spec as follows
|
||||||
|
* There used to be some cornercases where function-names could not be used as nodes
|
||||||
|
* For example, `node()` is a nodetest, so `/node/` caused an error.
|
||||||
|
* In the grammar these include: axisnames, nodetests, functionnames
|
||||||
|
* The NCNames vs functionnames is now implemented according to the lexical structure section
|
||||||
* Fixed: [Keywords containing '-' hyphen are missing from the auto-completion list](https://github.com/clicon/clixon/issues/330)
|
* Fixed: [Keywords containing '-' hyphen are missing from the auto-completion list](https://github.com/clicon/clixon/issues/330)
|
||||||
* Fixed by disabling `cligen_preference_mode`. This may have other side effects.
|
* Fixed by disabling `cligen_preference_mode`. This may have other side effects.
|
||||||
* Fixed: [Returning a string while Querying leaf-list for single entry](https://github.com/clicon/clixon/issues/326)
|
* Fixed: [Returning a string while Querying leaf-list for single entry](https://github.com/clicon/clixon/issues/326)
|
||||||
|
|
@ -146,14 +158,6 @@ Users may have to change how they access the system
|
||||||
* Fixed: [Xpath API do not support filter data by wildcard](https://github.com/clicon/clixon/issues/313)
|
* Fixed: [Xpath API do not support filter data by wildcard](https://github.com/clicon/clixon/issues/313)
|
||||||
* Fixed: SEGV in cli show yang
|
* Fixed: SEGV in cli show yang
|
||||||
|
|
||||||
### C/CLI-API changes on existing features
|
|
||||||
|
|
||||||
Developers may need to change their code
|
|
||||||
|
|
||||||
* Added `nsc` parameter to `xml2xpath()` and ensured the xpath uses prefixes.
|
|
||||||
* Old code: add `NULL` as second parameter
|
|
||||||
* Added `eof` parameter to `clicon_rpc()` and `clicon_rpc1()` and error handling modified
|
|
||||||
|
|
||||||
## 5.6.0
|
## 5.6.0
|
||||||
8 March 2022
|
8 March 2022
|
||||||
|
|
||||||
|
|
|
||||||
3
configure
vendored
3
configure
vendored
|
|
@ -2268,7 +2268,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||||
CLIXON_VERSION_MAJOR="5"
|
CLIXON_VERSION_MAJOR="5"
|
||||||
CLIXON_VERSION_MINOR="7"
|
CLIXON_VERSION_MINOR="7"
|
||||||
CLIXON_VERSION_PATCH="0"
|
CLIXON_VERSION_PATCH="0"
|
||||||
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}_PRE\""
|
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}\""
|
||||||
|
|
||||||
# Debug flag
|
# Debug flag
|
||||||
# Check whether --enable-debug was given.
|
# Check whether --enable-debug was given.
|
||||||
|
|
@ -3155,6 +3155,7 @@ _ACEOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# defines: target_cpu, target_vendor, and target_os.
|
||||||
# Make sure we can run config.sub.
|
# Make sure we can run config.sub.
|
||||||
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
|
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
|
||||||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
|
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ AC_CONFIG_AUX_DIR(config-aux)
|
||||||
CLIXON_VERSION_MAJOR="5"
|
CLIXON_VERSION_MAJOR="5"
|
||||||
CLIXON_VERSION_MINOR="7"
|
CLIXON_VERSION_MINOR="7"
|
||||||
CLIXON_VERSION_PATCH="0"
|
CLIXON_VERSION_PATCH="0"
|
||||||
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}_PRE\""
|
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}\""
|
||||||
|
|
||||||
# Debug flag
|
# Debug flag
|
||||||
AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],[Build with debug symbols, default: no]),[
|
AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],[Build with debug symbols, default: no]),[
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue