summaryrefslogtreecommitdiff
path: root/source3/passdb/secrets.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-03-13 16:13:24 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:18:36 -0500
commitaa6055debd078504f6a7ed861443b02672fc9067 (patch)
tree9c3fad25df2d7d6b993a214d1db85ced36561952 /source3/passdb/secrets.c
parent0e702698f9a7cf0e528f073bae65371ed58e5496 (diff)
downloadsamba-aa6055debd078504f6a7ed861443b02672fc9067.tar.gz
samba-aa6055debd078504f6a7ed861443b02672fc9067.tar.bz2
samba-aa6055debd078504f6a7ed861443b02672fc9067.zip
r21823: Let secrets_store_machine_password() also store the account name. Not used
yet, the next step will be a secrets_fetch_machine_account() function that also pulls the account name to be used in the appropriate places. Volker (This used to be commit f94e5af72e282f70ca5454cdf3aed510b747eb93)
Diffstat (limited to 'source3/passdb/secrets.c')
-rw-r--r--source3/passdb/secrets.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c
index 15c79745a0..21a55b09a0 100644
--- a/source3/passdb/secrets.c
+++ b/source3/passdb/secrets.c
@@ -553,7 +553,10 @@ BOOL secrets_store_trusted_domain_password(const char* domain, const char* pwd,
the password is assumed to be a null terminated ascii string
************************************************************************/
-BOOL secrets_store_machine_password(const char *pass, const char *domain, uint32 sec_channel)
+BOOL secrets_store_machine_password(const char *pass,
+ const char *accountname,
+ const char *domain,
+ uint32 sec_channel)
{
char *key = NULL;
BOOL ret = False;
@@ -581,6 +584,22 @@ BOOL secrets_store_machine_password(const char *pass, const char *domain, uint32
goto fail;
}
+ if (asprintf(&key, "%s/%s", SECRETS_MACHINE_ACCOUNTNAME,
+ domain) == -1) {
+ DEBUG(5, ("asprintf failed\n"));
+ goto fail;
+ }
+ strupper_m(key);
+
+ ret = secrets_store(key, accountname, strlen(accountname)+1);
+ SAFE_FREE(key);
+
+ if (!ret) {
+ DEBUG(5, ("secrets_store failed: %s\n",
+ tdb_errorstr(tdb)));
+ goto fail;
+ }
+
if (asprintf(&key, "%s/%s", SECRETS_MACHINE_LAST_CHANGE_TIME,
domain) == -1) {
DEBUG(5, ("asprintf failed\n"));