Author: gd
Date: 2006-07-07 11:43:47 +0000 (Fri, 07 Jul 2006)
New Revision: 16861

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

Log:
Fixing crash bug when passing no domain/realm name to the CLDAP request.

Guenther

Modified:
   branches/SAMBA_3_0/source/libads/cldap.c
   branches/SAMBA_3_0/source/libads/ldap.c
   trunk/source/libads/cldap.c
   trunk/source/libads/ldap.c


Changeset:
Modified: branches/SAMBA_3_0/source/libads/cldap.c
===================================================================
--- branches/SAMBA_3_0/source/libads/cldap.c    2006-07-07 07:38:36 UTC (rev 
16860)
+++ branches/SAMBA_3_0/source/libads/cldap.c    2006-07-07 11:43:47 UTC (rev 
16861)
@@ -115,10 +115,12 @@
        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);

Modified: branches/SAMBA_3_0/source/libads/ldap.c
===================================================================
--- branches/SAMBA_3_0/source/libads/ldap.c     2006-07-07 07:38:36 UTC (rev 
16860)
+++ branches/SAMBA_3_0/source/libads/ldap.c     2006-07-07 11:43:47 UTC (rev 
16861)
@@ -122,15 +122,16 @@
                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;
        }

Modified: trunk/source/libads/cldap.c
===================================================================
--- trunk/source/libads/cldap.c 2006-07-07 07:38:36 UTC (rev 16860)
+++ trunk/source/libads/cldap.c 2006-07-07 11:43:47 UTC (rev 16861)
@@ -115,10 +115,12 @@
        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);

Modified: trunk/source/libads/ldap.c
===================================================================
--- trunk/source/libads/ldap.c  2006-07-07 07:38:36 UTC (rev 16860)
+++ trunk/source/libads/ldap.c  2006-07-07 11:43:47 UTC (rev 16861)
@@ -122,15 +122,16 @@
                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;
        }

Reply via email to