summaryrefslogtreecommitdiff
path: root/source3/passdb/secrets.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2004-02-08 11:05:34 +0000
committerAndrew Bartlett <abartlet@samba.org>2004-02-08 11:05:34 +0000
commit46975eb92feb34ea64fb31448672b81bd2febea0 (patch)
tree5bcac6e841c5c9336ec2f84af165a8c9ad6dea8c /source3/passdb/secrets.c
parentb401888b6be6f3cd9cdd8187dc74521eb3207f9c (diff)
downloadsamba-46975eb92feb34ea64fb31448672b81bd2febea0.tar.gz
samba-46975eb92feb34ea64fb31448672b81bd2febea0.tar.bz2
samba-46975eb92feb34ea64fb31448672b81bd2febea0.zip
When we set a domain sid, force get_global_sam_sid() to do it's work again.
This should ensure that the value it returns is always consistant. Andrew Bartlett (This used to be commit a4392ede33019b7584bf6a2d8445adb5191e640f)
Diffstat (limited to 'source3/passdb/secrets.c')
-rw-r--r--source3/passdb/secrets.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c
index 1b545488cd..308f95f395 100644
--- a/source3/passdb/secrets.c
+++ b/source3/passdb/secrets.c
@@ -99,10 +99,16 @@ BOOL secrets_delete(const char *key)
BOOL secrets_store_domain_sid(const char *domain, const DOM_SID *sid)
{
fstring key;
+ BOOL ret;
slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_SID, domain);
strupper_m(key);
- return secrets_store(key, sid, sizeof(DOM_SID));
+ ret = secrets_store(key, sid, sizeof(DOM_SID));
+
+ /* Force a re-query, in case we modified our domain */
+ if (ret)
+ reset_global_sam_sid();
+ return ret;
}
BOOL secrets_fetch_domain_sid(const char *domain, DOM_SID *sid)