[Dovecot] Maildir locking by LDA of dovecot
Hi all!
First of all, I want ti thank the whole Dovecot community (developers for developing and fast responses, users for populating and responses too). Dovecot is a really good and fast IMAP server - it serves near 3000 in our installation.
Now I have a problem and request community's help its resolving;) Dovecot version: 1.0.13, compiled with vpopmail support. I have an account spam@domain.com (:-), in which we put all our spam (we gather statistic later). There can be 10 and more delivery attempts in a second to maildir of this account during the spam attacks on our server. The queue of our server can grow up to 20k messages, and all of these messages are sent to spam@domain.com. I found a lot of such strings in dovecot.log file during the such DoS attack: dovecot.log:deliver(spam@domain.com): May 16 04:18:48 Info: msgid=<01c8b6da$a8bacf80$b7af2abe@sale>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:18:59 Info: msgid=<6611811842.20080516012444@poiusadfhnvxzmdiasdasgkhlsdkfg.com>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:20:06 Info: msgid=<01c8b6a8$7b552e00$a0a4034c@sale>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:20:14 Info: msgid=<360825920.32055246029506@mirgames.ru>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:20:50 Info: msgid=<01c8b6b1$0df9cb00$cc36dfc9@tek2>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:21:00 Info: msgid=<087901c7ca2d$ef272640$1e01a8c0@telefonia.InterCable.net>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:21:01 Info: msgid=<000701c8b6d2$01ff999f$c491aca7@snoueiij>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:22:32 Info: msgid=<000801c8b69b$060c0230$3cd8a4b7@cpbvlrx>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:22:45 Info: msgid=<000801c8b6a5$04ba6412$9910848d@aldldr>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:22:45 Info: msgid=<031401c772e2$adc5be40$1e01a8c0@mtu-net.ru>: save failed to INBOX: Timeout while waiting for lock dovecot.log:deliver(spam@domain.com): May 16 04:23:08 Info: msgid=<01c8b6db$0222fe80$b7af2abe@info>: save failed to INBOX: Timeout while waiting for lock
My dovecot.conf: $ cat /etc/dovecot.conf | grep -v \# | grep -v ^\n protocols = imap pop3 log_path = /var/log/dovecot.log ssl_disable = yes login_user = dovecot login_process_per_connection = no login_max_connections = 1024 login_greeting = Server is ready.
dotlock_use_excl = yes - can it be the reason? fsync_disable = yes first_valid_uid = 39 last_valid_uid = 39 first_valid_gid = 39 last_valid_gid = 39 max_mail_processes = 1024 maildir_copy_with_hardlinks = yes maildir_copy_preserve_filename = yes
protocol imap { mail_plugins = quota imap_quota login_greeting_capability = yes imap_client_workarounds = outlook-idle }
protocol pop3 { pop3_lock_session = no pop3_uidl_format = %08Xu%08Xv mail_plugins = quota }
protocol lda { postmaster_address = postmaster@tversu.ru mail_plugins = quota cmusieve sendmail_path = /usr/lib/sendmail fsync_disable = no }
auth_cache_size = 10240 auth_username_format = %Lu
auth default { mechanisms = plain login cram-md5 socket listen { master { path = /var/run/dovecot/auth-master mode = 0666 } client { path = /var/spool/postfix/private/auth mode = 0666 user = postfix group = postfix } }
passdb vpopmail { args = cache_key=%u dovecot } userdb vpopmail { }
user = vpopmail
ssl_require_client_cert = no }
dict { }
plugin { quota = maildir:ignore=Trash }
What can I do for resolving this locks? May be, while looking into uidlist file, can dovecot LDA lock it? And other deliver processes can't open it and wait for him?
WBR, Mike Grozak, TvSU IC
participants (1)
-
Mike Grozak