[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: ITS#8654 - Option for LDAP client to bind to a local address



Hi Daniel,

I would suggest sending in a patch against master to the -devel list for review.

For final inclusion if it is approved, see:

<http://www.openldap.org/devel/contributing.html>

Regards,
Quanah

--On Monday, June 12, 2017 8:34 PM +0000 Daniel Le <daniel.le@exfo.com> wrote:

I've got a chance to write (and test) the code to add API support for
socket binding addresses.

Should I send the code diff to this openldap-devel email list for review?
How to submit a patch request?

Daniel

-----Original Message-----
From: Daniel Le
Sent: Tuesday, May 16, 2017 6:02 PM
To: 'openldap-devel@openldap.org' <openldap-devel@openldap.org>
Subject: ITS#8654 - Option for LDAP client to bind to a local address

Hello,

In reference to the enhancement request ITS#865, please comment on the
following to add support for binding a local IP address to client socket.
This is just an outline of changes for one local address. I am not sure
whether a list of local addresses is necessary. If it is, then a new
function, similarly to ldap_url_parsehosts, may be written to parse the
list of local addresses and store them into a linked list. In my use
case, only one IPv4 or IPv6 local address is used for binding.

- Modify ldap.h and ldap_set_option to handle the new option
LDAP_OPT_LOCAL_ADDRESS.    Should it be named LDAP_OPT_CLIENT_ADDRESS,
LDAP_OPT_SOCKET_BIND_ADDRESS...?

- Modify struct ldapoptions in ldap-int.h to add element "char
*ldo_local_address" to hold client local address when
ldap_set_option(LDAP_OPT_LOCAL_ADDRESS...) is executed.   This can char
pointer can point to an IPv4 address or IPv6 address.

- ldap_connect_to_host() in os-ip.c
  After the connection socket is created (ldap_int_socket) and before it
is connected (ldap_pvt_connect), extract the local IP address.   If local
address family (AF_INET/ AF_INET6) matches the one of the host, bind
socket to the local address.

Regards,
Daniel





--

Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>