[SCM] Samba Shared Repository - branch v3-5-test updated
Michael Adam
obnox at samba.org
Fri Nov 13 08:26:40 MST 2009
The branch, v3-5-test has been updated
via ee2565b... s3:smbd: also fill the memcache with sid<->id mappings in ldapsam_sid_to_id()
via d5537cb... s3:smbd: make idmap cache persistent for "ldapsam:trusted".
from afb06a8... Fix large paged search
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test
- Log -----------------------------------------------------------------
commit ee2565bd461ccfb916c5290c883e5ced3af72141
Author: Michael Adam <obnox at samba.org>
Date: Fri Nov 13 16:16:50 2009 +0100
s3:smbd: also fill the memcache with sid<->id mappings in ldapsam_sid_to_id()
not only the persistent idmap cache.
Michael
commit d5537cbbf931f0bca519371bfd084fb0051acd57
Author: Michael Adam <obnox at samba.org>
Date: Fri Nov 13 15:51:33 2009 +0100
s3:smbd: make idmap cache persistent for "ldapsam:trusted".
This stores the mappings found in the idmap cache (which lives
inside gencache). This cache is already read in sid_to_Xid()
and Xid_to_sid() for ldapsam:trusted, this fills the opposite
direction, massively reducing the number of ldap roundtrips
across smbd restarts.
Michael
-----------------------------------------------------------------------
Summary of changes:
source3/passdb/pdb_ldap.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c
index d4a2fbe..cce2cf1 100644
--- a/source3/passdb/pdb_ldap.c
+++ b/source3/passdb/pdb_ldap.c
@@ -1038,6 +1038,7 @@ static bool init_sam_from_ldap(struct ldapsam_privates *ldap_state,
/* We've got a uid, feed the cache */
uid_t uid = strtoul(temp, NULL, 10);
store_uid_sid_cache(pdb_get_user_sid(sampass), uid);
+ idmap_cache_set_sid2uid(pdb_get_user_sid(sampass), uid);
}
}
@@ -2449,6 +2450,7 @@ for gidNumber(%lu)\n",(unsigned long)map->gid));
if (lp_parm_bool(-1, "ldapsam", "trusted", false)) {
store_gid_sid_cache(&map->sid, map->gid);
+ idmap_cache_set_sid2gid(&map->sid, map->gid);
}
TALLOC_FREE(ctx);
@@ -4967,6 +4969,8 @@ static bool ldapsam_sid_to_id(struct pdb_methods *methods,
id->gid = strtoul(gid_str, NULL, 10);
*type = (enum lsa_SidType)strtoul(value, NULL, 10);
+ store_gid_sid_cache(sid, id->gid);
+ idmap_cache_set_sid2gid(sid, id->gid);
ret = True;
goto done;
}
@@ -4983,6 +4987,8 @@ static bool ldapsam_sid_to_id(struct pdb_methods *methods,
id->uid = strtoul(value, NULL, 10);
*type = SID_NAME_USER;
+ store_uid_sid_cache(sid, id->uid);
+ idmap_cache_set_sid2uid(sid, id->uid);
ret = True;
done:
--
Samba Shared Repository
More information about the samba-cvs
mailing list