Skip to content
Snippets Groups Projects
Commit 60c474a4 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

ITS#681: Fix for problems with IPv6 and ACLs

	from Stig Venaas <venaas@uninett.no>
---
Copyright 2000 Stig Venaas, UNINETT
All rights reserved.

Redistribution and use in source and binary forms are permitted
without restriction or fee of any kind as long as this notice is
preserved. The name of UNINETT may not be used to endorse or promote
products derived from this software without specific prior written
permission. This software is provided ``as is'' without express or
implied warranty.
parent f0cd2a13
Branches
Tags
No related merge requests found
......@@ -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:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment