I have a strange behavior on a customer's server and I don't understand that: User "bar" has some folders and one shared folder from "foo" if I use the "LIST"-command, which should list AFAIK *all* folders: # telnet localhost 143 a login bar xxxx a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS ACL RIGHTS=texk] Logged in a LIST "" "*" * LIST (\HasNoChildren) "/" "Gesendete Objekte" * LIST (\HasNoChildren) "/" "Papierkorb" * LIST (\HasNoChildren) "/" "INBOX" * LIST (\HasNoChildren) "/" "Trash" * LIST (\HasNoChildren) "/" "Entw&APw-rfe" * LIST (\HasNoChildren) "/" "Spam" * LIST (\Noselect \HasChildren) "/" "shared/foo" * LIST (\HasNoChildren) "/" "shared/foo/INBOX" a OK List completed. Using the LSUB-command, which should only list subscribed folders I can see some more shared folders. AFAIK the output of LSUB must be always less then LIST: a LSUB "" "*" * LSUB () "/" "Entw&APw-rfe" * LSUB () "/" "Gesendete Objekte" * LSUB () "/" "INBOX" * LSUB () "/" "Papierkorb" * LSUB () "/" "Spam" * LSUB () "/" "Trash" * LSUB (\Noselect) "/" "shared/amerkel" * LSUB () "/" "shared/foo/Papierkorb/Ungelesene Mails" * LSUB () "/" "shared/foo/INBOX" * LSUB () "/" "shared/foo/INBOX/abc/Unterebene 1" * LSUB () "/" "shared/foo/INBOX/abc/Unterebene 1/Test6789" * LSUB () "/" "shared/foo/INBOX/abc/Unterebene 1/Test Unterornder" * LSUB () "/" "shared/foo/INBOX/abc/Unterebene 1/Tsfgnksfgnk" a OK Lsub completed. a logout * BYE Logging out a OK Logout completed. And why is /shared/foo/INBOX listed with "HasNoChildren"? IMHO that's looking buggy. And, btw: Looks like's not possible to use the "doveadm"-command to get a list of a user's complete folder list. Maybe "doveadm mailbox" should get some extra parameters to geht all folders / only subscribe folders / only shared folders: # doveadm mailbox list -u bar Gesendete Objekte Papierkorb INBOX Trash Entw?rfe Spam -- Heinlein Professional Linux Support GmbH Linux: Akademie - Support - Hosting http://www.heinlein-support.de Tel: 030/405051-42 Fax: 030/405051-19 Zwangsangaben lt. ?35a GmbHG: HRB 93818 B / Amtsgericht Berlin-Charlottenburg, Gesch?ftsf?hrer: Peer Heinlein -- Sitz: Berlin
Quoting Peer Heinlein <p.heinlein at heinlein-support.de>:> Using the LSUB-command, which should only list subscribed folders I can see > some more shared folders. AFAIK the output of LSUB must be always less then > LIST:No, it is exactly the opposite - LSUB can potentially list MORE mailboxes than exist on the server. LSUB only provides the list of mailboxes that have been marked as subscribed. It is quite possible to mark a mailbox as subscribed and then delete it, in which case LSUB must continue to report that mailbox. See RFC 3501 [6.3.9]: The server MUST NOT unilaterally remove an existing mailbox name from the subscription list even if a mailbox by that name no longer exists. michael
Hi, I've finally gotten to last year's mail backlog. :) On 22.12.2011, at 14.34, Peer Heinlein wrote:> User "bar" has some folders and one shared folder from "foo" if I use the > "LIST"-command, which should list AFAIK *all* folders:Yes.> Using the LSUB-command, which should only list subscribed folders I can see > some more shared folders. AFAIK the output of LSUB must be always less then > LIST:As Michael mentioned, LSUB can show some nonexistent mailboxes also that haven't been unsubscribed.> And why is /shared/foo/INBOX listed with "HasNoChildren"?It has no visible existing children (the LSUB entries didn't exist or no longer had necessary ACLs).> And, btw: Looks like's not possible to use the "doveadm"-command to get a > list of a user's complete folder list. Maybe "doveadm mailbox" should get > some extra parameters to geht all folders / only subscribe folders / only > shared folders:Yes, that would be nice .. but maybe this is enough for now: http://hg.dovecot.org/dovecot-2.1/rev/b600af017598
Reasonably Related Threads
- unexpected LSUB / LIST (SUBSCRIBED) output Re: Panic: file mailbox-list-subscriptions.c: line 66 (mailbox_list_subscription_fill_one): assertion failed: (ns!= NULL && (ns->flags & NAMESPACE_FLAG_AUTOCREATED) != 0)
- extra IMAP folders: how to make all clients use the same Sent folder?
- Crash in 2.2.27 while moving a mail
- special_use \Archive not working with some foldernames
- 2.1: virtual plugin and lsub