# 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;
/*
* 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
};
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];
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",