Failover for ldapdb doesn't work when packets are dropped by iptables

Dan White dwhite at olp.net
Mon May 15 09:38:09 EDT 2017


On 05/15/17 14:30 +0200, Sebastian Hagedorn wrote:
>we're trying to move from auxprop sasldb to ldapdb. Everything is 
>working fine with both cyrus-imapd and sendmail. Even failover seems 
>to be working (with multiple entries for ldapdb_uri), but only if the 
>client gets a reject of some sort. Initially I tried to simulate the 
>failure of the primary LDAP server with an iptables rule that dropped 
>the packets. That led to a 30 second timeout and no failover taking 
>place:
>
>~> AUTH DIGEST-MD5
><~  334 xxx
>~> xxx
><~* Timeout (30 secs) waiting for server response
>*** No authentication type succeeded
>
>Only when I changed the DROP to a REJECT in the iptables rule did the 
>failover work as expected. I realize that a server that's down usually 
>behaves like a REJECT rule, but I still would think that there should 
>be a configurable timeout after which a failover takes place in the 
>DROP scenario as well. In my 15+ years as a sysadmin there have been 
>several occasions where servers were nominally running but didn't 
>reply anymore, which would be just like that scenario.

You can limit the network timeout functionality of the ldapdb plugin using
the ldapdb_rc sasl option:

http://www.sendmail.org/~ca/email/cyrus2/options.html

See ldap.conf(5) and it's TIMEOUT/TIMELIMIT options.

-- 
Dan White


More information about the Cyrus-sasl mailing list