From: Howard Chu Date: Thu, 1 Jul 2021 15:16:19 +0000 (+0100) Subject: ITS#9603 fix IPv6 addrs with tcpd X-Git-Tag: OPENLDAP_REL_ENG_2_6_0~171 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a464a6e98fa0cd39f2622695d39220c2adc1f232;p=thirdparty%2Fopenldap.git ITS#9603 fix IPv6 addrs with tcpd --- diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 2f6a244ca0..9048d25fe1 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -2317,7 +2317,12 @@ slap_listener( int rc; char *peeraddr, *paend; peeraddr = peerbv.bv_val + 3; - paend = strrchr( peeraddr, ':' ); + if ( *peeraddr == '[' ) { + peeraddr++; + paend = strrchr( peeraddr, ']' ); + } else { + paend = strrchr( peeraddr, ':' ); + } if ( paend ) *paend = '\0'; ldap_pvt_thread_mutex_lock( &sd_tcpd_mutex ); @@ -2336,8 +2341,12 @@ slap_listener( slapd_close(sfd); return 0; } - if ( paend ) - *paend = ':'; + if ( paend ) { + if ( peeraddr[-1] == '[' ) + *paend = ']'; + else + *paend = ':'; + } } #endif /* HAVE_TCPD */ }