From: Kurt Zeilenga Date: Thu, 24 Aug 2000 23:25:09 +0000 (+0000) Subject: Import IPv6 update from devel X-Git-Tag: OPENLDAP_REL_ENG_2_0_0~21 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=6e3df3e610331fcd060e2c073c1182ac06c19e31;p=openldap Import IPv6 update from devel --- diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index b6cf134bbe..9c961d607d 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -907,14 +907,22 @@ slapd_daemon_task( #endif /* LDAP_PF_LOCAL */ # ifdef LDAP_PF_INET6 - case AF_INET6: { + case AF_INET6: + if ( IN6_IS_ADDR_V4MAPPED(&from.sa_in6_addr.sin6_addr) ) { + peeraddr = inet_ntoa( *((struct in_addr *) + &from.sa_in6_addr.sin6_addr.s6_addr32[3]) ); + sprintf( peername, "IP=%s:%d", + peeraddr != NULL ? peeraddr : "unknown", + (unsigned) ntohs( from.sa_in6_addr.sin6_port ) ); + } else { char addr[INET6_ADDRSTRLEN]; sprintf( peername, "IP=%s %d", - inet_ntop( AF_INET6, - &from.sa_in6_addr.sin6_addr, - addr, sizeof addr) ? addr : "unknown", - (unsigned) ntohs( from.sa_in6_addr.sin6_port ) ); - } break; + inet_ntop( AF_INET6, + &from.sa_in6_addr.sin6_addr, + addr, sizeof addr) ? addr : "unknown", + (unsigned) ntohs( from.sa_in6_addr.sin6_port ) ); + } + break; # endif /* LDAP_PF_INET6 */ case AF_INET: