Unexpected result from LIST EXTENDED command
Kostya Vasilyev
kman at fastmail.com
Tue Jul 16 14:21:27 EEST 2019
As a workaround (if this turns out to be a Dovecot bug) -
- you could use STATUS instead.
It would be several commands, one per folder, so you'd want to send them pipelined for performance.
I've done this before in an email app I worked on and haven't seen any issues with Dovecot or any other server (e.g. Gmail, Cyrus, Fastmail ...)
-- K
On Tue, Jul 16, 2019, at 11:41 AM, Emil Kalchev via dovecot wrote:
> There is no error in the server logs. I checked those particular folders on the server and they don’t seems to have anything special about them, like permission or etc.
>
> Yes, calling STATUS on those particular folders returns the status. The folders can be opened and they have emails in them so nothing special about those folders.
>
> # 2.3.5 (513208660): /etc/dovecot/dovecot.conf
> # OS: Linux 3.10.0-957.21.3.el7.x86_64 x86_64 CentOS Linux release 7.6.1810 (Core)
> # Hostname: mail.HIDDEN
> auth_cache_size = 1 M
> auth_mechanisms = plain login
> auth_username_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$-=?^_{}~./@+%"
> disable_plaintext_auth = no
> first_valid_uid = 201
> lda_mailbox_autocreate = yes
> lmtp_rcpt_check_quota = yes
> lmtp_save_to_detail_mailbox = yes
> lmtp_user_concurrency_limit = 4
> mail_access_groups = dovecot
> mail_plugins = quota quota_clone zlib fts fts_solr
> mail_prefetch_count = 20
> maildir_very_dirty_syncs = yes
> namespace inbox {
> inbox = yes
> location =
> mailbox Archive {
> auto = create
> special_use = \Archive
> }
> mailbox Archives {
> auto = no
> special_use = \Archive
> }
> mailbox Drafts {
> auto = subscribe
> special_use = \Drafts
> }
> mailbox Sent {
> auto = subscribe
> special_use = \Sent
> }
> mailbox "Sent Messages" {
> auto = no
> special_use = \Sent
> }
> mailbox Trash {
> auto = subscribe
> special_use = \Trash
> }
> mailbox spam {
> auto = subscribe
> special_use = \Junk
> }
> prefix = INBOX.
> separator = .
> type = private
> }
> passdb {
> args = /usr/local/cpanel/etc/dovecot/cpauthd-dict.conf
> driver = dict
> result_failure = return-fail
> }
> plugin {
> acl = vfile:cache_secs=86400
> fts = solr
> fts_solr = url=http://#hidden_use-P_to_show#@127.0.0.1:8984/solr/dovecot/
> quota_exceeded_message = Mailbox is full / Blocks limit exceeded / Inode limit exceeded
> }
> protocols = lmtp imap pop3
> service auth {
> unix_listener auth-client {
> mode = 0666
> }
> }
> service config {
> vsz_limit = 2 G
> }
> service dict {
> unix_listener dict {
> group = dovecot
> mode = 0660
> }
> }
> service imap-login {
> client_limit = 500
> inet_listener imap {
> address = *,::
> }
> inet_listener imaps {
> address = *,::
> }
> process_limit = 50
> process_min_avail = 2
> service_count = 0
> vsz_limit = 128 M
> }
> service imap {
> process_limit = 512
> vsz_limit = 512 M
> }
> service lmtp {
> client_limit = 1
> process_limit = 500
> unix_listener lmtp {
> group = mail
> mode = 0660
> user = mailnull
> }
> vsz_limit = 512 M
> }
> service managesieve-login {
> client_limit = 500
> process_limit = 50
> process_min_avail = 2
> service_count = 0
> vsz_limit = 128 M
> }
> service managesieve {
> process_limit = 512
> vsz_limit = 512 M
> }
> service pop3-login {
> client_limit = 500
> inet_listener pop3 {
> address = *,::
> }
> inet_listener pop3s {
> address = *,::
> }
> process_limit = 50
> process_min_avail = 2
> service_count = 0
> vsz_limit = 128 M
> }
> service pop3 {
> process_limit = 512
> vsz_limit = 512 M
> }
> service quota-status {
> executable = quota-status -p postfix
> unix_listener quota-status {
> mode = 0666
> }
> }
> service stats {
> client_limit = 2000
> unix_listener stats-writer {
> mode = 0666
> }
> }
> ssl_cert = </etc/dovecot/ssl/dovecot.crt
> ssl_cipher_list = ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS
> ssl_dh = # hidden, use -P to show it
> ssl_key = # hidden, use -P to show it
> userdb {
> driver = prefetch
> }
> userdb {
> args = /usr/local/cpanel/etc/dovecot/cpauthd-dict.conf
> driver = dict
> }
> protocol imap {
> imap_capability = +NAMESPACE
> imap_idle_notify_interval = 24 mins
> imap_logout_format = in=%i, out=%o, bytes=%i/%o
> mail_max_userip_connections = 20
> mail_plugins = acl quota imap_quota zlib imap_zlib quota_clone virtual fts fts_solr
> namespace sent {
> hidden = yes
> list = no
> location = virtual:/usr/local/cpanel/etc/dovecot/virtual/sent:INDEX=~/mail/virtual/%u/sent
> prefix = sent
> separator = .
> }
> namespace spam {
> hidden = yes
> list = no
> location = virtual:/usr/local/cpanel/etc/dovecot/virtual/spam:INDEX=~/mail/virtual/%u/spam
> prefix = spam
> separator = .
> }
> }
> protocol pop3 {
> mail_max_userip_connections = 3
> mail_plugins = quota quota quota_clone virtual zlib
> namespace sent {
> hidden = yes
> list = no
> location = virtual:/usr/local/cpanel/etc/dovecot/virtual/sent:INDEX=~/mail/virtual/%u/sent
> prefix = sent
> separator = .
> }
> namespace spam {
> hidden = yes
> list = no
> location = virtual:/usr/local/cpanel/etc/dovecot/virtual/spam:INDEX=~/mail/virtual/%u/spam
> prefix = spam
> separator = .
> }
> pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, bytes=%i/%o
> pop3_uidl_format = UID%u-%v
> }
> protocol lmtp {
> mail_plugins = quota quota_clone zlib
> postmaster_address = root
> quota_full_tempfail = yes
> }
> protocol lda {
> mail_plugins = quota quota_clone zlib
> postmaster_address = root
> quota_full_tempfail = yes
> }
> local_name mail.HIDDEN www.mail.hidden {
> ssl_cert = </etc/dovecot/ssl/dovecot.crt
> ssl_key = # hidden, use -P to show it
> }
>
> local_name *.HIDDEN HIDDEN {
> ssl_cert = </var/cpanel/ssl/domain_tls/HIDDEN/combined
> ssl_key = # hidden, use -P to show it
> }
>
> *From:* Timo Sirainen <timo at sirainen.com>
> *Sent:* Tuesday, July 16, 2019 10:59 AM
> *To:* Emil Kalchev <ekalchev at hotmail.com>
> *Cc:* Dovecot Mailing List <dovecot at dovecot.org>
> *Subject:* Re: Unexpected result from LIST EXTENDED command
>
> On 16 Jul 2019, at 9.51, Emil Kalchev via dovecot <dovecot at dovecot.org> wrote:
>>
>> I am executing this command below to dovecot-2.3.5-6.cp1178.x86_64 server
>>
>> Notice that some status responses are missing (For folders INBOX.Archive, INBOX.spam.&-BD0EOQQ9BDkEPQ-). I wonder If this is a bug or working as expected
>>
>> In rfc5819 there is this:
>>
>> If the server runs into unexpected problems while trying to look up
>> the STATUS information, it MAY drop the corresponding STATUS reply.
>> In such a situation, the LIST command would still return a tagged OK
>> reply.
>>
>> May be that is the reason for this response? Is it possible to find more details in server logs why STATUS is missing?
>
> Do you see any errors logged? Does it work if you ask with STATUS command directly those folders? What's your doveconf -n?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20190716/1f89c2aa/attachment-0001.html>
More information about the dovecot
mailing list