Closed Bug 17681 Opened 25 years ago Closed 25 years ago

IMAP: creating <\.....\> generates incorrect protocol

Categories

(MailNews Core :: Networking, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: jgmyers, Assigned: Bienvenu)

Details

Selecting an IMAP mail folder, then trying to create the mail folder named

<\.....\>

I get the following IMAP protocol in the server's telemetry log:

14 create "</...../"

Notice that the backslashes have been changed to forward slashes and the
trailing ">" has been truncated
QA Contact: lchiang → huang
Status: NEW → ASSIGNED
Target Milestone: M12
accepting, marking m12 for now.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
problem was necko url code was converting '\' to '/', so we need to escape the
folder names first. We still have a problem trying to create the .msf file
because we're not munging illegal char names. I'll file a separate bug for that.
Now the only problem is that Mozilla crasches when it tries to read the
folderlist from an IMAP account that has a folder named: </.....
crashes, or asserts? I see an assert, but I've never seen a crash.
I have a folder named < and one named </.....

When I check for mail I'm getting this crash:
MOZILLA caused an invalid page fault in
module XPCOM.DLL at 0167:60b6226b.
Registers:
EAX=00000000 CS=0167 EIP=60b6226b EFLGS=00010206
EBX=00000000 SS=016f ESP=0063f26c EBP=0063f374
ECX=000000a1 DS=016f ESI=018193b4 FS=1a67
EDX=81652f2c ES=016f EDI=018193b4 GS=0000
Bytes at CS:EIP:
80 38 00 74 08 50 8b ce e8 1e fa ff ff 5e c9 c3
Stack dump:
018193b0 00000000 0063f2f8 0063fc08 7800ef03 7802e248 00000000 00000000 780012d9
00000041 780012c2 00000041 00000000 60ac6fdb 00000041 60b55242
Status: RESOLVED → REOPENED
This is NOT resolved!!!!
My Mozilla client STILL crashes!
Status: REOPENED → RESOLVED
Closed: 25 years ago25 years ago
No, it's resolved because we are generating correct protocol now. Your crash is
a seperate problem, that I have not been able to reproduce. Have you been able
to narrow it down to the folder named '<' or the one named '</.....  ?
Yes I've narrowed it down to having a folder named '<' and one named named
'</.....'

My IMAP server is a InterMail (software.com) version 4.

This is the output from my imfolderlist command:
$ imfolderlist hege16@webmail.mime.dk -s

Account hege16@webmail.mime.dk, Message Store 99100101,
Folder /INBOX contains 1 message(s):

0:To: "'hege16@webmail.mime.dk'" <hege16@webmail.mime.dk>
0:From: =?iso-8859-1?Q?Lars_H=F8jberg?= <laho@int.tele.dk>
0:Subject: Velkommen
0:Date: Fri, 1 Oct 1999 09:26:08 +0200
0:Message-Id: <C248D0021BF1D211A7410000F8D08BDE1D358E@tarkin.ost.tele.dk>

 -------------------------------------------------------------------------

Account hege16@webmail.mime.dk, Message Store 99100101,
Folder /INBOX/< contains 0 message(s):

 -------------------------------------------------------------------------

Account hege16@webmail.mime.dk, Message Store 99100101,
Folder /INBOX/</..... contains 0 message(s):

 -------------------------------------------------------------------------
Is '/' your hierarchy delimiter? Is '</.....' a sub-folder of '<'? It is for me
on my Netscape imap server, and I don't have a problem with either folder, or
getting new mail. Have you tried starting with a new mozilla profile? (it's a
long shot, but it might help). You could also send me (or attach to this bug) a
client protocol log by setting the following environment variables:

NSPR_LOG_FILE=c:\tmp\imapio.txt
NSPR_LOG_MODULES=IMAP:5

