Cyrus IMAP:LIST command problems when using a migrated profile with Personal Namespace specified

VERIFIED FIXED in mozilla0.9.5

Status

MailNews Core
Networking: IMAP
VERIFIED FIXED
16 years ago
9 years ago

People

(Reporter: Karen Huang, Assigned: Cavin Song)

Tracking

({imap-interop})

Trunk
mozilla0.9.5
x86
Windows NT
imap-interop

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: PDT+)

Attachments

(5 attachments)

(Reporter)

Description

16 years ago
LIST command problems when using a migrated profile with personal Namespace 
specified

Currently, users can delete msgs & Empty Trash from 6.1 without setup the 
Personal Namespace "Inbox." from Cyrus IMAP account.
But, we still need to consider users with Personal Namespace "Inbox." setup from 
4.7.

If users migrated the Cyrus IMAP profile with "Inbox.' Personal Namespace 
specified, they will encounter LIST command problems as following:

175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 13 list "" "Inbox/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 13 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 14 list "" "Inbox/%/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 14 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 15 list "" "Inbox/c1/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 15 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 16 list "" "Inbox/c1/%/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 16 OK Completed

We need to fix this problem.
I will attach the IMAP logs when subscribe & unsubscribe for the Cyrus IMAP 
without specify the personal namespace &  after specify the namespace here.
So you can compare and see the problem here....

Reproduce Steps:
1) Setup the Cyrus IMAP with Personal Namespace "Inbox."
2) Migrated this profile from 4.7 to 6.1
3) Subscribe & unsubscribe some subfolders
4) Actual Results: From the UI, it seems it is working fine, but after check the 
IMAP log, You will see something wrong for the LIST command:

175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 13 list "" "Inbox/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 13 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 14 list "" "Inbox/%/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 14 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 15 list "" "Inbox/c1/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 15 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 16 list "" "Inbox/c1/%/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 16 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 17 list "" "Inbox/c1/c1_f/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 17 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 18 list "" "Inbox/c1/c1_f/%/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 18 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 19 list "" 
"Inbox/c1/c1_f/c2_f2/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 19 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 20 list "" 
"Inbox/c1/c1_f/c2_f2/%/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 20 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 21 list "" 
"Inbox/c1/c1_f/c2_f2/c3_f2/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 21 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 22 list "" 
"Inbox/c1/c1_f/c2_f2/c3_f2/%/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 22 OK Completed
..............................................
75[45a1350]: buggy.mcom.com:S-INBOX:SendData: 26 list "" "Inbox/%"
175[45a1350]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 26 OK Completed
175[45a1350]: buggy.mcom.com:S-INBOX:SendData: 27 list "" "Inbox/%/%"

Expected Results: It should display the LIST command as following:
258[476b1a0]: buggy.mcom.com:S-INBOX:SendData: 17 list "" "INBOX.c1.%"
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f1
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f2
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 17 OK Completed
258[476b1a0]: buggy.mcom.com:S-INBOX:SendData: 18 list "" "INBOX.c1.%.%"
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f1
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f2
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 18 OK Completed
258[476b1a0]: buggy.mcom.com:S-INBOX:SendData: 19 list "" "INBOX.c1.c1_f.%"
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f1
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f2
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 19 OK Completed
258[476b1a0]: buggy.mcom.com:S-INBOX:SendData: 20 list "" "INBOX.c1.c1_f.%.%"
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f2.c3_f
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f2.c3_f1
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.c1.c1_f.c2_f2.c3_f2
258[476b1a0]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 20 OK Completed
(Reporter)

Comment 1

16 years ago
Ccing Cavin.
Keywords: interop
Summary: LIST command problems when using a migrated profile with personal Namespace specified → Cyrus IMAP:LIST command problems when using a migrated profile with Personal Namespace specified
(Reporter)

Comment 2

16 years ago
Created attachment 48348 [details]
IMAP log of the Cyrus IMAP migrated profile with personal namespace specified
(Reporter)

Comment 3

16 years ago
Created attachment 48349 [details]
IMAP log of the Cyrus IMAP new profile without specifying personal namespace
(Assignee)

Comment 4

16 years ago
Karen, somehow I couldn't reproduce it on my machine. I had the personal 
namespace set to "INBOX." in 4.7 and then migrated it to 6.x. The setting was 
still "INBOX." in 6.x. Then I did the subscribe and unsubscribe stuff and the 
log showed the right commands we sent to the server.  Can you attach your 
prefs.js so that I can take a look at it? Maybe something else is causing the 
problem.
(Reporter)

Comment 5

16 years ago
Created attachment 48453 [details]
Attach the perfs.js file of the migrated profile with the namespace setup
(Reporter)

Comment 6

16 years ago
user_pref("mail.server.server1.namespace.personal", "\"Inbox.\"");

