<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi All,</p>
<p>Since upgrading to RHEL7 and dovecot-2.2.36-8.el7.x86_64 we're
not able to get quota warnings work.</p>
<p>We get the error "User initialization failed: Failed to
initialize quota: Invalid quota root quota: Invalid rule *:bytes=:
Invalid bytes limit:"</p>
<p><i>mar 16 10:29:27 lda(user@domain): Quota: Executing warning:
quota-warning 90 user@domain</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 gonzalo: mar 16 10:29:27
lda(user@domain): Quota: Executing warning: quota-warning 90
user@domain</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Loading modules from directory: /usr/lib64/dovecot</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Module loaded: /usr/lib64/dovecot/lib10_quota_plugin.so</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Module loaded: /usr/lib64/dovecot/lib15_notify_plugin.so</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Module loaded: /usr/lib64/dovecot/lib20_mail_log_plugin.so</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Module loaded: /usr/lib64/dovecot/lib90_sieve_plugin.so</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
auth USER input: user@domain
home=/buzones/externos/4/215283255776546 uid=508 gid=503
quota_rule=*:bytes=2147483648</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Ignoring overridden (-o) userdb setting: plugin/quota_rule</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Effective uid=508, gid=503,
home=/buzones/externos/4/215283255776546</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Quota root: name=_backup backend=maildir args=ns=</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug:
Quota rule: root=_backup mailbox=* bytes=0 messages=0</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Error:
User initialization failed: Failed to initialize quota: Invalid
quota root quota: Invalid rule *:bytes=: Invalid bytes limit:</i><i><br>
</i><i>Mar 16 10:29:27 buzonn5 dovecot: lda: Fatal: Invalid user
settings. Refer to server log for more information.</i><br>
<br>
This is the quota-warning script:<br>
<br>
<br>
<i>#!/bin/sh</i><i><br>
</i><i>#Variables</i><i><br>
</i><i>PERCENT=$1</i><i><br>
</i><i>USER=$2</i><i><br>
</i><i>FECHA=`date '+%b %d %H:%M:%S'`</i><i><br>
</i><i><br>
</i><i>#Logueo del evento</i><i><br>
</i><i>echo "$FECHA lda($USER): Quota: Executing warning:
quota-warning $PERCENT $USER" >>
/var/log/dovecot/dovecot.log</i><i><br>
</i><i>logger -p local1.notice -f /var/log/dovecot/dovecot.log
"$FECHA lda($USER): Quota: Executing warning: quota-warning
$PERCENT $USER"</i><i><br>
</i><i><br>
</i><i>cat << EOF | /usr/libexec/dovecot/dovecot-lda -d
$USER -o "plugin/quota_rule=*:bytes=%$"</i><i><br>
</i><i>From: postmaster at domain</i><i><br>
</i><i>Subject: Alerta de Capacidad</i><i><br>
</i><i>Date: `date`</i><i><br>
</i><i><br>
</i><i>El espacio asignado para el almacenamiento de su correo ha
superado el $PERCENT% de su capacidad total. Por ello, se
recomienda que elimine correos y/o vacie la papelera para
liberar espacio.</i><i><br>
</i><i>Mensaje enviado desde `hostname`</i><i><br>
</i><i><br>
</i><i>Atentamente,</i><i><br>
</i><i><br>
</i><i>--</i><i><br>
</i><i>Responsable correo </i><i><br>
</i><i>postmaster at domain</i><i><br>
</i><i><br>
</i><i>EOF</i><i><br>
</i><br>
-----------------------------<br>
</p>
<p>This is 90-quota.conf<br>
<br>
<i>plugin {</i><i><br>
</i><i> quota = maildir:_backup:ns=</i><i><br>
</i><i>}</i><i><br>
</i><i><br>
</i><i>plugin {</i><i><br>
</i><i> quota_exceeded_message = El espacio asignado para el
almacenamiento del correo del destinatario ha superado su
capacidad total. Por ello, el correo que usted intenta enviar no
se puede entregar al destinatario.</i><i><br>
</i><i> quota_warning = storage=70%% quota-warning 70 %u</i><i><br>
</i><i> quota_warning1 = storage=90%% quota-warning 90 %u</i><i><br>
</i><i> quota_warning2 = storage=95%% quota-warning 95 %u</i><i><br>
</i><i> quota_warning3 = storage=99%% quota-warning 99 %u</i><i><br>
</i><i>}</i><i><br>
</i><i><br>
</i><i>service quota-warning {</i><i><br>
</i><i> executable = script
/etc/dovecot/scripts_notification_quota/quota-warning.sh</i><i><br>
</i><i> user = vmail</i><i><br>
</i><i> unix_listener quota-warning {</i><i><br>
</i><i> user = vmail</i><i><br>
</i><i> }</i><i><br>
</i><i>}</i><br>
</p>
<p>Getting user attibutes and quota with doveadms works right:<br>
<br>
<i># doveadm user user@domain</i><i><br>
</i><i>field value</i><i><br>
</i><i>uid 508</i><i><br>
</i><i>gid 503</i><i><br>
</i><i>home /buzones/externos/4/215283255776546</i><i><br>
</i><i>mail maildir:/buzones/externos/4/215283255776546/Maildir</i><i><br>
</i><i>quota_rule *:bytes=2147483648</i><i><br>
</i><i># doveadm quota get -u user@domain</i><i><br>
</i><i>Quota name Type Value
Limit
%</i><i><br>
</i><i>_backup STORAGE 1153093
2097152
54</i><i><br>
</i><i>_backup MESSAGE 44347 - </i><br>
<br>
</p>
<p>It also works fine with ldapsearch<br>
</p>
<p><br>
<i># ldapsearch -x -D "cn=mail_admin,cn=users,dc=domain,dc=es" -w
********** -b "dc=domain,dc=es" -h ldap.host mail=user@domain
mailquotasize</i><i><br>
</i><i># extended LDIF</i><i><br>
</i><i>#</i><i><br>
</i><i># LDAPv3</i><i><br>
</i><i># base <dc=domain,dc=es> with scope subtree</i><i><br>
</i><i># filter: mail=user@domain</i><i><br>
</i><i># requesting: mailquotasize</i><i><br>
</i><i>#</i><i><br>
</i><i><br>
</i><i># user@domain, users, domain.es</i><i><br>
</i><i>dn: cn=user@domain,cn=users,dc=domain,dc=es</i><i><br>
</i><i>mailquotasize: 2147483648</i><br>
</p>
<p><br>
</p>
<p>I've been googling but I can't find where the problem may be. Can
you please help me?<br>
</p>
<p>This is the whole config:</p>
<p><i>doveconf -n</i><i><br>
</i><i># 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf</i><i><br>
</i><i># Pigeonhole version 0.4.24 (124e06aa)</i><i><br>
</i><i># OS: Linux 3.10.0-1160.6.1.el7.x86_64 x86_64 Red Hat
Enterprise Linux Server release 7.9 (Maipo)</i><i><br>
</i><i># Hostname: host.domain</i><i><br>
</i><i>auth_cache_negative_ttl = 5 mins</i><i><br>
</i><i>auth_cache_size = 500 M</i><i><br>
</i><i>auth_cache_ttl = 5 mins</i><i><br>
</i><i>auth_failure_delay = 5 secs</i><i><br>
</i><i>default_vsz_limit = 1 G</i><i><br>
</i><i>disable_plaintext_auth = no</i><i><br>
</i><i>hostname = host.domain</i><i><br>
</i><i>imap_logout_format = in(bytes read)=%i out(bytes sent)=%o</i><i><br>
</i><i>listen = *</i><i><br>
</i><i>lock_method = dotlock</i><i><br>
</i><i>mail_fsync = always</i><i><br>
</i><i>mail_location = maildir:%h/Maildir</i><i><br>
</i><i>mail_nfs_index = yes</i><i><br>
</i><i>mail_nfs_storage = yes</i><i><br>
</i><i>mail_plugins = " quota mail_log notify"</i><i><br>
</i><i>managesieve_notify_capability = mailto</i><i><br>
</i><i>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 imapflags notify</i><i><br>
</i><i>mbox_write_locks = fcntl</i><i><br>
</i><i>mmap_disable = yes</i><i><br>
</i><i>namespace {</i><i><br>
</i><i> location = maildir:%h/Maildir/_backup</i><i><br>
</i><i> prefix = _backup.</i><i><br>
</i><i> separator = .</i><i><br>
</i><i> type = private</i><i><br>
</i><i>}</i><i><br>
</i><i>namespace inbox {</i><i><br>
</i><i> inbox = yes</i><i><br>
</i><i> location =</i><i><br>
</i><i> mailbox Drafts {</i><i><br>
</i><i> special_use = \Drafts</i><i><br>
</i><i> }</i><i><br>
</i><i> mailbox Junk {</i><i><br>
</i><i> special_use = \Junk</i><i><br>
</i><i> }</i><i><br>
</i><i> mailbox Sent {</i><i><br>
</i><i> special_use = \Sent</i><i><br>
</i><i> }</i><i><br>
</i><i> mailbox "Sent Messages" {</i><i><br>
</i><i> special_use = \Sent</i><i><br>
</i><i> }</i><i><br>
</i><i> mailbox Trash {</i><i><br>
</i><i> special_use = \Trash</i><i><br>
</i><i> }</i><i><br>
</i><i> prefix =</i><i><br>
</i><i>}</i><i><br>
</i><i>passdb {</i><i><br>
</i><i> args = /etc/dovecot/dovecot-ldap.conf.ext</i><i><br>
</i><i> driver = ldap</i><i><br>
</i><i>}</i><i><br>
</i><i>plugin {</i><i><br>
</i><i> mail_log_events = delete undelete expunge mailbox_delete
mailbox_rename mailbox_create save</i><i><br>
</i><i> mail_log_fields = uid box msgid from subject</i><i><br>
</i><i> quota = maildir:_backup:ns=</i><i><br>
</i><i> quota_exceeded_message = El espacio asignado para el
almacenamiento del correo del destinatario ha superado su
capacidad total. Por ello, el correo que usted intenta enviar no
se puede entregar al destinatario.</i><i><br>
</i><i> quota_warning = storage=70%% quota-warning 70 %u</i><i><br>
</i><i> quota_warning1 = storage=90%% quota-warning 90 %u</i><i><br>
</i><i> quota_warning2 = storage=95%% quota-warning 95 %u</i><i><br>
</i><i> quota_warning3 = storage=99%% quota-warning 99 %u</i><i><br>
</i><i> sieve = ~/.dovecot.sieve</i><i><br>
</i><i> sieve_dir = ~/Maildir/sieve</i><i><br>
</i><i> sieve_extensions = +notify +imapflags</i><i><br>
</i><i>}</i><i><br>
</i><i>postmaster_address = postmaster@domain</i><i><br>
</i><i>protocols = imap pop3 sieve</i><i><br>
</i><i>service auth {</i><i><br>
</i><i> unix_listener auth-userdb {</i><i><br>
</i><i> group = vmail</i><i><br>
</i><i> mode = 0777</i><i><br>
</i><i> user = vmail</i><i><br>
</i><i> }</i><i><br>
</i><i>}</i><i><br>
</i><i>service imap-login {</i><i><br>
</i><i> inet_listener imap {</i><i><br>
</i><i> port = 143</i><i><br>
</i><i> }</i><i><br>
</i><i> process_min_avail = 20</i><i><br>
</i><i>}</i><i><br>
</i><i>service imap {</i><i><br>
</i><i> process_limit = 2048</i><i><br>
</i><i>}</i><i><br>
</i><i>service managesieve-login {</i><i><br>
</i><i> inet_listener sieve {</i><i><br>
</i><i> port = 4190</i><i><br>
</i><i> }</i><i><br>
</i><i> inet_listener sieve_deprecated {</i><i><br>
</i><i> port = 2000</i><i><br>
</i><i> }</i><i><br>
</i><i> process_min_avail = 20</i><i><br>
</i><i>}</i><i><br>
</i><i>service pop3-login {</i><i><br>
</i><i> inet_listener pop3 {</i><i><br>
</i><i> port = 110</i><i><br>
</i><i> }</i><i><br>
</i><i> process_min_avail = 20</i><i><br>
</i><i>}</i><i><br>
</i><i>service pop3 {</i><i><br>
</i><i> process_limit = 2048</i><i><br>
</i><i>}</i><i><br>
</i><i>service quota-warning {</i><i><br>
</i><i> executable = script
/etc/dovecot/scripts_notification_quota/quota-warning.sh</i><i><br>
</i><i> unix_listener quota-warning {</i><i><br>
</i><i> user = vmail</i><i><br>
</i><i> }</i><i><br>
</i><i> user = vmail</i><i><br>
</i><i>}</i><i><br>
</i><i>ssl = no</i><i><br>
</i><i>ssl_cert = </etc/pki/dovecot/certs/dovecot.pem</i><i><br>
</i><i>ssl_key = # hidden, use -P to show it</i><i><br>
</i><i>submission_host = smtpi.domain:25</i><i><br>
</i><i>syslog_facility = local1</i><i><br>
</i><i>userdb {</i><i><br>
</i><i> args = /etc/dovecot/dovecot-ldap.conf.ext</i><i><br>
</i><i> driver = ldap</i><i><br>
</i><i>}</i><i><br>
</i><i>protocol lda {</i><i><br>
</i><i> mail_plugins = " quota mail_log notify sieve"</i><i><br>
</i><i>}</i><i><br>
</i><i>protocol imap {</i><i><br>
</i><i> mail_max_userip_connections = 10000</i><i><br>
</i><i> mail_plugins = " quota mail_log notify imap_quota"</i><i><br>
</i><i>}</i><i><br>
</i><i>protocol pop3 {</i><i><br>
</i><i> mail_max_userip_connections = 10</i><i><br>
</i><i>}</i></p>
<p><br>
</p>
<p>Thanks and best regards<br>
</p>
<div class="moz-signature">-- <br>
<p class="3DMsoListParagraph"
style="3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:"
auto;mso-add-space:auto;text-indent:-18.0pt;line-height:22.5pt;mso-list:l0=""
level1="" lfo1;="" tab-stops:list="" 36.0pt'="">
<b><span style="3D'font-size:10.5pt;font-family:"Arial"
narrow",sans-serif;mso-fareast-font-family:"times="" new=""
roman";mso-bidi-font-family:"times=""
roman";color:#4d4d4d;="" mso-fareast-language:es'="">Gonzalo
Palacios Goicolea</span></b><span
style="3D'font-size:10.5pt;font-family:"Arial"
narrow",sans-serif;mso-fareast-font-family:="" "times=""
new="" roman";mso-bidi-font-family:"times=""
roman";color:#4d4d4d;="" mso-fareast-language:es'=""><br>
U.T de Infraestructura de Equipos Centrales<br>
</span><i><span
style="3D'font-size:10.5pt;font-family:"Arial"
narrow",sans-serif;="" mso-fareast-font-family:"times=""
new="" roman";mso-bidi-font-family:"times="" roman";=""
color:#00abe4;mso-fareast-language:es'="">Tecnologías de la
Información</span></i><span
style="3D'font-size:10.5pt;font-family:"Arial"
narrow",sans-serif;mso-fareast-font-family:="" "times=""
new="" roman";mso-bidi-font-family:"times=""
roman";color:#00abe4;="" mso-fareast-language:es'=""><br>
</span><span style="3D'font:7.0pt" "times="" new="" roman"'="">Universidad
Autónoma de Madrid • Campus
de <span class="3DSpellE">Cantoblanco</span><br>
</span><span style="3D'font-size:9.0pt;font-family:"Arial"
narrow",sans-serif;mso-fareast-font-family:="" "times=""
new="" roman";mso-bidi-font-family:"times=""
roman";color:#95c11f;mso-fareast-language:es'="">Antes de
imprimir este correo piense si es necesario.Cuidemos el
medioambiente. </span>
</p>
</div>
</body>
</html>