and re-rerunning mozilla. This will tell us how far we get talking to the server
before we crash, by writing out all the communication between the client and
server into c:\tmp\imapio.txt (c:\tmp must exist, or you can specify another
directory that does exist).
Here's the output from the imapio.txt file:
-280579[153e0a0]: fep2.sprawl.dk:NA:CreateNewLineFromSocket: * OK IMAP4 server
(InterMail vM.4.01.02.00 201-229-116) ready Thu, 16 Dec 1999 18:58:45 +0100
(MET)
 -280579[153e0a0]: fep2.sprawl.dk:NA:SendData: 1 capability
 -280579[153e0a0]: fep2.sprawl.dk:NA:CreateNewLineFromSocket: * CAPABILITY
IMAP4rev1 UIDPLUS
 -280579[153e0a0]: fep2.sprawl.dk:NA:CreateNewLineFromSocket: 1 OK CAPABILITY
completed
 -280579[153e0a0]: fep2.sprawl.dk:NA:SendData: 2 login "hege16"
"this_is_not_my_real_password"
 -280579[153e0a0]: fep2.sprawl.dk:NA:CreateNewLineFromSocket: 2 OK LOGIN
completed
 -280579[153e0a0]: fep2.sprawl.dk:A:SendData: 3 lsub "" "*"
 -280579[153e0a0]: fep2.sprawl.dk:A:CreateNewLineFromSocket: * LSUB () "/"
"INBOX"
 -280579[153e0a0]: fep2.sprawl.dk:A:CreateNewLineFromSocket: * LSUB () "/"
"SentMail"
 -280579[153e0a0]: fep2.sprawl.dk:A:CreateNewLineFromSocket: * LSUB () "/"
"Trash"
 -280579[153e0a0]: fep2.sprawl.dk:A:CreateNewLineFromSocket: * LSUB () "/"
"INBOX/<"
 -280579[153e0a0]: fep2.sprawl.dk:A:CreateNewLineFromSocket: * LSUB () "/"
"INBOX/</....."
Do we suppose to allow users to create the folders name (no matter IMAP or POP)
for this kind of folders' name? Shouldn't it display an error? Even this is
working on 4.7...I am wondering know what's the requirements/rules for creating
the folders' names for 5.0. Cc:Jennifer, do we have any limitation/rules for
creating folders?
these foldernames in this particular case are legal. To answer your question,
though, we should prevent the user from creating folders with illegal names,
like we did in 4.5
Agree with bienvenu.  Only allow users to create folder names that are legal.  I
assume certain types of servers determine what is legal and what is not.
OK. Thanks. David or Jennifer - where I can find the information regarding to
folders'illegal names?... So I can include the tests for preventing the user
from creating folders with illegal names of different/certain types of servers.
I honestly don't know this one.  Hopefully David can answer this one.
David,
Used WinNT 12-21-00-M12 commercial build:
From the WinNT, I can see the "<\.....\>" displayed correctly in the IMAP
protocol log file now.....

But, how about from the GUI interface, it seemed that it displayed correctly on
the log file, but from the GUI - I saw ">" instead of the "<\.....\>". Is that
right?
Also, shouldn't this bug apply to other platforms even this bug is only opened
for WinNT?
Status: RESOLVED → VERIFIED
OK. Since I need to move to M13, I already logged another bug#22474 for keep
track for this bug. Please refer to bug#22474 for more detail and I am marking
this bug as verified since it had been fixed on the WinNT IMAP log file.
Do you mean you saw "<" instead of "<\.....>"? That's because "\" is a hierarchy
separator - it indicates a parent-sub-folder relationship, where "<" is the
parent folder, and .....> is the sub-folder.
If so, why the folder name "<\.....\>" can be created from the 4.7 UI?
I can see on the 4.7:The folder has been created consistently with the IMAP log
by using the "<\.....\>" folder name.
As to what folder names are illegal:



There are not many folder names that are illegal per the IMAP protocol.  Many

"illegal" names are only so per server knowledge.



The characters "*" "%" and "?" should be considered illegal in a folder name

since they are IMAP wildcards.



The mail code should deal with doing M-UTF-7 quoting when necessary, so there is

no need to test for illegal M-UTF-7 names or names with the high bit set.



A folder name cannot end with a hierarchy separator.  In IMAP, a request to

CREATE a name which ends with a hierarchy separator is a request to create a

directory.



You cannot create a subfolder of a \NoInferiors folder.
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.