Cavin, how do you think about above line from the perfs.js file?
I am wondering to know whether this is dup of bug 26439 which I logged long time 
ago........
(Assignee)

Comment 7

16 years ago
Karen, I think it's fine because that's the way the syntax was defined for our
product.
(Assignee)

Comment 8

16 years ago
The only difference is that your setting is "\"Inbox.\"" and mine is 
"\"INBOX.\"". For some reason it only works for uppercase 'INBOX' and not 
'Inbox'. I'll debug it to see why this is the case.

Karen, you may modify your prefs.js to confirm it.
(Assignee)

Comment 9

16 years ago
Taking from mscott.
Assignee: mscott → cavin
(Assignee)

Comment 10

16 years ago
Nominating for PDT. This bug has the same impact on clients (ie, not being able 
to subscribe folders) as bug 98294, although it has a different cause. Have fix 
on hand.
Whiteboard: PDT
(Assignee)

Comment 11

16 years ago
Looks like we are not getting the right msgFolder in 
nsImapService::GetListOfFoldersWithPath() which means that we don't use the 
right server delimiter either. We need to convert all occurrences of 'inbox' in 
a folder pathname to uppercase 'INBOX' if present just like we do in 
nsImapIncomingServer::PossibleImapMailbox(). 
(Assignee)

Comment 12

16 years ago
Created attachment 48513 [details] [diff] [review]
Proposed fix for the problem.
(Assignee)

Comment 13

16 years ago
Ccing bienvenu.
(Reporter)

Comment 14

16 years ago
Is this bug related to bug 60344?
(Reporter)

Comment 15

16 years ago
Copying David's comments on 2001-08-15 10:51 of bug 60344 as following:
---------------------------------------------------------------------------
I thought we already checked in a fix for this bug (bug 60344), and we had some
problem
with Cyrus servers because we changed the case of INBOX which messed up
sub-folders........
----------------------------------------------------------------------------

Comment 16

16 years ago
This patch has problems and it is not the patch in PossibleImapMailbox. I think
you need to update your tree. 
(Assignee)

Comment 17

16 years ago
Navin, yes my tree is about 10 days old and I did see the changes you made on 
08/27 to nsImapIncomingServer::PossibleImapMailbox(). I'll rework the patch on 
the new tree.
(Assignee)

Comment 18

16 years ago
Nominating for nsbranch.
Keywords: nsbranch
(Assignee)

Comment 19

16 years ago
Created attachment 48591 [details] [diff] [review]
Proposed fix using the latest code.

Comment 20

16 years ago
Comment on attachment 48591 [details] [diff] [review]
Proposed fix using the latest code.

sr=mscott
Attachment #48591 - Flags: superreview+

Comment 21

16 years ago
adding nsBranch+ keyword. 
Keywords: nsbranch → nsbranch+

Comment 22

16 years ago
r=naving
(Assignee)

Comment 23

16 years ago
Fix checked in on trunk.
(Assignee)

Comment 24

16 years ago
Forgot to change resolution.
Status: NEW → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED
(Assignee)

Comment 25

16 years ago
Reopen for nsBranch+ tracking purpose.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Updated

16 years ago
Blocks: 99508

Comment 26

16 years ago
moving into .9.5.
Target Milestone: --- → mozilla0.9.5

Comment 27

16 years ago
PDT+ per PDT meeting today. 
Whiteboard: PDT → PDT+
(Assignee)

Comment 28

16 years ago
Fix checked into branch.
Status: REOPENED → RESOLVED
Last Resolved: 16 years ago16 years ago
Resolution: --- → FIXED
(Reporter)

Comment 29

16 years ago
OK. Verified on WinNT 09-17-05-0.9.4 build.
Now, I search for list command when using a migrated profile with Personal 
Namespace specified, and it all displays as following:

-----------------------------------------------------------------------------
238[542f650]: buggy.mcom.com:S-INBOX:SendData: 68 list "" "INBOX.d1.%"
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.d1.d1-1
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.d1.d2
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 68 OK Completed
238[542f650]: buggy.mcom.com:S-INBOX:SendData: 69 list "" "INBOX.d1.%.%"
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.d1.d2.d2-1
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.d1.d2.d3
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 69 OK Completed
238[542f650]: buggy.mcom.com:S-INBOX:SendData: 70 list "" "INBOX.d1.d2.%"
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.d1.d2.d2-1
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.d1.d2.d3
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 70 OK Completed
238[542f650]: buggy.mcom.com:S-INBOX:SendData: 71 list "" "INBOX.d1.d2.%.%"
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.d1.d2.d3.d3-1
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: * LIST () "." 
INBOX.d1.d2.d3.d4
238[542f650]: buggy.mcom.com:S-INBOX:CreateNewLineFromSocket: 71 OK Completed
--------------------------------------------------------------------------------

Marking as verified.
Status: RESOLVED → VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.