Closed
Bug 274546
Opened 20 years ago
Closed 20 years ago
quota_data does not parse QUOTAROOT reponse per RFC
Categories
(Thunderbird :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: perry, Assigned: Bienvenu)
Details
Attachments
(1 file)
1.26 KB,
patch
|
mscott
:
superreview+
|
Details | Diff | Splinter Review |
Routine quota_data in source file nsImapServerResponseParser.cpp does not properly handle the QUOTAROOT response from a server. The intent is to just ignore the QUOTAROOT response (the real information it's interested in is in the QUOTA response). It attempts to consume the line by calling skip_to_CRLF. However, the Quota RFC, 2087, documents the tokens on the QUOTAROOT response as astrings. astrings are documented in the IMAP RFC 2060 (and follow on) as being either, atoms, quoted strings or literals. This means a server that sends the QUOTAROOT response with one or more literals will have it's response misparsed (eg: client send->3 getquotaroot "INBOX"<CRLF> server replies->* QUOTAROOT {5}<CRLF> INBOX PRUITER<CRLF> * QUOTA PRUITER (STORAGE 19 1500)<CRLF> 3 OK GETQUOTAROOT completed<CRLF> (I've purposely annotated where the CRLFs would be). So simply consuming the QUOTAROOT response up to the next CRLF leaves the literal and remainder of the response in the command stream. A parsing error results and Thunderbird closes the connection to the server. As it current stands, Thunderbird CAN NOT BE USED against any server that responds with a literal in the QUOTAROOT response (since it issues getquotaroot as part of login processing). This is why I flagged the bug as major. Looks to be fairly simple to fix. quota_data needs to be a little smarter about consuming the QUOTAROOT response. Unfortunately I have no clue how to go about this (the first time I looked at the Thunderbird source was a couple hours ago), but hopefully this can be fixed in short order. Thanks ... Perry
Assignee | ||
Comment 1•20 years ago
|
||
I'll look at this right away.
Assignee: mscott → bienvenu
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 2•20 years ago
|
||
skip over the quota root; also fix a memory leak in the quota string handling.
Attachment #168701 -
Flags: superreview?(mscott)
Updated•20 years ago
|
Attachment #168701 -
Flags: superreview?(mscott) → superreview+
Assignee | ||
Comment 3•20 years ago
|
||
fixed on trunk.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 4•18 years ago
|
||
cc'ing our parser expert
You need to log in
before you can comment on or make changes to this bug.
Description
•