Bug #5339
closedBug #5316: smtp: PreProcessCommands does not handle all the edge cases
PreProcessCommands does not handle all the edge cases (5.0.x backport)
Description
Issue
An edge case where <CRLF> came in fragmented for a line was not handled. This resulted in <CR> being treated as regular data byte and not as a part of the line end sequence. This particularly led to issues when base64 encoded data was processed by MIME and it could not handle the <CR> char as it relied on only receiving correct data from SMTP parser making file sizes different and inconsistent.
Context
As per RFC 2821 (SMTP),
a. Bare `CR` and `LF` have a long history of problems w mail implementations and applications.
b. An ideal SMTP client MUST NOT transmit `CR` and `LF` chars except when they are intended as line terminators and then also as `<CRLF>` sequence ONLY.
c. We should tolerate trailing `SP` before the terminating `<CRLF>`
Updated by Jeff Lucovsky over 2 years ago
- Copied from Bug #5316: smtp: PreProcessCommands does not handle all the edge cases added
Updated by Jeff Lucovsky over 2 years ago
- Subject changed from smtp: PreProcessCommands does not handle all the edge cases to Backport 5.0.x: smtp: PreProcessCommands does not handle all the edge cases
- Parent task set to #5316
Updated by Jeff Lucovsky over 2 years ago
- Subject changed from Backport 5.0.x: smtp: PreProcessCommands does not handle all the edge cases to PreProcessCommands does not handle all the edge cases (5.0.x backport)
Updated by Victor Julien over 2 years ago
- Status changed from Assigned to In Progress
- Assignee changed from Jeff Lucovsky to Victor Julien
Updated by Victor Julien over 2 years ago
- Status changed from In Progress to Closed
- Priority changed from High to Normal