Skip to content
Snippets Groups Projects
Commit 98f5795e authored by Stef Walter's avatar Stef Walter Committed by Quanah Gibson-Mount
Browse files

ITS#7583 Fix ldap_init_fd() for LDAP_PROTO_UDP

ldap_init_fd() tried to handle UDP sockets but was missing
certain key pieces to make it work. Fill in the address and
set the UDP flag correctly.
parent 4a798e04
No related branches found
No related tags found
No related merge requests found
......@@ -268,6 +268,9 @@ ldap_init_fd(
int rc;
LDAP *ld;
LDAPConn *conn;
#ifdef LDAP_CONNECTIONLESS
ber_socklen_t len;
#endif
*ldp = NULL;
rc = ldap_create( &ld );
......@@ -308,6 +311,15 @@ ldap_init_fd(
#ifdef LDAP_CONNECTIONLESS
case LDAP_PROTO_UDP:
LDAP_IS_UDP(ld) = 1;
if( ld->ld_options.ldo_peer )
ldap_memfree( ld->ld_options.ldo_peer );
ld->ld_options.ldo_peer = ldap_memalloc( sizeof( struct sockaddr ) );
len = sizeof( struct sockaddr );
if( getpeername ( fd, ld->ld_options.ldo_peer, &len ) < 0) {
ldap_unbind_ext( ld, NULL, NULL );
return( AC_SOCKET_ERROR );
}
#ifdef LDAP_DEBUG
ber_sockbuf_add_io( conn->lconn_sb, &ber_sockbuf_io_debug,
LBER_SBIOD_LEVEL_PROVIDER, (void *)"udp_" );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment