[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-2130-g029e8e6

Günther Deschner gd at samba.org
Mon Jun 8 11:07:39 GMT 2009


The branch, master has been updated
       via  029e8e6314e4d13dd5321f6b0a3f761918a40f64 (commit)
       via  bc091e7847d2ad0b72511194ab244c5f9332d641 (commit)
      from  9ac7e78041c21f988851676d4b569a577d33cb08 (commit)

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


- Log -----------------------------------------------------------------
commit 029e8e6314e4d13dd5321f6b0a3f761918a40f64
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jun 8 10:52:05 2009 +0200

    s3-test: finally enable RPC-SAMR against samba3.
    
    We now pass it :-)
    
    Guenther

commit bc091e7847d2ad0b72511194ab244c5f9332d641
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jun 8 13:04:47 2009 +0200

    s3-winbindd: workaround alias enumeration in expand_groups().
    
    alias enumeration in NSS is not done properly done atm and needs to be fixed.
    
    Guenther

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

Summary of changes:
 source3/script/tests/test_posix_s3.sh |    2 +-
 source3/winbindd/winbindd_group.c     |   19 ++++++++++++++++---
 2 files changed, 17 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/script/tests/test_posix_s3.sh b/source3/script/tests/test_posix_s3.sh
index 83593dd..b861557 100755
--- a/source3/script/tests/test_posix_s3.sh
+++ b/source3/script/tests/test_posix_s3.sh
@@ -42,7 +42,7 @@ rpc="$rpc RPC-SAMBA3-SPOOLSS RPC-SAMBA3-WKSSVC"
 rpc="$rpc RPC-NETLOGSAMBA3 RPC-SAMBA3SESSIONKEY RPC-SAMBA3-GETUSERNAME"
 rpc="$rpc RPC-SVCCTL RPC-SPOOLSS RPC-SPOOLSS-WIN RPC-NTSVCS"
 rpc="$rpc RPC-LSA-GETUSER RPC-LSA-LOOKUPSIDS RPC-LSA-LOOKUPNAMES"
-rpc="$rpc RPC-SAMR-USERS RPC-SAMR-USERS-PRIVILEGES RPC-SAMR-PASSWORDS RPC-SAMR-PASSWORDS-PWDLASTSET RPC-SAMR-LARGE-DC RPC-JOIN"
+rpc="$rpc RPC-SAMR RPC-SAMR-USERS RPC-SAMR-USERS-PRIVILEGES RPC-SAMR-PASSWORDS RPC-SAMR-PASSWORDS-PWDLASTSET RPC-SAMR-LARGE-DC RPC-JOIN"
 rpc="$rpc RPC-SCHANNEL RPC-SCHANNEL2 RPC-BENCH-SCHANNEL1"
 
 local="LOCAL-NSS-WRAPPER"
diff --git a/source3/winbindd/winbindd_group.c b/source3/winbindd/winbindd_group.c
index 913f631..e31a55b 100644
--- a/source3/winbindd/winbindd_group.c
+++ b/source3/winbindd/winbindd_group.c
@@ -463,18 +463,31 @@ static NTSTATUS expand_groups( TALLOC_CTX *ctx,
 	DEBUG(10,("expand_groups:\n"));
 
 	for ( i=0; i<n_glist; i++ ) {
+
+		NTSTATUS lookup_status;
+
 		tmp_ctx = talloc_new( ctx );
 
 		/* Lookup the group membership */
 
-		status = d->methods->lookup_groupmem(d, tmp_ctx,
+		lookup_status = d->methods->lookup_groupmem(d, tmp_ctx,
 						     &glist[i], &num_names,
 						     &sid_mem, &names,
 						     &name_types);
-		if (!NT_STATUS_IS_OK(status)) {
+		if (!NT_STATUS_IS_OK(lookup_status)) {
 			DEBUG(10,("expand_groups: lookup_groupmem for "
 				"sid %s failed with: %s\n",
-				sid_string_dbg(&glist[i]), nt_errstr(status)));
+				sid_string_dbg(&glist[i]),
+				nt_errstr(lookup_status)));
+
+			/* we might have hit a logic error when called for an
+			 * alias, in that case just continue with group
+			 * expansion - Guenther */
+
+			if (NT_STATUS_EQUAL(lookup_status, NT_STATUS_NO_SUCH_GROUP)) {
+				continue;
+			}
+			status = lookup_status;
 			goto out;
 		}
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list