svn commit: samba r12381 - in branches/SAMBA_4_0/source/dsdb/samdb: .

abartlet at samba.org abartlet at samba.org
Mon Dec 19 23:29:48 GMT 2005


Author: abartlet
Date: 2005-12-19 23:29:47 +0000 (Mon, 19 Dec 2005)
New Revision: 12381

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

Log:
Try not to segfault on an anonymous LDAP bind, and map to a guest login.

Andrew Bartlett


Modified:
   branches/SAMBA_4_0/source/dsdb/samdb/cracknames.c


Changeset:
Modified: branches/SAMBA_4_0/source/dsdb/samdb/cracknames.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/cracknames.c	2005-12-19 23:17:10 UTC (rev 12380)
+++ branches/SAMBA_4_0/source/dsdb/samdb/cracknames.c	2005-12-19 23:29:47 UTC (rev 12381)
@@ -692,7 +692,7 @@
 		const struct dom_sid *sid = samdb_result_dom_sid(mem_ctx, result_res[0], "objectSid");
 		const char *_acc = "", *_dom = "";
 		
-		if ((sid->num_auths < 4) || (sid->num_auths > 5)) {
+		if (!sid || (sid->num_auths < 4) || (sid->num_auths > 5)) {
 			info1->status = DRSUAPI_DS_NAME_STATUS_NO_MAPPING;
 			return WERR_OK;
 		}
@@ -905,7 +905,13 @@
 	struct drsuapi_DsNameInfo1 info1;
 	struct ldb_context *ldb;
 	char *p;
-	
+
+	/* Handle anonymous bind */
+	if (!dn || !*dn) {
+		*nt4_domain = "";
+		*nt4_account = "";
+	}
+
 	ldb = samdb_connect(mem_ctx, system_session(mem_ctx));
 	if (ldb == NULL) {
 		return NT_STATUS_INTERNAL_DB_CORRUPTION;



More information about the samba-cvs mailing list