/* delete a secets database entry
*/
-bool secrets_delete(const char *key)
+bool secrets_delete_entry(const char *key)
{
NTSTATUS status;
if (!secrets_init()) {
return NT_STATUS_IS_OK(status);
}
+/*
+ * Deletes the key if it exists.
+ */
+bool secrets_delete(const char *key)
+{
+ bool exists;
+
+ if (!secrets_init()) {
+ return false;
+ }
+
+ exists = dbwrap_exists(db_ctx, string_tdb_data(key));
+ if (!exists) {
+ return true;
+ }
+
+ return secrets_delete_entry(key);
+}
+
/**
* Form a key for fetching a trusted domain password
*
bool trusted_domain_password_delete(const char *domain)
{
- return secrets_delete(trustdom_keystr(domain));
+ return secrets_delete_entry(trustdom_keystr(domain));
}
bool secrets_store_ldap_pw(const char* dn, char* pw)
SAFE_FREE(*dn);
return False;
}
- if (!secrets_delete(old_style_key)) {
+ if (!secrets_delete_entry(old_style_key)) {
DEBUG(0,("fetch_ldap_pw: old ldap secret could not be deleted!\n"));
}