r16861: Fixing crash bug when passing no domain/realm name to the CLDAP request.
authorGünther Deschner <gd@samba.org>
Fri, 7 Jul 2006 11:43:47 +0000 (11:43 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:19:11 +0000 (11:19 -0500)
Guenther
(This used to be commit 863aeb621afa7dcec1bfef8e503ef8ed363e3742)

source3/libads/cldap.c
source3/libads/ldap.c

index 11c083a56a7e012d81848a94e3810a059191afa0..f67372805f38ccc7a3c847ddeebdb09f95dacd77 100644 (file)
@@ -115,10 +115,12 @@ static int send_cldap_netlogon(int sock, const char *domain,
        asn1_write_BOOLEAN2(&data, False);
        asn1_push_tag(&data, ASN1_CONTEXT(0));
 
-       asn1_push_tag(&data, ASN1_CONTEXT(3));
-       asn1_write_OctetString(&data, "DnsDomain", 9);
-       asn1_write_OctetString(&data, domain, strlen(domain));
-       asn1_pop_tag(&data);
+       if (domain) {
+               asn1_push_tag(&data, ASN1_CONTEXT(3));
+               asn1_write_OctetString(&data, "DnsDomain", 9);
+               asn1_write_OctetString(&data, domain, strlen(domain));
+               asn1_pop_tag(&data);
+       }
 
        asn1_push_tag(&data, ASN1_CONTEXT(3));
        asn1_write_OctetString(&data, "Host", 4);
index ef4be210c68b6f4450c4492c2d01a44bbb9e20e1..ebffd667ebdd492feac966dc238ede7e25196987 100644 (file)
@@ -122,15 +122,16 @@ BOOL ads_try_connect(ADS_STRUCT *ads, const char *server )
                return False;
        }
        
-       DEBUG(5,("ads_try_connect: sending CLDAP request to %s\n", server));
+       DEBUG(5,("ads_try_connect: sending CLDAP request to %s (realm: %s)\n", 
+               server, ads->config.realm));
 
        /* this copes with inet_ntoa brokenness */
        
        srv = SMB_STRDUP(server);
 
        ZERO_STRUCT( cldap_reply );
-       
-       if ( !ads_cldap_netlogon( srv, ads->server.realm, &cldap_reply ) ) {
+
+       if ( !ads_cldap_netlogon( srv, ads->config.realm, &cldap_reply ) ) {
                DEBUG(3,("ads_try_connect: CLDAP request %s failed.\n", srv));
                return False;
        }