Skip to content

Fix Mbox export not quoting body lines starting with "From " (#10150) - #10288

Open
AR-Sebastian wants to merge 1 commit into
roundcube:masterfrom
AR-Sebastian:fix/zipdownload-mbox-from-escaping
Open

Fix Mbox export not quoting body lines starting with "From " (#10150)#10288
AR-Sebastian wants to merge 1 commit into
roundcube:masterfrom
AR-Sebastian:fix/zipdownload-mbox-from-escaping

Conversation

@AR-Sebastian

Copy link
Copy Markdown

The zipdownload Mbox stream filter quoted a "From " line only when it appeared at the very start of a stream bucket. Message bodies, however, are written to the stream in large chunks (rcube_imap_generic::handlePartBody() writes up to 1 MB at a time), not line by line, so interior "From " lines were never quoted, producing a corrupt Mbox where those lines could be misread as message delimiters.

Buffer the data across chunks and quote every complete line matching /^>*From /, keeping any incomplete trailing line for the next chunk and flushing it on close. Add a regression test covering single-chunk and byte-by-byte writes.

…be#10150)

The zipdownload Mbox stream filter quoted a "From " line only when it
appeared at the very start of a stream bucket. Message bodies, however,
are written to the stream in large chunks (rcube_imap_generic::handlePartBody()
writes up to 1 MB at a time), not line by line, so interior "From " lines
were never quoted, producing a corrupt Mbox where those lines could be
misread as message delimiters.

Buffer the data across chunks and quote every complete line matching
/^>*From /, keeping any incomplete trailing line for the next chunk and
flushing it on close. Add a regression test covering single-chunk and
byte-by-byte writes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant