-
Notifications
You must be signed in to change notification settings - Fork 787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mails: suboptimal quoted-printable generation #328
Comments
Could you give an example of the bug and what a valid version of that header would look like, please? |
Line 3 is split between a multibyte encoding. Instead, something like
could be used. |
I may take a stab at this, it's vaguely related to something I was working on recently. |
I was just trying to reproduce this, but I didn't get any false rendering in both gmail and thunderbird |
It's been a bit better than two years since you filed this ticket including the following text:
I don't suppose you know or remember which two mail clients you saw rendering errors in? I agree with your reading of the RFC that splitting multibyte sequences across a line is technically permitted, while also being easy to imagine how a parser could get that wrong. I'd love to see a working demonstration of the problem. Thank you for your patience on this issue. |
Pretty amazing, I can't even evaluate that string in the lobste.rs rails console (though I can in other pry environments):
Looks like this issue: pry/pry-rails#69 as the comments note, it's related to the |
This is probably fixed now, thanks to some great spelunking by @briankung. If you're reading this comment because you got a mis-encoded email, please re-open and include:
|
lobste.rs sends mail where the entire value of a header is encoded as a single quoted-printable token and then split across lines. Possibly, this results in a UTF-8 multibyte sequence split across tokens,
which according to my reading of the RFCs is allowed, but resulted in at least two mail clients as rendering errors.
Perhaps a more clever version of qp can be implemented (or leveraged from some stdlib, but I couldn't find it.)
The text was updated successfully, but these errors were encountered: