Open Bug 152773 Opened 22 years ago Updated 2 years ago

Wrong hierarchy delimiter on Cyrus shared (sub)folders

Categories

(MailNews Core :: Networking: IMAP, defect)

x86
All
defect

Tracking

(Not tracked)

People

(Reporter: bugzillamoz, Unassigned)

Details

If you're running IMAP with an Cyrus-IMAP-Server there's a big problem with
shared-folders.
If you want to have shared folders it is often neccessary to have on shared
folder and have all your shared-folders as subfolders of this (So user can
delete message in shared folders but not the sharedfolder itself, because they
have not the rights on the parent folder).
If you try to subscribe to such a folder (shared.myfold1 for ex.) MozMail does
get  the delimiter wrong and tries to subscribe to shared/myfold1.
This only happens for shared subfolders. Additionally of you create a subfolder
of a shared folder yourself trough MozMail (not cyradm) it is no problem to
subscribe to it.
However you can somehow get MozMail to "learn" the right delimiter. I can't
reproduce this but after playing around by creating shared subfolders trough
mozilla and deleting them again one of my IMAP-Account works no with Cyrus and
shared subfolders, MozMail remembers the delimiter.
I hope this is not to confusing, sorry for bad english... ;)
This problem occurs with a Courer IMAP server as well.
Whem I am subscribing to a folder manually (using telnet on the imap server), I
see it with MailNews and can scubscribe/unsubscribe/subscribe it without problems.

Here the mozilla log when no shared folder had been subscribed to before:
20612[5a2a158]: mail.vmware.littleblue:S-INBOX:CreateNewLineFromSocket: * LIST
(\Noselect \HasChildren) "." "shared.littleblue"
20612[5a2a158]: mail.vmware.littleblue:S-INBOX:CreateNewLineFromSocket: 28 OK
LIST completed.
20612[5a2a158]: mail.vmware.littleblue:S-INBOX:SendData: 29 list "" "shared.%.%"
20612[5a2a158]: mail.vmware.littleblue:S-INBOX:CreateNewLineFromSocket: * LIST
(\HasNoChildren) "." "shared.littleblue.Projekte"
20612[5a2a158]: mail.vmware.littleblue:S-INBOX:CreateNewLineFromSocket: * LIST
(\HasNoChildren) "." "shared.littleblue.Kunden"
20612[5a2a158]: mail.vmware.littleblue:S-INBOX:CreateNewLineFromSocket: 29 OK
LIST completed.
20336[5ad7ca0]: mail.vmware.littleblue:A:SendData: 35 subscribe
"shared/littleblue/Kunden"
20336[5ad7ca0]: mail.vmware.littleblue:A:CreateNewLineFromSocket: 35 NO Cannot
subscribe to this folder.

Next I subscribed to the folder using telnet:
Trying 172.20.20.90...
Connected to uranus-debian.vmware.littleblue.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2002 Double Precision, Inc.  See
00000 login alex XXXXX
00000 OK LOGIN Ok.
00001 subscribe shared.littleblue.Kunden
00001 OK SUBSCRIBE completed.
00002 logout
* BYE Courier-IMAP server shutting down
00002 OK LOGOUT completed
Connection closed by foreign host.

Now I can see the subscribed folders and unsubscribe and subscribe:
20336[5ad7ca0]: mail.vmware.littleblue:S-shared.littleblue.Kunden:SendData: 49
unsubscribe "shared.littleblue.Kunden"
20336[5ad7ca0]:
mail.vmware.littleblue:S-shared.littleblue.Kunden:CreateNewLineFromSocket: 49 OK
UNSUBSCRIBE completed.

20336[5ad7ca0]: mail.vmware.littleblue:S-shared.littleblue.Kunden:SendData: 55
subscribe "shared.littleblue.Kunden"
20336[5ad7ca0]:
mail.vmware.littleblue:S-shared.littleblue.Kunden:CreateNewLineFromSocket: 55 OK
SUBSCRIBE completed.


May this is caused by the default hierarchy delimiter value "/" in the method
nsImapService::GetHierarchyDelimiter.
This has been confirmed in our rollout of Mozilla using cyrus.  Creating shared
folders (in our case to hold out mailing lists internally) and then trying to
subscribe to them in moz will not work.  A tcpdump shows me that moz is using
the delimiter "/" insteatd of the netnews ".".

If I use netscape to subscribe to these folders and then load up mozilla, I can
see and access the shared folders correctly.

Will look into mozilla source to see if I can fix this.

J
QA Contact: huang → gchan
This still exists in 1.3b.
- Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3b) Gecko/20030210
Subscribe packet 

TCP Packet ID (from_IP.port-to_IP.port): 10.10.10.2.1143-10.10.10.6.143
   SEQ (hex): EE619E4D   ACK (hex): 65105FC0
   FLAGS: -AP---   Window: 3F15
Packet ID (from_IP.port-to_IP.port): 10.10.10.2.1143-10.10.10.6.143
 E . . R u . @ . . . ^ o . . . . . . . . . w . . . a . M e . _ . P . ? . . .
 . . 6 6   s u b s c r i b e   " u s e r / s h a r e d / a n o t h e r _ s h
 a r e " . .

I just ran into this problem.  I moved from a Courier IMAP server which puts all
folders under INBOX to a Dovecot server which puts folders at the top level. 
Since I'm not using "INBOX." as the inbox name, mozilla doesn't know what the
delimiter is and uses "/" instead of ".".  This means that any folders with
subfolders won't show up.

I think a solution for this would be that if you have a single character, then
mozilla will use that as the separator instead of the inbox name.
If the reporter is still around, what is your shared namespace set to?
Product: MailNews → Core
Assignee: mscott → nobody
Product: Core → MailNews Core
QA Contact: grylchan → networking.imap
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.