Frank Crow wrote:
Well, I have answered some of the questions with a look at the OpenLDAP source code. Under the hood, the ldap_init() does:
ldap_set_option(ld, LDAP_OPT_HOST_NAME, defhost);
And the ldap_initailize() does:
ldap_set_option(ld, LDAP_OPT_URI, url);
The man page for ldap_set_option() clearly states that both of those settings take multiple host names. The former (albeit deprecated) takes a list separated by whitespace whereas the latter takes a "comma- or space-separated list of URIs".
However either case call determines the default host, I'm not yet sure. It may be that the ldap.conf file (or the environment variables) are only used by the ldap command line tools and not the underlying API itself.
The ldap.conf(5) man page is quite explicit already. "Environmental variables may also be used to augment the file based defaults."
Read more carefully.
Still looking... feel free to save me some time if you know! ;-)
-Frank
On Wed, Mar 30, 2016 at 2:09 PM, Frank Crow <fjcrow2008@gmail.com mailto:fjcrow2008@gmail.com> wrote:
Well, I'll have to retract the "apology in advance". LOL According the owner of the OpenLDAP-devel list, this question belongs here. So, any help on the matter is appreciated. I'm currently digging through the OpenLDAP source code. If I figure it out, I'll post it. Thanks, Frank On Wed, Mar 30, 2016 at 10:41 AM, Frank Crow <fjcrow2008@gmail.com <mailto:fjcrow2008@gmail.com>> wrote: I understand the order, which I have read in the man page that you have mentioned. What I'm not clear on, and what is not detailed in the respective man page, is whether or not ldap_init()/ldap_initailize() will use ldap.conf or the respective environment variables. Thanks, Frank On Wed, Mar 30, 2016 at 10:37 AM, Dan White <dwhite@cafedemocracy.org <mailto:dwhite@cafedemocracy.org>> wrote: On 03/30/16 10:19 -0400, Frank Crow wrote: I'm not clear on whether I'm allowed to ask "C" API questions here. If not, I apologize in advance and please disregard in that case. However, the question is more about configuration than coding. I'm seeing that the ldap_init() function allows the hostname parameter to be null or a list of hosts. If it is null, the function attempts to determine the default ldap host. How does it determine the default LDAP host when the hostname parameter is null? Does it load the list of hosts from the ldap.conf URI parameter? And/or does it use the LDAPURI environment variable? The order is detailed in the ldap.conf manpage, within the DESCRIPTION section. -- Dan White -- Frank -- Frank
-- Frank