[SCM] Samba Shared Repository - branch v3-devel updated - release-3-2-0pre2-3835-ga7bbd33

Jeremy Allison jra at samba.org
Wed Aug 27 01:06:41 GMT 2008


The branch, v3-devel has been updated
       via  a7bbd33139c5835cf32efdbe0ef187117699e3e4 (commit)
      from  91f85d0dcaa917b7a90a77852f3a778a0ad99c4d (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-devel


- Log -----------------------------------------------------------------
commit a7bbd33139c5835cf32efdbe0ef187117699e3e4
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Aug 26 18:05:34 2008 -0700

    Fix bug spotted by Simo - don't use legacy if expired entry.
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source/passdb/lookup_sid.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/passdb/lookup_sid.c b/source/passdb/lookup_sid.c
index a5e3362..3861c8e 100644
--- a/source/passdb/lookup_sid.c
+++ b/source/passdb/lookup_sid.c
@@ -1296,7 +1296,7 @@ void uid_to_sid(DOM_SID *psid, uid_t uid)
 	/* Check the winbindd cache directly. */
 	ret = idmap_cache_find_uid2sid(uid, psid, &expired);
 
-	if (ret && is_null_sid(psid)) {
+	if (ret && !expired && is_null_sid(psid)) {
 		/*
 		 * Negative cache entry, we already asked.
 		 * do legacy.
@@ -1342,7 +1342,7 @@ void gid_to_sid(DOM_SID *psid, gid_t gid)
 	/* Check the winbindd cache directly. */
 	ret = idmap_cache_find_gid2sid(gid, psid, &expired);
 
-	if (ret && is_null_sid(psid)) {
+	if (ret && !expired && is_null_sid(psid)) {
 		/*
 		 * Negative cache entry, we already asked.
 		 * do legacy.
@@ -1405,7 +1405,7 @@ bool sid_to_uid(const DOM_SID *psid, uid_t *puid)
 	/* Check the winbindd cache directly. */
 	ret = idmap_cache_find_sid2uid(psid, puid, &expired);
 
-	if (ret && (*puid == (uid_t)-1)) {
+	if (ret && !expired && (*puid == (uid_t)-1)) {
 		/*
 		 * Negative cache entry, we already asked.
 		 * do legacy.
@@ -1469,7 +1469,7 @@ bool sid_to_gid(const DOM_SID *psid, gid_t *pgid)
 	/* Check the winbindd cache directly. */
 	ret = idmap_cache_find_sid2gid(psid, pgid, &expired);
 
-	if (ret && (*pgid == (gid_t)-1)) {
+	if (ret && !expired && (*pgid == (gid_t)-1)) {
 		/*
 		 * Negative cache entry, we already asked.
 		 * do legacy.


-- 
Samba Shared Repository


More information about the samba-cvs mailing list