[Dovecot] quota - dict - username = '(null)'

Andreas Jørgensen andreas at ingolf.dk
Tue Mar 13 20:40:24 EET 2007


I am trying setting up at virtual domain with quota using postfix and  
dovecut.
But I can't get the quota to work, every time I try sending a mail  
the following queries is run on the database.

SELECT home, uid, gid FROM mail_view_tmp WHERE account = 'dummy' AND  
domain = 'example.com'
SELECT current FROM mail_quota WHERE path = 'quota/storage' AND  
username = '(null)'
BEGIN;INSERT INTO mail_quota (current, path, username) VALUES ('quota/ 
storage', 262, '(null)') ON DUPLICATE KEY UPDATE current = current +  
262;COMMIT

The mail is delivered, but the quota for the user is not updated.
Instead I just have an other new row for the user (null).

I am using the package dovecot-1.0.rc2p3-mysql on OpenBSD 4.0 for macppc

My configuration:
(posting the full content of alt the config files seemed unnecessary  
so I cut out the important bits)

/etc/postfix/main.cf
...
virtual_transport = dovecot

/etc/postfix/master.cf :
...
dovecot   unix  -       n       n       -       -       pipe
   flags=DRhu user=vmail argv=/usr/local/libexec/dovecot/deliver -d $ 
{recipient}

/etc/dovecot.conf
....
protocol lda {
   mail_plugins = quota
}
..
auth default {
     user = root
     passdb sql {
         args = /etc/dovecot-mysql.conf
     }
     userdb static {
         args = uid=2000 gid=2000 home=/var/vmail/%d/%n/
     }
     socket listen {
         master {
             path = /var/run/dovecot/auth-master
             mode = 0600
             user = vmail
             group = vmail
         }
     }
}
dict {
	quota = mysql:/etc/dovecot-dict-quota.conf
}
plugin {
	quota = dict:storage=10240:messages=1000 proxy::quota
}

/etc/dovecot-mysql.conf:
driver = mysql
connect = host=localhost dbname=ingoBase user=dovecot password=dovecot
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_view_dovecot WHERE account  
= '%n' AND domain = '%d'
user_query = SELECT home, uid, gid FROM mail_view_tmp WHERE account =  
'%n' AND domain = '%d' or account = '%u'

/etc/dovecot-dict-quota.conf
connect = host=localhost dbname=ingoBase user=dovecot password=dovecot
table = mail_quota
select_field = current
where_field = path
username_field = username


Is there something wrong in my configuration or is this a bug in the  
version i am using ?

Thanks in advance !

Andreas


More information about the dovecot mailing list