We're using the SQLite backend for authentication of Postfix SASL. When
the db is replaced we HUP dovecot to close and reopen its connection.
During this time it appears the socket file is removed and Postfix
rejects the authentication attempt. From the logs:

Jun  3 00:23:02 xxx dovecot: dovecot: SIGHUP received - reloading
configuration
Jun  3 00:23:02 xxx postfix/smtpd[14746]: warning: SASL: Connect to
private/auth failed: Connection refused
Jun  3 00:23:02 xxx postfix/smtpd[14746]: warning: unknown[dd.dd.dd.dd]:
SASL LOGIN authentication failed:
Jun  3 00:23:02 xxx postfix/smtpd[14746]: NOQUEUE: reject: RCPT from
unknown[dd.dd.dd.dd]: 554 5.7.1 <u...@example.com>: Relay access denied;
from=<us...@example.com> to=<u...@example.com> proto=ESMTP
helo=<localhost.localdomain>

Jun  3 00:23:02 xxx postfix/smtpd[14930]: warning: unknown[dd.dd.dd.dd]:
SASL LOGIN authentication failed: Connection lost to authentication server
Jun  3 00:23:02 xxx postfix/smtpd[14930]: lost connection after AUTH
from unknown[dd.dd.dd.dd]

Is there an obvious way around this? I know I could somehow merge the
changes into the running sqlite db but that undermines the simplicity of
the design I have. Maybe a patch to reopen the db if it's replaced? Or
perhaps I should just switch to a different db format -- that's probably
the quickest/easiest solution. Any other ideas? There are about 20k
entries to deal with.

Thanks,

David

Reply via email to