diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0d4e90cb..0ed8bef6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -42,6 +42,9 @@
## 6.2.0
Expected: April 2023
+* C-API
+ * `candidate_commit()`: validate_level (added in 6.1) marked obsolete
+
## 6.1.0
19 Feb 2023
diff --git a/apps/backend/backend_client.c b/apps/backend/backend_client.c
index 919a15f8..673c5754 100644
--- a/apps/backend/backend_client.c
+++ b/apps/backend/backend_client.c
@@ -510,7 +510,7 @@ from_client_edit_config(clicon_handle h,
}
/* Limited validation of incoming payload
*/
- if ((ret = xml_yang_minmax_recurse(xc, &xret)) < 0)
+ if ((ret = xml_yang_minmax_recurse(xc, 1, &xret)) < 0)
goto done;
/* xmldb_put (difflist handling) requires list keys */
if (ret==1 && (ret = xml_yang_validate_list_key_only(xc, &xret)) < 0)
@@ -567,7 +567,7 @@ from_client_edit_config(clicon_handle h,
break;
}
}
- if ((ret = candidate_commit(h, NULL, "candidate", myid, VL_FULL, cbret)) < 0){ /* Assume validation fail, nofatal */
+ if ((ret = candidate_commit(h, NULL, "candidate", myid, 0, cbret)) < 0){ /* Assume validation fail, nofatal */
if (netconf_operation_failed(cbret, "application", clicon_err_reason)< 0)
goto done;
xmldb_copy(h, "running", "candidate");
diff --git a/apps/backend/backend_commit.c b/apps/backend/backend_commit.c
index 2c372b19..a7d5864e 100644
--- a/apps/backend/backend_commit.c
+++ b/apps/backend/backend_commit.c
@@ -465,7 +465,6 @@ startup_commit(clicon_handle h,
* @param[in] h Clicon handle
* @param[in] db The (candidate) database. The wanted backend state
* @param[in] td Transaction data
- * @param[in] vlev Validation level (0: full validation)
* @param[out] xret Error XML tree, if retval is 0. Free with xml_free after use
* @retval 1 Validation OK
* @retval 0 Validation failed (with xret set)
@@ -478,7 +477,6 @@ static int
validate_common(clicon_handle h,
char *db,
transaction_data_t *td,
- validate_level vlev,
cxobj **xret)
{
int retval = -1;
@@ -546,18 +544,16 @@ validate_common(clicon_handle h,
if (plugin_transaction_begin_all(h, td) < 0)
goto done;
- if (vlev == VL_FULL){
- /* 5. Make generic validation on all new or changed data.
- Note this is only call that uses 3-values */
- if ((ret = generic_validate(h, yspec, td, xret)) < 0)
- goto done;
- if (ret == 0)
- goto fail;
+ /* 5. Make generic validation on all new or changed data.
+ Note this is only call that uses 3-values */
+ if ((ret = generic_validate(h, yspec, td, xret)) < 0)
+ goto done;
+ if (ret == 0)
+ goto fail;
- /* 6. Call plugin transaction validate callbacks */
- if (plugin_transaction_validate_all(h, td) < 0)
- goto done;
- }
+ /* 6. Call plugin transaction validate callbacks */
+ if (plugin_transaction_validate_all(h, td) < 0)
+ goto done;
/* 7. Call plugin transaction complete callbacks */
if (plugin_transaction_complete_all(h, td) < 0)
@@ -598,7 +594,7 @@ candidate_validate(clicon_handle h,
if ((td = transaction_new()) == NULL)
goto done;
/* Common steps (with commit) */
- if ((ret = validate_common(h, db, td, VL_FULL, &xret)) < 0){
+ if ((ret = validate_common(h, db, td, &xret)) < 0){
/* A little complex due to several sources of validation fails or errors.
* (1) xerr is set -> translate to cbret; (2) cbret set use that; otherwise
* use clicon_err.
@@ -652,7 +648,7 @@ candidate_validate(clicon_handle h,
* @param[in] xe Request: (or NULL)
* @param[in] db A candidate database, not necessarily "candidate"
* @param[in] myid Client id of triggering incoming message (or 0)
- * @param[in] vlev Validation level (0: full validation)
+ * @param[in] vlev Validation level (0: full validation) // obsolete
* @param[out] cbret Return xml tree, eg ...,