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 ...,