[Dovecot] Thunderbird subscription bug ?

Thomas Hummel hummel at pasteur.fr
Fri Apr 2 19:06:48 EEST 2010


Hello Timo,

I'm having a hard time trying to understand why Thunderbird 3.0.3 doesn't allow
me to subscribe to a shared mailbox which I can subscribe to via Kmail for
instance.

I'm running dovecot-1.2.11/Maildir. The user 'doveimap' shares his mailbox
folder/subfolder to the 'dovepop' user which should see it in the '#shared'
shared namespace at the following "location" :

  #shared/doveimap/folder/subfolder


ACL (and unix permissions) are ok :

  # cat /courriel/boites/doveimap/.folder.subfolder/dovecot-acl
  user=dovepop akxeilprwts 

rawlogs give :

a) kmail case :

in :

4 NAMESPACE
5 LIST "" ""
6 LSUB "" "%"
7 LIST "" "%"
8 LSUB "" "#shared/%"
9 LIST "" "#shared/%"
10 LIST "" "INBOX"
11 SELECT "INBOX"
12 NOOP
13 UID FETCH 1:* (UID FLAGS)
14 UID FETCH 1:2 (UID RFC822.SIZE FLAGS ENVELOPE BODY.PEEK[HEADER.FIELDS (REFERENCES)])
15 LIST "" "*"
16 LIST "" "#shared/*"
17 LSUB "" "*"
18 LSUB "" "#shared/*"
19 LIST "" "#shared/doveimap/folder/subfolder"
20 SUBSCRIBE "#shared/doveimap/folder/subfolder"

out :

* NAMESPACE (("" "/")) (("#shared/" "/")) NIL
4 OK Namespace completed.
* LIST (\Noselect) "/" ""
5 OK List completed.
6 OK Lsub completed.
* LIST (\HasNoChildren) "/" "Trash"
* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\Noselect \HasChildren) "/" "#shared"
7 OK List completed.
8 OK Lsub completed.
* LIST (\Noselect \HasChildren) "/" "#shared/doveimap"
9 OK List completed.
* LIST (\HasNoChildren) "/" "INBOX"
10 OK List completed.
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 2 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1270130617] UIDs valid
* OK [UIDNEXT 3] Predicted next UID
* OK [HIGHESTMODSEQ 1] Highest
11 OK [READ-WRITE] Select completed.
12 OK NOOP completed.
* 1 FETCH (UID 1 FLAGS (\Seen))
* 2 FETCH (UID 2 FLAGS (\Seen))
13 OK Fetch completed.
* 1 FETCH (UID 1 RFC822.SIZE 1140 FLAGS (\Seen) ENVELOPE [...]
* 2 FETCH (UID 2 RFC822.SIZE 1138 FLAGS (\Seen) ENVELOPE [...]
14 OK Fetch completed.
* LIST (\HasNoChildren) "/" "Trash"
* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\Noselect \HasChildren) "/" "#shared/doveimap"
* LIST (\HasNoChildren) "/" "#shared/doveimap/folder/subfolder"
15 OK List completed.
* LIST (\Noselect \HasChildren) "/" "#shared/doveimap"
* LIST (\HasNoChildren) "/" "#shared/doveimap/folder/subfolder"
16 OK List completed.
17 OK Lsub completed.
18 OK Lsub completed.
* LIST (\HasNoChildren) "/" "#shared/doveimap/folder/subfolder"
19 OK List completed.
20 OK Subscribe completed.


b) Thunderbird case :

in :

4 namespace
5 ENABLE CONDSTORE
6 lsub "" "*"
7 lsub "" "#shared/*"
8 list "" "INBOX"
9 list "" "Trash"
10 create "Trash"
11 select "INBOX" (CONDSTORE)
12 myrights "INBOX"
13 getacl "INBOX"
14 UID fetch 1:* (FLAGS)
15 UID fetch 1:2 (UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS (From To Cc Bcc Subject Date Message-ID Priority X-Priority References Newsgroups In-Reply-To Content-Type)])
16 UID fetch 1,2 (UID RFC822.SIZE BODY.PEEK[])
17 IDLE
DONE
18 lsub "" "*"
19 list "" "%"
20 list "" "%/%"
21 lsub "" "#shared/*"
22 list "" "#shared/%"
23 list "" "#shared/%/%"
24 IDLE
DONE
25 list "" "#shared/#shared/%"
26 list "" "#shared/#shared/%/%"
27 IDLE
DONE
28 noop
29 IDLE
DONE

out :

* NAMESPACE (("" "/")) (("#shared/" "/")) NIL
4 OK Namespace completed.
* ENABLED CONDSTORE
5 OK Enabled.
6 OK Lsub completed.
7 OK Lsub completed.
* LIST (\HasNoChildren) "/" "INBOX"
8 OK List completed.
* LIST (\HasNoChildren) "/" "Trash"
9 OK List completed.
10 NO [ALREADYEXISTS] Mailbox exists.
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 2 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1270130617] UIDs valid
* OK [UIDNEXT 3] Predicted next UID
* OK [HIGHESTMODSEQ 1] Highest
11 OK [READ-WRITE] Select completed.
* MYRIGHTS "INBOX" lrwstipekxacd
12 OK Myrights completed.
* ACL "INBOX" "dovepop" lrwstipekxacd
13 OK Getacl completed.
* 1 FETCH (UID 1 FLAGS (\Seen))
* 2 FETCH (UID 2 FLAGS (\Seen))
14 OK Fetch completed.
* 1 FETCH (UID 1 RFC822.SIZE 1140 FLAGS (\Seen) [...]
* 2 FETCH (UID 2 RFC822.SIZE 1138 FLAGS (\Seen) [...]
15 OK Fetch completed.
* 1 FETCH (UID 1 RFC822.SIZE 1140 BODY[] [...]
* 2 FETCH (UID 2 RFC822.SIZE 1138 BODY[] [...]
16 OK Fetch completed.
+ idling
17 OK Idle completed.
18 OK Lsub completed.
* LIST (\HasNoChildren) "/" "Trash"
* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\Noselect \HasChildren) "/" "#shared"
19 OK List completed.
* LIST (\Noselect \HasChildren) "/" "#shared/doveimap"
20 OK List completed.
21 OK Lsub completed.
* LIST (\Noselect \HasChildren) "/" "#shared/doveimap"
22 OK List completed.
* LIST (\Noselect \HasChildren) "/" "#shared/doveimap/folder"
23 OK List completed.
+ idling
* OK Still here
24 OK Idle completed.
25 OK List completed.
26 OK List completed.
+ idling
27 OK Idle completed.
28 OK NOOP completed.
+ idling
29 OK Idle completed.


So TB doesn't seem to ask for what's behind #shared/doveimap/folder although
the server tells him it has children...
As a matter of fact, in the subscribe dialog box in th UI, I see

  #shared
    doveimap
      folder but with no check box alongside

My server is configured like this :

namespace private {
   separator = /
   location = maildir:/courriel/boites/%u:CONTROL=/courriel/meta/%u:INDEX=/var/dovecot-test/indexes/%1u/%u
   inbox = yes
   hidden = no
   list = yes
   subscriptions = yes
}

namespace shared {
   separator = /
   prefix = "#shared/%%u/"
   location = maildir:/courriel/boites/%%u:INDEX=/var/dovecot-test/indexes/%1u/%u/shared/%%u
   subscriptions = no
   list = children
}

Is it a bug in TB ?

Thanks

-- 
Thomas Hummel 	    | Institut Pasteur
<hummel at pasteur.fr> | Pôle informatique - systèmes et réseau


More information about the dovecot mailing list