s3-passdb: add secrets_delete_generic().
authorGünther Deschner <gd@samba.org>
Tue, 27 Oct 2009 13:59:25 +0000 (14:59 +0100)
committerKarolin Seeger <kseeger@samba.org>
Thu, 26 Nov 2009 10:39:54 +0000 (11:39 +0100)
Guenther
(cherry picked from commit 87c1eb24a5d63bdb53b7400d111ff13fb4d35c48)

source3/include/proto.h
source3/passdb/secrets.c

index b79ced7fbac43cf76060fe740166338e4b48b110..111b4c79c998003758fa92ea8340604756f76402 100644 (file)
@@ -4721,6 +4721,7 @@ void secrets_fetch_ipc_userpass(char **username, char **domain, char **password)
 TDB_CONTEXT *open_schannel_session_store(TALLOC_CTX *mem_ctx);
 bool secrets_store_generic(const char *owner, const char *key, const char *secret);
 char *secrets_fetch_generic(const char *owner, const char *key);
+bool secrets_delete_generic(const char *owner, const char *key);
 bool secrets_store_local_schannel_key(uint8_t schannel_key[16]);
 bool secrets_fetch_local_schannel_key(uint8_t schannel_key[16]);
 
index 29e06623960c4ce6a0a77c19d9827363d74f0450..01919b76ef4697d878092d457c117c5f96151b3d 100644 (file)
@@ -1211,6 +1211,22 @@ bool secrets_store_generic(const char *owner, const char *key, const char *secre
        return ret;
 }
 
+bool secrets_delete_generic(const char *owner, const char *key)
+{
+       char *tdbkey = NULL;
+       bool ret;
+
+       if (asprintf(&tdbkey, "SECRETS/GENERIC/%s/%s", owner, key) < 0) {
+               DEBUG(0, ("asprintf failed!\n"));
+               return False;
+       }
+
+       ret = secrets_delete(tdbkey);
+
+       SAFE_FREE(tdbkey);
+       return ret;
+}
+
 /*******************************************************************
  Find the ldap password.
 ******************************************************************/