mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 08:09:34 -05:00
Fix DNSSRV initialization bug
This commit is contained in:
parent
b8af4a67ea
commit
1bc5314d62
2 changed files with 18 additions and 4 deletions
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue