NOTIFY regression: 2.18 no longer notifies of events in INBOX

Guilhem Moulin guilhem at fripost.org
Sun Jul 26 15:50:22 UTC 2015


Here is an example with APPEND

    $ /usr/lib/dovecot/imap
    S1: * PREAUTH [CAPABILITY IMAP4rev1 … MOVE NOTIFY SPECIAL-USE] Logged in as guilhem
    C1: a1 NOTIFY SET (INBOXES (MessageNew MessageExpunge FlagChange))
    S1: a1 OK NOTIFY completed (0.000 secs)

    $ /usr/lib/dovecot/imap
    S2: * PREAUTH [CAPABILITY IMAP4rev1 … MOVE NOTIFY SPECIAL-USE] Logged in as guilhem
    C2: a2 APPEND INBOX {1+}
    C2: x
    S2: a2 OK [APPENDUID 1384472528 26085] Append completed (0.229 secs).

With 2.13 from Debian Jessie, S1 sends a notification for the new
message in INBOX, as expected:

    S1: * STATUS INBOX (MESSAGES 4333 UIDNEXT 26086 UNSEEN 1)

However it doesn't with 2.18 from Debian Sid, as if ‘INBOX’ was excluded
from the mailbox filter ‘INBOXES’.  It does send a notification for
‘virtual/unseen’ instead (as expected), but nothing for ‘INBOX’.

    S1: * STATUS virtual/unseen (MESSAGES 3 UIDNEXT 15186 UNSEEN 3)

This is INBOX-specific because APPENDING the message to another mailbox
triggers the notification on both 2.13 and 2.18 as expected:

    S1: * STATUS test (MESSAGES 2 UIDNEXT 3 UNSEEN 2)
    S1: * STATUS virtual/unseen (MESSAGES 2 UIDNEXT 15195 UNSEEN 2)

I attach the ‘dovecot -n’ output for both 2.13 and 2.18.

-- 
Guilhem.
-------------- next part --------------
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.1 
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = mdbox:%h/mail
mailbox_list_index = yes
namespace inbox {
  inbox = yes
  location = 
  mailbox DRAFTS {
    auto = create
    special_use = \Drafts
  }
  mailbox SENT {
    auto = subscribe
    special_use = \Sent
  }
  mailbox SPAM {
    auto = create
    special_use = \Junk
  }
  mailbox TRASH {
    auto = create
    special_use = \Trash
  }
  mailbox virtual/All {
    special_use = \All
  }
  mailbox virtual/Flagged {
    special_use = \Flagged
  }
  prefix = 
  separator = /
}
passdb {
  args = scheme=SHA512-CRYPT username_format=%Ln /etc/dovecot/users
  driver = passwd-file
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = " imap lmtp"
service auth-worker {
  user = $default_internal_user
}
service auth {
  unix_listener /var/spool/postfix/private/dovecot-auth {
    group = postfix
    mode = 0600
    user = postfix
  }
  user = $default_internal_user
}
service imap-login {
  inet_listener imap {
    address = 127.0.0.1, ::1
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
ssl = required
ssl_ca = </usr/local/share/ca-certificates/cacert.org/class3.crt
ssl_cert = </etc/dovecot/ssl/imap.guilhem.org.pem
ssl_cipher_list = HIGH:!SSLv2:!aNULL:!eNULL:!3DES:!MD5:@STRENGTH
ssl_dh_parameters_length = 2048
ssl_key = </etc/dovecot/ssl/private/imap.guilhem.org.key
ssl_protocols = !SSLv2 !SSLv3
ssl_verify_client_cert = yes
userdb {
  args = username_format=%Ln /etc/dovecot/users
  driver = passwd-file
}
protocol lmtp {
  mail_plugins = " sieve"
  postmaster_address = postmaster at guilhem.org
}
-------------- next part --------------
# 2.2.18: /etc/dovecot/dovecot.conf
# OS: Linux 4.0.0-2-686-pae i686 Debian stretch/sid 
listen = 127.0.0.1, ::1
mail_location = maildir:~/mail
mail_plugins = virtual
mailbox_list_index = yes
namespace inbox {
  inbox = yes
  location = 
  mailbox DRAFTS {
    auto = create
    special_use = \Drafts
  }
  mailbox SENT {
    auto = subscribe
    special_use = \Sent
  }
  mailbox SPAM {
    auto = create
    special_use = \Junk
  }
  mailbox TRASH {
    auto = create
    special_use = \Trash
  }
  mailbox virtual/all {
    special_use = \All
  }
  mailbox virtual/flagged {
    special_use = \Flagged
  }
  prefix = 
  separator = /
}
namespace virtual {
  hidden = no
  list = no
  location = virtual:~/mail/virtual
  prefix = virtual/
  separator = /
}
passdb {
  driver = pam
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = " imap"
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 0
  }
}
ssl = no
userdb {
  driver = passwd
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20150726/8abe992c/attachment.sig>


More information about the dovecot mailing list