Shared folders and quota
Hi all,
we are able to observe a very strange behaviour: User A wants to copy a mail to a shared mailbox of user B. This works like a charme if the quota of user A is lower than the used space of user B. But is the used space of user B higher than the quota size of User A, "User A" is not longer able to copy the message to the shared folder of user B. His IMAP Client says something like "NO OVERQUOTA".
# doveadm quota get -u UserA Quota name Type Value Limit % User quota STORAGE 20085 25600 78 User quota MESSAGE 68 - 0
# doveadm quota get -u UserB Quota name Type Value Limit % User quota STORAGE 39963 122880 32 User quota MESSAGE 160 - 0
Is this a known behaviour of dovecot? Is there a way to "disable" quota-handling for shared folders?
This is my doveconf -n": # 2.2.30.2 (c0c463e): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.18 (29cc74d) # OS: SLES12SP3 auth_debug = yes auth_master_user_separator = * auth_mechanisms = plain login auth_verbose = yes debug_log_path = /var/log/dovecot.debug dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no first_valid_uid = 480 lmtp_save_to_detail_mailbox = yes mail_debug = yes mail_gid = vmail mail_location = maildir:/var/spool/mail/user/%n/Maildir:LAYOUT=fs mail_plugins = acl quota stats listescape notify virtual mail_privileged_group = vmail mail_uid = dovecot managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace { hidden = yes inbox = yes list = no location = prefix = separator = / subscriptions = yes } namespace { list = children location = maildir:%%h/Maildir:INDEXPVT=~/shared/%%u:LAYOUT=fs prefix = user/%%n/ separator = / subscriptions = no type = shared } namespace Public { list = children location = maildir:/var/mail/%d/public:INDEXPVT=~/public:LAYOUT=fs prefix = Public/ separator = / subscriptions = no type = public } namespace inbox { inbox = no location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = INBOX/ separator = / subscriptions = no type = private } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } passdb { args = /etc/dovecot/masteruser.%s driver = passwd-file master = yes pass = yes } plugin { acl = vfile acl_anyone = allow acl_shared_dict = file:/var/spool/mail/%d/shared-mailboxes.db quota = dict:User quota::proxy::sqlquota quota_rule = *:storage=4G quota_rule2 = INBOX/Trash:storage=+100M quota_status_nouser = DUNNO quota_status_overquota = 552 5.2.2 Mailbox is over quota / Mailbox ist voll quota_status_success = DUNNO quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=90%% quota-warning 90 %u sieve = ~/.dovecot.sieve sieve_before = /var/spool/mail/globalsieve/duplicate.sieve sieve_dir = ~/sieve sieve_duplicate_max_period = 5m stats_refresh = 30 secs stats_track_cmds = yes } postmaster_address = postmaster@domain.de protocols = imap pop3 lmtp sieve service auth-worker { user = dovecot } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { mode = 0666 } } service dict { unix_listener dict { group = vmail mode = 0660 user = dovecot } } service imap-postlogin { executable = script-login /var/mail/imapafter.sh user = $default_internal_user } service imap { executable = imap } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } } service quota-status { client_limit = 1 executable = quota-status -p postfix inet_listener { address = 127.0.0.1 port = 10000 } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh group = vmail unix_listener quota-warning { group = vmail user = dovecot } user = dovecot } service stats { fifo_listener stats-mail { mode = 0600 user = dovecot } } ssl_cert = </etc/ssl/certs/domain.de.pem ssl_key = # hidden, use -P to show it userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocol lmtp { mail_plugins = acl quota stats listescape notify virtual acl quota sieve quota_full_tempfail = yes } protocol lda { mail_plugins = acl quota stats listescape notify virtual acl sieve } protocol imap { mail_plugins = acl quota stats listescape notify virtual imap_quota imap_acl imap_stats }
-- Kind regards, Fabian
Hi all,
does no one has any information?
Am 09.02.2018 um 09:46 schrieb Fabian Kuran <fabian@eideo.de>:
Hi all,
we are able to observe a very strange behaviour: User A wants to copy a mail to a shared mailbox of user B. This works like a charme if the quota of user A is lower than the used space of user B. But is the used space of user B higher than the quota size of User A, "User A" is not longer able to copy the message to the shared folder of user B. His IMAP Client says something like "NO OVERQUOTA".
# doveadm quota get -u UserA Quota name Type Value Limit % User quota STORAGE 20085 25600 78 User quota MESSAGE 68 - 0
# doveadm quota get -u UserB Quota name Type Value Limit % User quota STORAGE 39963 122880 32 User quota MESSAGE 160 - 0
Is this a known behaviour of dovecot? Is there a way to "disable" quota-handling for shared folders?
This is my doveconf -n": # 2.2.30.2 (c0c463e): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.18 (29cc74d) # OS: SLES12SP3 auth_debug = yes auth_master_user_separator = * auth_mechanisms = plain login auth_verbose = yes debug_log_path = /var/log/dovecot.debug dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no first_valid_uid = 480 lmtp_save_to_detail_mailbox = yes mail_debug = yes mail_gid = vmail mail_location = maildir:/var/spool/mail/user/%n/Maildir:LAYOUT=fs mail_plugins = acl quota stats listescape notify virtual mail_privileged_group = vmail mail_uid = dovecot managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace { hidden = yes inbox = yes list = no location = prefix = separator = / subscriptions = yes } namespace { list = children location = maildir:%%h/Maildir:INDEXPVT=~/shared/%%u:LAYOUT=fs prefix = user/%%n/ separator = / subscriptions = no type = shared } namespace Public { list = children location = maildir:/var/mail/%d/public:INDEXPVT=~/public:LAYOUT=fs prefix = Public/ separator = / subscriptions = no type = public } namespace inbox { inbox = no location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = INBOX/ separator = / subscriptions = no type = private } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } passdb { args = /etc/dovecot/masteruser.%s driver = passwd-file master = yes pass = yes } plugin { acl = vfile acl_anyone = allow acl_shared_dict = file:/var/spool/mail/%d/shared-mailboxes.db quota = dict:User quota::proxy::sqlquota quota_rule = *:storage=4G quota_rule2 = INBOX/Trash:storage=+100M quota_status_nouser = DUNNO quota_status_overquota = 552 5.2.2 Mailbox is over quota / Mailbox ist voll quota_status_success = DUNNO quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=90%% quota-warning 90 %u sieve = ~/.dovecot.sieve sieve_before = /var/spool/mail/globalsieve/duplicate.sieve sieve_dir = ~/sieve sieve_duplicate_max_period = 5m stats_refresh = 30 secs stats_track_cmds = yes } postmaster_address = postmaster@domain.de protocols = imap pop3 lmtp sieve service auth-worker { user = dovecot } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { mode = 0666 } } service dict { unix_listener dict { group = vmail mode = 0660 user = dovecot } } service imap-postlogin { executable = script-login /var/mail/imapafter.sh user = $default_internal_user } service imap { executable = imap } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } } service quota-status { client_limit = 1 executable = quota-status -p postfix inet_listener { address = 127.0.0.1 port = 10000 } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh group = vmail unix_listener quota-warning { group = vmail user = dovecot } user = dovecot } service stats { fifo_listener stats-mail { mode = 0600 user = dovecot } } ssl_cert = </etc/ssl/certs/domain.de.pem ssl_key = # hidden, use -P to show it userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocol lmtp { mail_plugins = acl quota stats listescape notify virtual acl quota sieve quota_full_tempfail = yes } protocol lda { mail_plugins = acl quota stats listescape notify virtual acl sieve } protocol imap { mail_plugins = acl quota stats listescape notify virtual imap_quota imap_acl imap_stats }
-- Kind regards, Fabian
participants (1)
-
Fabian Kuran