Hello,
any news on this topic? I tried it again with Dovecot 2.2.25, but it's still not possible to run the quota-status services on the directors. They try to access the mailbox of the user, which they obviously cannot. I'm not sure why Dovecot tries to open the mailbox, I would have expected just a dict-query (SQL) to check the quota. If the mailbox has to be opened, it has to be done on the correct backend Dovecot of the user.
Is there any chance to fix this problem? Or am I doing something wrong here?
Kind regards
Michael

Am 23.02.2015 um 03:09 schrieb Michael Kliewe:
Hello,

I'm trying to configure the quota-status service, but it seems I'm not 
successful with my director setup (2.2.9). I activate the quota-status service 
like this on my director server:

$ cat 91-quota-status.conf
##
## Quota-Status configuration.
##
# Load Module quota-status and listen on TCP/IP Port for connections.
service quota-status {
   executable = quota-status -p postfix
   inet_listener {
     address = 10.0.1.44
     port = 12340
   }
   client_limit = 1
}
# Plugin configuration.
# Return messages for requests by quota status: success, nouser and overquota.
plugin {
   quota_status_success = DUNNO
   quota_status_nouser = DUNNO
   quota_status_overquota = "552 5.2.2 Mailbox is over quota"
}

After restarting the director service I try to query the quota status service:

printf "recipient=u...@domain.de\nsize=100000\n\n" | nc 10.0.1.44 12340

The output is:

action=DEFER_IF_PERMIT Invalid user settings. Refer to server log for more 
information.

In the debug log of the director I see this:

Feb 23 03:03:09 director01 dovecot: auth: Debug: userdb out: USER   1       u...@domain.de  
mail=mdbox:/mnt/data01/domain.de/user/maildir    home=/mnt/data01/domain.de/user       
proxy=Y master=<hidden>       pass=<hidden>   uid=5000        gid=1   
quota_rule=*:storage=60593      quota_rule2=*:messages=100000
Feb 23 03:03:09 director01 dovecot: quota-status(u...@domain.de): Error: user 
u...@domain.de: Initialization failed: Namespace '': 
mkdir(/mnt/data01/domain.de/user/maildir/mailboxes) failed: Permission denied 
(euid=5000(vmail) egid=1(daemon) missing +w perm: /mnt, dir owned by 0:0 
mode=0755)

So the quota status service tries to access the mailbox of the user ON THE 
DIRECTOR. But the director has not mounted the mailboxes of the users, that's 
what the backend dovecots are for (proxy=Y). So the quota-status query is not 
proxied to the dovecot backend server I would assume.

Does that mean I have to start the quota-status service on the dovecot backend 
servers and access it from the Postfix server directly? Currently the Postfixes 
can only reach the directors, not the backend servers.

Is it possible to use the quota-status service on the director?

Thanks for any hints and help
Michael

Reply via email to