On Wed, Oct 18, 2006 at 12:23:03PM -0700, Kurt D. Zeilenga wrote:
At 12:12 PM 10/18/2006, hyc@symas.com wrote:
rtsai@ironport.com wrote:
Full_Name: Robert Tsai Version: 2.3.27 OS: FreeBSD 6.1-RELEASE URL: ftp://ftp.openldap.org/incoming/openldap-2.3.27-bindaddr.patch.txt Submission from: (NULL) (63.251.108.100)
This is a patch that provides a mechanism to bind the LDAP client connection to a desired address via ldap_set_option(..., LDAP_OPT_BINDADDR). This call saves some state which is then used by ldap_int_prepare_socket to bind the socket before opening a connection to the LDAP server.
I can't think of any good reason to need such a feature. Can you give some background on why anyone would use it?
I can see a few cases where a client might want to bind the local address, for instance, to ensure use of a particular network interface.
Yes, this was the need addressed by the patch. The client host has two interfaces to two separate networks.
We could have simply configured a host route to the LDAP server, but that would have been too coarse-grained (all traffic, instead of just the LDAP traffic).
However, my concern with patch is one of the approach taken to accommodate this binding. I'm thinking it might be better to provide an alternative to ldap_initialize(3) which takes a connected descriptor instead of a URL. Then calling program can do whatever it pleases before its used by slapd(8).
That would probably work for me. Contributing from the "outside", I was hesitant to propose adding another interface into the library, so I just crammed it into ldap_set_option :).
-- Robert Tsai | IronPort Systems | http://www.ironport.com/ | 650-989-2063