r22110: don't cache the S-1-22-{1,2} domain SID/uig/gid lookups in idmap_cache
authorGerald Carter <jerry@samba.org>
Fri, 6 Apr 2007 21:05:55 +0000 (21:05 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:19:13 +0000 (12:19 -0500)
(This used to be commit adfc2d31656f642c76a3d8eeddf5a67804a4917d)

source3/nsswitch/idmap_cache.c

index 6d23e75b2c71ff640959c267742afe58424eb3f5..6e5febf2ba881ce2ef1b497ec0d64e4b2b99ced7 100644 (file)
@@ -109,6 +109,19 @@ NTSTATUS idmap_cache_set(struct idmap_cache_ctx *cache, const struct id_map *id)
        char *idkey;
        char *valstr;
 
+       /* Don't cache lookups in the S-1-22-{1,2} domain */
+       if ( (id->xid.type == ID_TYPE_UID) && 
+            sid_check_is_in_unix_users(id->sid) )
+       {
+               return NT_STATUS_OK;
+       }
+       if ( (id->xid.type == ID_TYPE_GID) && 
+            sid_check_is_in_unix_groups(id->sid) )
+       {
+               return NT_STATUS_OK;
+       }
+       
+
        ret = idmap_cache_build_sidkey(cache, &sidkey, id);
        if (!NT_STATUS_IS_OK(ret)) return ret;