From ab92bee5b2100042cba452a53451be57b1b11f09 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Thu, 1 Nov 2012 14:41:56 +0100 Subject: [PATCH] s3:winbindd:cache: fix offline logons with cached credentials (bug #9321) The removal of consumption of the time field from the centry as "removal of unused variable" in 21528da9cd12a4f5c3792a482a5d18fe946a6f7a had the side effect of changing the offset for reading the following nt password hash, so the read password hash was wrong. This patch re-installs the consumption of the time, thereby fixing the bug without changing the disk format of the cache. Signed-off-by: Michael Adam --- source3/winbindd/winbindd_cache.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index 2c9dd4a..54f6ce3 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -1299,6 +1299,7 @@ NTSTATUS wcache_get_creds(struct winbindd_domain *domain, struct winbind_cache *cache = get_cache(domain); struct cache_entry *centry = NULL; NTSTATUS status; + time_t t; uint32 rid; fstring tmp; @@ -1329,6 +1330,8 @@ NTSTATUS wcache_get_creds(struct winbindd_domain *domain, return NT_STATUS_OBJECT_NAME_NOT_FOUND; } + t = centry_time(centry); + /* In the salted case this isn't actually the nt_hash itself, but the MD5 of the salt + nt_hash. Let the caller sort this out. It can tell as we only return the cached_salt -- 1.7.9.5