Closed Bug 322863 Opened 15 years ago Closed 15 years ago

Properly implement parsing of IMAP |atom| and |astring|

Categories

(MailNews Core :: Networking: IMAP, defect)

All
Windows 95
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: engel, Assigned: engel)

References

Details

(Keywords: fixed1.8.1)

Attachments

(1 file)

According to RFC 3501, the characters "()}%*\"" cannot be part of an |atom| or an |astring|.  This should be taken into account in |nsIMAPGenericParser|.

This would also fix the problem encountered in Bug 321239.
For tracking down problems in IMAP protocol handling, it is helpful if the types of parsing errors are reported.  This patch also contains an implementation of such reporting.
Status: NEW → ASSIGNED
Depends on: 312599
Blocks: 312599
No longer depends on: 312599
Attachment #208032 - Flags: review?(bienvenu)
I checked the corresponding implementation in pine4; it also uses a restricted character set when parsing atoms/astrings.
OK, trying this out now, Thx,Hans.
fixed on trunk. I'll land on the 1.8.1 branch if everything goes OK on the trunk. Thx, Hans. I also added you as a contributer to the two cpp files changed in your patch.
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
after this patch I'm unable to read any IMAP messages due to:

S-INBOX.Barcelona:CreateNewLineFromSocket: * QUOTAROOT INBOX.Barcelona
S-INBOX.Barcelona:PARSER:Internal Syntax Error: %s:: no atom characters found
S-INBOX.Barcelona:PARSER:Internal Syntax Error on line: %s: * QUOTAROOT INBOX.Barcelona

I've opened bug 327754 on this issue
(In reply to comment #4)
> fixed on trunk. I'll land on the 1.8.1 branch if everything goes OK on the
> trunk. Thx, Hans. I also added you as a contributer to the two cpp files
> changed in your patch.

There's a regression in bug 327755 that I filed...
Arg, Henrik and I collided.  I'll DUP my bug to his, no sweat.
Depends on: 327754
Keywords: fixed1.8.1
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.