> It *might* also be useful to have a global variable which specifies a list of
> servers to connect to. The URL format specifically allows for the host portion
> to be empty with the choice then being left to the software. This could be further
> complicated by having two global variables. One a list of hosts to connect to
> in random order (same as round robin dns). One a list of hosts to connect to
> in a specific order. Again I can see both being useful in different situations.
If you have a variable like ldap_hosts to store a host list for ldap
URLs with no hostname, then no additional work is required by exim.
As someone pointed out, bind 8 allows ordered RR sets, so you do not need
more than one variable in exim. I think you have to configure ordered
RR sets not only on the master server but also on (caching) clients,
but that should be no problem for this application. The following would
be quite possible:
ldap_hosts: orderedrrset.domain,cyclicrrset.domain
First the hosts in the ordered set would be tried by ldap_bind() in the
LDAP client library. If that fails, exim would try the second host,
which resolves to a round robin rr set.
Splitting my non-RFC compliant URL ldap://orderedrrset.domain,cyclicrrset.domain/dn...
in a variable ldap_hosts and the URL ldap:dn... sound like a good idea to me,
because we get the same functionality, the URLs are shorter and no RFCs are
violated.
Michael
--
*** Exim information can be found at
http://www.exim.org/ ***