Re: [Dovecot] auth socket goes away on reload
On 6/3/10 , Jun 3, 9:45 AM, Jerrale Gayle wrote:
On 6/3/2010 12:35 PM, David Jonas wrote:
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<user@example.com>: Relay access denied; from=<user2@example.com> to=<user@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
the HUP reload method is only available on dovecot 2.0. Make sure you're using that version to do that; otherwise, killall dovecot and then dovecot. I should have specified that this is dovecot 1.2.7. The sighup seems to work just fine except for the effect I've outlined.
On Thu, 2010-06-03 at 09:48 -0700, David Jonas wrote:
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.
the HUP reload method is only available on dovecot 2.0. Make sure you're using that version to do that; otherwise, killall dovecot and then dovecot.
wrong (I didnt see this post else I'd reply directly, likely eaten by spam rules, I dunno)
HUP works in some cases, but can cause dovecot to exit completely in others, the O.P should try killall -USR1
I should have specified that this is dovecot 1.2.7. The sighup seems to work just fine except for the effect I've outlined.
perhaps time to consider MySQL, and perhaps a later version of Dovecot :)
Cheers
participants (2)
-
David Jonas
-
Noel Butler