[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Mon Dec 10 10:19:02 MST 2012


The branch, master has been updated
       via  c5b150b s3:auth: fix create_token_from_sid() to not fail in the winbindd case
       via  0770a4c s3:auth: fix header comment for user_sid_in_group_sid()
      from  53b7364 s4:dsdb/tests/sec_descriptor: verify the search of a windows dc join keeps working

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


- Log -----------------------------------------------------------------
commit c5b150b33fc54ed97dbd0736cc6f4c15977d6e70
Author: Michael Adam <obnox at samba.org>
Date:   Mon Dec 10 15:06:27 2012 +0100

    s3:auth: fix create_token_from_sid() to not fail in the winbindd case
    
    Commit 1c3c5e2156d9096f60bd53a96b88c2f1001d898a which factored
    the sid-based variant out of create_token_from_username() broke
    the case of a user handled by winbindd in that the "found_username"
    was set to NULL which caused the function to fail with
    NT_STATUS_NO_MEMORY further down.
    
    This patch fixes the function so that the case of found_username == NULL
    is cleanly separated from the NO_MEMORY case and the caller can provide
    the username in this case, if required.
    
    This fixes bug #9457.
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    
    Autobuild-User(master): Volker Lendecke <vl at samba.org>
    Autobuild-Date(master): Mon Dec 10 18:18:54 CET 2012 on sn-devel-104

commit 0770a4c01bef26ec51321cd5b97aea4eab9e00a8
Author: Michael Adam <obnox at samba.org>
Date:   Mon Dec 10 14:48:43 2012 +0100

    s3:auth: fix header comment for user_sid_in_group_sid()
    
    This function was created in 1c3c5e2156d9096f60bd53a96b88c2f1001d898a
    and the header comment contained copy'n'paste errors from the original
    function user_in_group_sid() that took the user name.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

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

Summary of changes:
 source3/auth/token_util.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/auth/token_util.c b/source3/auth/token_util.c
index a618e21..6f4bce0 100644
--- a/source3/auth/token_util.c
+++ b/source3/auth/token_util.c
@@ -610,6 +610,11 @@ static NTSTATUS create_token_from_sid(TALLOC_CTX *mem_ctx,
 		*found_username = talloc_strdup(mem_ctx,
 						pdb_get_username(sam_acct));
 
+		if (found_username == NULL) {
+			result = NT_STATUS_NO_MEMORY;
+			goto done;
+		}
+
 		/*
 		 * If the SID from lookup_name() was the guest sid, passdb knows
 		 * about the mapping of guest sid to lp_guestaccount()
@@ -700,6 +705,10 @@ static NTSTATUS create_token_from_sid(TALLOC_CTX *mem_ctx,
 
 		/* Ensure we're returning the found_username on the right context. */
 		*found_username = talloc_strdup(mem_ctx, pass->pw_name);
+		if (found_username == NULL) {
+			result = NT_STATUS_NO_MEMORY;
+			goto done;
+		}
 	} else {
 
 		/* This user is from winbind, force the primary gid to the
@@ -737,7 +746,6 @@ static NTSTATUS create_token_from_sid(TALLOC_CTX *mem_ctx,
 
 		gids = gid;
 
-		/* Ensure we're returning the found_username on the right context. */
 		*found_username = NULL;
 	}
 
@@ -770,7 +778,7 @@ static NTSTATUS create_token_from_sid(TALLOC_CTX *mem_ctx,
 	*token = create_local_nt_token(mem_ctx, user_sid,
 				       is_guest, num_group_sids, group_sids);
 
-	if ((*token == NULL) || (*found_username == NULL)) {
+	if (*token == NULL) {
 		result = NT_STATUS_NO_MEMORY;
 		goto done;
 	}
@@ -845,9 +853,9 @@ done:
 }
 
 /***************************************************************************
- Build upon create_token_from_username:
+ Build upon create_token_from_usersid:
 
- Expensive helper function to figure out whether a user given its name is
+ Expensive helper function to figure out whether a user given its sid is
  member of a particular group.
 ***************************************************************************/
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list