Dear Timo:
I tried rc11 from source and the exact same issue occurs. The deliver program dies with status 11 if the user is over (virtual) quota.
Could this possibly be a result of how dovecot is configured on our end? We are pulling quota information from LDAP (using qmailUser schema attribute mailQuotaSize). The LDAP attribute value has the following format:
maildir:storage=10240:messages=1000
Additionally, dovecot-ldap.conf has the following settings:
user_attrs = uid,mailMessageStore,,,,,mailQuotaSize=quota
Using postfix as the MTA, the master.cf file invokes dovecot as follows:
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
main.cf (from postfix) directs messages to dovecot in the following manner:
dovecot_destination_recipient_limit = 1
ldaptransportlocal_result_filter = dovecot ldaptransportlocal_version = 3 ldaptransportlocal_server_host = ldap.company.com ldaptransportlocal_search_base = dc=company, dc=com ldaptransportlocal_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s))(mailHost=$localroute)(|(AccountStatus=active))) ldaptransportlocal_result_attribute = uid
dovecot.conf relevant sections:
protocol lda { mail_plugins = quota mail_plugin_dir = /usr/lib/dovecot/modules/imap postmaster_address = postmaster@domain.com auth_socket_path = /var/run/dovecot-auth-master }
auth default { mechanisms = plain
socket listen { master { path = /var/run/dovecot-auth-master mode = 0600 user = vmail # User running Dovecot LDA #group = mail # Or alternatively mode 0660 + LDA user in this group } }
passdb pam {
}
# LDAP database userdb ldap { args = /etc/dovecot/dovecot-ldap.conf } user = root }
plugin { quota = maildir:storage=102400:messages=500 }
Quotas generally work properly -- that is, if a user over quota tries to move copy messages from one folder to another, he gets the "over quota" message as required.
Delivery by itself works fine if the user is not over quota.
The delivery program runs as system user vmail as defined in master.cf.
I am at a bit of a loss on how to proceed as I doubt this is a problem with dovecot -- this is most likely a configuration problem on my end.
Any assistance would be much appreciated.
Regards, Mustafa.
On 11/3/06, Mustafa A. Hashmi mahashmi@gmail.com wrote:
Apologies about the late response.
On 11/3/06, Timo Sirainen tss@iki.fi wrote:
On Fri, 2006-10-20 at 16:40 +0500, Mustafa A. Hashmi wrote:
Using dovecot's LDA (debian backports package: 1.0rc2), users who have exceeded their quota when receiving messages see the message get bounced.
You're using filesystem quota or virtual quota? Filesystem quota doesn't work perfectly in Dovecot, see:
Virtual quotas.
http://wiki.dovecot.org/Quota/FS
user@foo.domain.com: Command died with status 11: "/usr/lib/dovecot/deliver"
Of course it shouldn't crash. Possibly already fixed since 1.0.rc2 though.
We're currently on 1.0.rc2 (debian backports).
Is it not possible to specify something a bit more civil for the sender? a "User is over quota" message works much better here.
Yes, that's how it should have worked. :)
I'll try to debug this further and see how far I get.
-- Mustafa A. Hashmi mahashmi@gmail.com mh@stderr.net