diff options
author | Volker Lendecke <vl@samba.org> | 2010-12-11 14:19:50 +0100 |
---|---|---|
committer | Volker Lendecke <vlendec@samba.org> | 2010-12-19 23:25:06 +0100 |
commit | e113b1c64f1dfd84911050379d06d9ffc4958db3 (patch) | |
tree | a47eaecee7ad3e74e99b69a11e129cd04ae57fd2 /source3 | |
parent | ff5f767d0e31ea0c5311ce48d8e0387eebd84ce8 (diff) | |
download | samba-e113b1c64f1dfd84911050379d06d9ffc4958db3.tar.gz |
s3: netsamlogon_clear_cached_user only needs the SID
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/proto.h | 2 | ||||
-rw-r--r-- | source3/libsmb/samlogon_cache.c | 10 | ||||
-rw-r--r-- | source3/winbindd/winbindd_cache.c | 2 |
3 files changed, 4 insertions, 10 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 95833883623..11060aa6d3e 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -2835,7 +2835,7 @@ NTSTATUS remote_password_change(const char *remote_machine, const char *user_nam bool netsamlogon_cache_init(void); bool netsamlogon_cache_shutdown(void); -void netsamlogon_clear_cached_user(struct netr_SamInfo3 *info3); +void netsamlogon_clear_cached_user(const struct dom_sid *user_sid); bool netsamlogon_cache_store(const char *username, struct netr_SamInfo3 *info3); struct netr_SamInfo3 *netsamlogon_cache_get(TALLOC_CTX *mem_ctx, const struct dom_sid *user_sid); bool netsamlogon_cache_have(const struct dom_sid *user_sid); diff --git a/source3/libsmb/samlogon_cache.c b/source3/libsmb/samlogon_cache.c index 52fbe04351b..f3ef9547b7b 100644 --- a/source3/libsmb/samlogon_cache.c +++ b/source3/libsmb/samlogon_cache.c @@ -99,25 +99,19 @@ bool netsamlogon_cache_shutdown(void) Clear cache getpwnam and getgroups entries from the winbindd cache ***********************************************************************/ -void netsamlogon_clear_cached_user(struct netr_SamInfo3 *info3) +void netsamlogon_clear_cached_user(const struct dom_sid *user_sid) { - struct dom_sid user_sid; fstring keystr; - if (!info3) { - return; - } - if (!netsamlogon_cache_init()) { DEBUG(0,("netsamlogon_clear_cached_user: cannot open " "%s for write!\n", NETSAMLOGON_TDB)); return; } - sid_compose(&user_sid, info3->base.domain_sid, info3->base.rid); /* Prepare key as DOMAIN-SID/USER-RID string */ - sid_to_fstring(keystr, &user_sid); + sid_to_fstring(keystr, user_sid); DEBUG(10,("netsamlogon_clear_cached_user: SID [%s]\n", keystr)); diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index 44c6f2b80bd..7663063aeb4 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -3034,7 +3034,7 @@ void wcache_invalidate_samlogon(struct winbindd_domain *domain, tdb_delete(cache->tdb, string_tdb_data(key_str)); /* Samba/winbindd never needs this. */ - netsamlogon_clear_cached_user(info3); + netsamlogon_clear_cached_user(&sid); } bool wcache_invalidate_cache(void) |