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;

Reply via email to