mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-22 07:39:35 -05:00
ITS#9603 fix IPv6 addrs with tcpd
This commit is contained in:
parent
457f5bd4a9
commit
a464a6e98f
1 changed files with 12 additions and 3 deletions
|
|
@ -2317,7 +2317,12 @@ slap_listener(
|
||||||
int rc;
|
int rc;
|
||||||
char *peeraddr, *paend;
|
char *peeraddr, *paend;
|
||||||
peeraddr = peerbv.bv_val + 3;
|
peeraddr = peerbv.bv_val + 3;
|
||||||
|
if ( *peeraddr == '[' ) {
|
||||||
|
peeraddr++;
|
||||||
|
paend = strrchr( peeraddr, ']' );
|
||||||
|
} else {
|
||||||
paend = strrchr( peeraddr, ':' );
|
paend = strrchr( peeraddr, ':' );
|
||||||
|
}
|
||||||
if ( paend )
|
if ( paend )
|
||||||
*paend = '\0';
|
*paend = '\0';
|
||||||
ldap_pvt_thread_mutex_lock( &sd_tcpd_mutex );
|
ldap_pvt_thread_mutex_lock( &sd_tcpd_mutex );
|
||||||
|
|
@ -2336,9 +2341,13 @@ slap_listener(
|
||||||
slapd_close(sfd);
|
slapd_close(sfd);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if ( paend )
|
if ( paend ) {
|
||||||
|
if ( peeraddr[-1] == '[' )
|
||||||
|
*paend = ']';
|
||||||
|
else
|
||||||
*paend = ':';
|
*paend = ':';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif /* HAVE_TCPD */
|
#endif /* HAVE_TCPD */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue