mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-03 12:30:29 -05:00
ITS#10387 daemon: fix reverselookup of proxied IPv6 address
This commit is contained in:
parent
6d9f99e5f5
commit
83030cacbc
3 changed files with 4 additions and 3 deletions
|
|
@ -2275,7 +2275,7 @@ slap_listener(
|
|||
# endif /* LDAP_PF_INET6 */
|
||||
case AF_INET:
|
||||
if ( sl->sl_is_proxied ) {
|
||||
if ( !proxyp( sfd, &from ) ) {
|
||||
if ( !proxyp( sfd, &from, &len ) ) {
|
||||
Debug( LDAP_DEBUG_ANY, "slapd(%ld): proxyp failed\n", (long)sfd );
|
||||
slapd_close( sfd );
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1569,7 +1569,7 @@ LDAP_SLAPD_F (char *) phonetic LDAP_P(( char *s ));
|
|||
/*
|
||||
* proxyp.c
|
||||
*/
|
||||
LDAP_SLAPD_F (int) proxyp LDAP_P((ber_socket_t sfd, Sockaddr *from));
|
||||
LDAP_SLAPD_F (int) proxyp LDAP_P((ber_socket_t sfd, Sockaddr *from, ber_socklen_t *salen));
|
||||
|
||||
/*
|
||||
* referral.c
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ static const uint8_t proxyp_sig[12] = {
|
|||
};
|
||||
|
||||
int
|
||||
proxyp( ber_socket_t sfd, Sockaddr *from ) {
|
||||
proxyp( ber_socket_t sfd, Sockaddr *from, ber_socklen_t *salen ) {
|
||||
proxyp_header pph;
|
||||
proxyp_addr ppa;
|
||||
char peername[LDAP_IPADDRLEN];
|
||||
|
|
@ -170,6 +170,7 @@ proxyp( ber_socket_t sfd, Sockaddr *from ) {
|
|||
memcpy( &from->sa_in6_addr.sin6_addr, ppa.ip6.src_addr,
|
||||
sizeof(ppa.ip6.src_addr) );
|
||||
from->sa_in6_addr.sin6_port = ppa.ip6.src_port;
|
||||
*salen = sizeof(struct sockaddr_in6);
|
||||
#else
|
||||
Debug( LDAP_DEBUG_ANY, "proxyp(%ld): "
|
||||
"IPv6 proxied addresses disabled\n",
|
||||
|
|
|
|||
Loading…
Reference in a new issue