mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-24 13:24:56 +08:00
Partial ITS#3280 fix. ldap:// referrals only.
This commit is contained in:
parent
e29381da53
commit
1d3eccca9e
@ -447,20 +447,22 @@ find_connection( LDAP *ld, LDAPURLDesc *srv, int any )
|
||||
*/
|
||||
{
|
||||
LDAPConn *lc;
|
||||
LDAPURLDesc *ls;
|
||||
LDAPURLDesc *lcu, *lsu;
|
||||
int lcu_port, lsu_port;
|
||||
|
||||
for ( lc = ld->ld_conns; lc != NULL; lc = lc->lconn_next ) {
|
||||
for ( ls = srv; ls != NULL; ls = ls->lud_next ) {
|
||||
if ( lc->lconn_server->lud_host != NULL &&
|
||||
*lc->lconn_server->lud_host != '\0' &&
|
||||
ls->lud_host != NULL && *ls->lud_host != '\0' &&
|
||||
strcasecmp( ls->lud_host, lc->lconn_server->lud_host ) == 0
|
||||
&& ls->lud_port == lc->lconn_server->lud_port ) {
|
||||
lcu = lc->lconn_server;
|
||||
lcu_port = lcu->lud_port ? lcu->lud_port : LDAP_PORT;
|
||||
for ( lsu = srv; lsu != NULL; lsu = lsu->lud_next ) {
|
||||
lsu_port = lsu->lud_port ? lsu->lud_port : LDAP_PORT;
|
||||
if ( lcu->lud_host != NULL && *lcu->lud_host != '\0'
|
||||
&& lsu->lud_host != NULL && *lsu->lud_host != '\0'
|
||||
&& strcasecmp( lsu->lud_host, lcu->lud_host ) == 0
|
||||
&& lsu_port == lcu_port ) {
|
||||
return lc;
|
||||
}
|
||||
if ( !any ) {
|
||||
break;
|
||||
}
|
||||
|
||||
if ( !any ) break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user