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