From f853c1792967332c4aff52c0fb35f653f614f86d Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Thu, 1 Nov 2012 14:41:56 +0100 Subject: 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 Reviewed-by: Stefan Metzmacher --- source3/winbindd/winbindd_cache.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'source3/winbindd/winbindd_cache.c') diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index 2c9dd4a9b3..c79d3b6dc1 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -1329,6 +1329,13 @@ NTSTATUS wcache_get_creds(struct winbindd_domain *domain, return NT_STATUS_OBJECT_NAME_NOT_FOUND; } + /* + * We don't use the time element at this moment, + * but we have to consume it, so that we don't + * neet to change the disk format of the cache. + */ + (void)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 -- cgit