On Mon, 2005-04-25 at 07:22 +0100, Andrew Hutchings wrote:
Suggested features (after we had a nasty NFS disk failure): the NFS started to fail it took a long time to access the mailboxes, average
- Have reject connections after load of X (like exim, sendmail, etc...), when
load on the dovecot servers was 30-40 (until the NFS turned the disk r/o and all connections were getting kicked out).
I think this should be a separate script which just notifies Dovecot to stop handling connections.
- Have a dead server response setup. Freeserve/Wanadoo do this by setting a flag in their software which accepts all POP connections regards of user/pass and says there is no mail (users don't panic and flood the phones for a while then). Not sure how you would do this with IMAP though.
Someone already mentioned the possibility of using -ERR (and IMAP can do it with "NO [ALERT]") which would show the error message to client. This could be useful I guess..
But how should this be configured? And should it happen only after successful login or should all login attempts be just failed with the error message?
Actually it's already possible I think.. If passdb returns:
nologin=yes reason=Sorry, server down
It won't let anyone log in and gives the error message as the reason. Although that doesn't set IMAP's [ALERT] tag.. Maybe another flag should be set for that.
So .. then what's needed is a way to make passdb return those settings. With SQL it's possible by changing Dovecot to use some alternate dovecot-sql-down.conf file and sending HUP to dovecot. Not exactly easy I guess..
Maybe some auth_failure_file-setting which points to a file. If the file exists, it overrides normal passdb handling and returns whatever settings that are set in it to clients?