[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Wed Jan 7 04:01:03 MST 2015


The branch, master has been updated
       via  2ec910d passdb: Cache output from pdb_[ug]id_to_sid
      from  ce85c98 selftest: fix dns_host_file in samba3 target

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 2ec910dba4b7f5d6b96904bc38bf0899a4b46eab
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Jan 5 16:34:29 2015 +0100

    passdb: Cache output from pdb_[ug]id_to_sid
    
    A customer complained that after upgrading to Samba 4.0 fileserver
    its LDAP server was flooded with uid2sid and gid2sid request for id
    0. With 4.0 we do a lot more user-space ACL checking which involves
    uid2sid/gid2sid. This caches the corresponding results.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Volker Lendecke <vl at samba.org>
    Autobuild-Date(master): Wed Jan  7 12:00:10 CET 2015 on sn-devel-104

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

Summary of changes:
 source3/passdb/lookup_sid.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)


Changeset truncated at 500 lines:

diff --git a/source3/passdb/lookup_sid.c b/source3/passdb/lookup_sid.c
index 494a840..c5b28d8 100644
--- a/source3/passdb/lookup_sid.c
+++ b/source3/passdb/lookup_sid.c
@@ -1049,6 +1049,13 @@ static void legacy_uid_to_sid(struct dom_sid *psid, uid_t uid)
 
 	uid_to_unix_users_sid(uid, psid);
 
+	{
+		struct unixid xid = {
+			.id = uid, .type = ID_TYPE_UID
+		};
+		idmap_cache_set_sid2unixid(psid, &xid);
+	}
+
  done:
 	DEBUG(10,("LEGACY: uid %u -> sid %s\n", (unsigned int)uid,
 		  sid_string_dbg(psid)));
@@ -1083,6 +1090,13 @@ static void legacy_gid_to_sid(struct dom_sid *psid, gid_t gid)
 
 	gid_to_unix_groups_sid(gid, psid);
 
+	{
+		struct unixid xid = {
+			.id = gid, .type = ID_TYPE_GID
+		};
+		idmap_cache_set_sid2unixid(psid, &xid);
+	}
+
  done:
 	DEBUG(10,("LEGACY: gid %u -> sid %s\n", (unsigned int)gid,
 		  sid_string_dbg(psid)));


-- 
Samba Shared Repository


More information about the samba-cvs mailing list