[SCM] Samba Shared Repository - branch master updated - 45db33e73262d8e195a46fb96405dfb3dc43d6bc

Michael Adam obnox at samba.org
Thu Dec 25 11:13:11 GMT 2008


The branch, master has been updated
       via  45db33e73262d8e195a46fb96405dfb3dc43d6bc (commit)
       via  9a9b64dbdfce4414ada22d4f882c8c757b5813e1 (commit)
      from  83bcc4e0273d1b58d1692910a6bc8e2c1f785497 (commit)

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


- Log -----------------------------------------------------------------
commit 45db33e73262d8e195a46fb96405dfb3dc43d6bc
Author: Michael Adam <obnox at samba.org>
Date:   Wed Oct 1 08:53:15 2008 +0200

    s3:idmap: Remove passd check from idmap_backends_unixid_to_sid().
    
    As noted by Metzy, it makes no sense here to check id->sid.
    What is worse, this might even be passed in uninitialized.
    
    This still fixes the bug for me (of course), but we might need
    to check, if another special handling of passdb is needed
    (possibly changing from constant return code NT_STATUS_OK...)
    
    Michael
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 9a9b64dbdfce4414ada22d4f882c8c757b5813e1
Author: Michael Adam <obnox at samba.org>
Date:   Wed Oct 1 08:30:15 2008 +0200

    s:Fix uid_to_sid mapping when the idmap cache is empty.
    
    This failed for backends other than passed, since
    idmap_backends_unixid_to_sid() always asked passdb first,
    which returned Success no matter whether a mapping was
    found or not.
    
    One effect wast that getpwuid failed after "net cache flush".
    Only after filling the cache with a getpwnam call it succeeded.
    
    This fix makes the behaviour of idmap_backends_unixid_to_sid()
    exactly the same as that of idmap_backends_sid_to_unixid()
    
    Michael
    
    Signed-off-by: Michael Adam <obnox at samba.org>

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

Summary of changes:
 source3/winbindd/idmap.c |   10 ----------
 1 files changed, 0 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/idmap.c b/source3/winbindd/idmap.c
index aaba7e5..6be55ef 100644
--- a/source3/winbindd/idmap.c
+++ b/source3/winbindd/idmap.c
@@ -735,16 +735,6 @@ NTSTATUS idmap_backends_unixid_to_sid(const char *domname, struct id_map *id)
 	maps[0] = id;
 	maps[1] = NULL;
 
-	/*
-	 * Always give passdb a chance first
-	 */
-
-	dom = idmap_init_passdb_domain(NULL);
-	if ((dom != NULL)
-	    && NT_STATUS_IS_OK(dom->methods->unixids_to_sids(dom, maps))) {
-		return NT_STATUS_OK;
-	}
-
 	dom = idmap_find_domain(domname);
 	if (dom == NULL) {
 		return NT_STATUS_NONE_MAPPED;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list