diff --git a/CHANGELOG.md b/CHANGELOG.md index c0b053e3..c55ab250 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,10 @@ Expected: July 2020 ### API changes on existing protocol/config features (For users) +* Netconf lock/unlock behaviour changed to adhere to RFC 6241 + * Changed commit lock error tag from "lock denied" to "in-use". + * Changed unlock error message from "lock is already held" to #lock not active" or "lock held by other session". + * Fixed [lock candidate succeeded even though it is modified #110](https://github.com/clicon/clixon/issues/110) * New clixon-config@2020-06-17.yang revision * Added CLICON_CLI_LINES_DEFAULT for setting window row size of raw terminals * Added enum HIDE to CLICON_CLI_GENMODEL for auto-cli @@ -49,7 +53,6 @@ Expected: July 2020 * CLICON_SSL_SERVER_CERT * CLICON_SSL_SERVER_KEY * CLICON_SSL_CA_CERT - * Restconf FCGI (eg via nginx) have changed reply message syntax slightly as follows (due to refactoring and common code with evhtp): * Bodies in error retuns including html code have been removed * Some (extra) CRLF:s have been removed @@ -95,6 +98,7 @@ Expected: July 2020 ### Corrected Bugs * Fixed: Don't call upgrade callbacks if no revision defined so there's no way to determine right way 'from' and 'to' +* Fixed: [lock candidate succeeded even though it is modified #110](https://github.com/clicon/clixon/issues/110) * Fixed: [Need to add the possibility to use anchors around patterns #51](https://github.com/clicon/cligen/issues/51): * Dont escape `$` if it is last in a regexp in translation from XML to POSIX. * Fixed `CLICON_YANG_UNKNOWN_ANYDATA` for config and state data. This feature introduced in 4.5 didnt really work. diff --git a/lib/src/clixon_string.c b/lib/src/clixon_string.c index 66d8d563..9d536be6 100644 --- a/lib/src/clixon_string.c +++ b/lib/src/clixon_string.c @@ -61,16 +61,16 @@ * by the caller * * @code - * char **vec = NULL; - * char *v; - * int nvec; - * if ((vec = clicon_strsep("/home/user/src/clixon", "/", &nvec)) == NULL) - * err; - * for (i=0; iys_stmt[i], yang_argument_get(yspec->ys_stmt[i])) < 0) goto done; - /* 3: Check features: check if enabled and remove disabled features */ + /* 3: Check features/if-features: check if enabled and remove disabled features */ for (i=modnr; iys_stmt[i]) < 0) goto done; diff --git a/yang/clixon/clixon-config@2020-06-17.yang b/yang/clixon/clixon-config@2020-06-17.yang index 4544e538..70b2a00f 100644 --- a/yang/clixon/clixon-config@2020-06-17.yang +++ b/yang/clixon/clixon-config@2020-06-17.yang @@ -336,7 +336,12 @@ module clixon-config { description "Treat unknown XML/JSON nodes as anydata when loading from startup db. This does not apply to namespaces, which means a top-level node: xxx:yyy - is accepted only if yyy is unknown, not xxx"; + is accepted only if yyy is unknown, not xxx. + Note that this option has several caveats which needs to be fixed. Please + use with care. + The primary issue is that the unknown->anydata handling is not restricted to + only loading from startup but may occur in other circumstances as well. This + means that sanity checks of erroneous XML/JSON may not be properly signalled."; } leaf CLICON_BACKEND_DIR { type string;