Fix DNSSRV initialization bug

This commit is contained in:
Kurt Zeilenga 2000-05-26 18:05:27 +00:00
parent b8af4a67ea
commit 1bc5314d62
2 changed files with 18 additions and 4 deletions

View file

@ -61,12 +61,15 @@ int ldap_dn2domain(
return -3; return -3;
} }
#define LDAP_DC "dc="
#define LDAP_DCOID "0.9.2342.19200300.100.1.25="
if( rdn[1] == NULL ) { if( rdn[1] == NULL ) {
/*
* single-valued RDN
*/
char *dc; char *dc;
/* single RDN */
#define LDAP_DC "dc="
#define LDAP_DCOID "0.9.2342.19200300.100.1.25="
if( strncasecmp( rdn[0], if( strncasecmp( rdn[0],
LDAP_DC, sizeof(LDAP_DC)-1 ) == 0 ) LDAP_DC, sizeof(LDAP_DC)-1 ) == 0 )
@ -106,6 +109,8 @@ int ldap_dn2domain(
return -5; return -5;
} }
if( domain == NULL ) ndomain[0] = '\0';
strcat( ndomain, dc ); strcat( ndomain, dc );
strcat( ndomain, "." ); strcat( ndomain, "." );
@ -114,11 +119,20 @@ int ldap_dn2domain(
} }
} }
/*
* multi-valued RDN or fall thru
*/
LDAP_VFREE( rdn ); LDAP_VFREE( rdn );
LDAP_FREE( domain ); LDAP_FREE( domain );
domain = NULL; domain = NULL;
} }
if( domain != NULL && *domain == '\0' ) {
LDAP_FREE( domain );
domain = NULL;
}
*domainp = domain; *domainp = domain;
return 0; return 0;
} }

View file

@ -40,7 +40,7 @@ dnssrv_back_request(
dn == NULL ? "" : dn, dn == NULL ? "" : dn,
domain == NULL ? "" : domain, domain == NULL ? "" : domain,
0 ); 0 );
if( rc = ldap_domain2hostlist( domain, &hostlist ) ) { if( rc = ldap_domain2hostlist( domain, &hostlist ) ) {
Debug( LDAP_DEBUG_TRACE, "DNSSRV: domain2hostlist returned %d\n", Debug( LDAP_DEBUG_TRACE, "DNSSRV: domain2hostlist returned %d\n",
rc, 0, 0 ); rc, 0, 0 );