svn commit: samba r22621 - in branches/SAMBA_4_0/source/auth: .

metze at samba.org metze at samba.org
Tue May 1 03:22:18 GMT 2007


Author: metze
Date: 2007-05-01 03:22:17 +0000 (Tue, 01 May 2007)
New Revision: 22621

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22621

Log:
fix the 'sam' auth module

metze
Modified:
   branches/SAMBA_4_0/source/auth/auth_sam.c


Changeset:
Modified: branches/SAMBA_4_0/source/auth/auth_sam.c
===================================================================
--- branches/SAMBA_4_0/source/auth/auth_sam.c	2007-05-01 02:08:11 UTC (rev 22620)
+++ branches/SAMBA_4_0/source/auth/auth_sam.c	2007-05-01 03:22:17 UTC (rev 22621)
@@ -56,24 +56,9 @@
 
 	if (domain_name) {
 		domain_dn = samdb_domain_to_dn(sam_ctx, mem_ctx, domain_name);
-
-		/* find the domain's DN */
-		ret_domain = gendb_search_dn(sam_ctx, mem_ctx, domain_dn, &msgs_domain_ref, domain_ref_attrs);
-		if (ret_domain == -1) {
+		if (!domain_dn) {
 			return NT_STATUS_INTERNAL_DB_CORRUPTION;
 		}
-
-		if (ret_domain == 0) {
-			DEBUG(3,("sam_search_user: Couldn't find domain [%s] in samdb.\n", 
-				 domain_name));
-			return NT_STATUS_NO_SUCH_USER;
-		}
-
-		if (ret_domain > 1) {
-			DEBUG(0,("Found %d records matching domain [%s]\n", 
-				 ret_domain, domain_name));
-			return NT_STATUS_INTERNAL_DB_CORRUPTION;
-		}
 	}
 
 	/* pull the user attributes */
@@ -95,7 +80,7 @@
 		return NT_STATUS_INTERNAL_DB_CORRUPTION;
 	}
 
-	if (!domain_name) {
+	if (!domain_dn) {
 		struct dom_sid *domain_sid;
 
 		domain_sid = samdb_result_sid_prefix(mem_ctx, msgs[0], "objectSid");
@@ -123,25 +108,25 @@
 			return NT_STATUS_INTERNAL_DB_CORRUPTION;
 		}
 
-		ret_domain = gendb_search(sam_ctx, mem_ctx, partitions_basedn, &msgs_domain_ref, domain_ref_attrs,
-					  "(nCName=%s)", ldb_dn_alloc_linearized(msgs_tmp, msgs_tmp[0]->dn));
+		domain_dn = msgs_tmp[0]->dn;
+	}
 
-		if (ret_domain == -1) {
-			return NT_STATUS_INTERNAL_DB_CORRUPTION;
-		}
+	ret_domain = gendb_search(sam_ctx, mem_ctx, partitions_basedn, &msgs_domain_ref, domain_ref_attrs,
+				  "(nCName=%s)", ldb_dn_alloc_linearized(msgs_tmp, domain_dn));
+	if (ret_domain == -1) {
+		return NT_STATUS_INTERNAL_DB_CORRUPTION;
+	}
 		
-		if (ret_domain == 0) {
-			DEBUG(3,("check_sam_security: Couldn't find domain [%s] in passdb file.\n",
-				 ldb_dn_get_linearized(msgs_tmp[0]->dn)));
-			return NT_STATUS_NO_SUCH_USER;
-		}
+	if (ret_domain == 0) {
+		DEBUG(3,("check_sam_security: Couldn't find domain [%s] in passdb file.\n",
+			 ldb_dn_get_linearized(msgs_tmp[0]->dn)));
+		return NT_STATUS_NO_SUCH_USER;
+	}
 		
-		if (ret_domain > 1) {
-			DEBUG(0,("Found %d records matching domain [%s]\n", 
-				 ret_domain, ldb_dn_get_linearized(msgs_tmp[0]->dn)));
-			return NT_STATUS_INTERNAL_DB_CORRUPTION;
-		}
-
+	if (ret_domain > 1) {
+		DEBUG(0,("Found %d records matching domain [%s]\n", 
+			 ret_domain, ldb_dn_get_linearized(msgs_tmp[0]->dn)));
+		return NT_STATUS_INTERNAL_DB_CORRUPTION;
 	}
 
 	*ret_msgs = msgs;



More information about the samba-cvs mailing list