------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1064 Phil Pennock <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|Exim 4.74 |Exim 4.75 Git Commit <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #1 from Git Commit <[email protected]> 2011-01-30 16:17:13 --- Git commit: http://git.exim.org/exim.git/commitdiff/86ae49a65fce504ebcf9c30ddff213cca71fb872 commit 86ae49a65fce504ebcf9c30ddff213cca71fb872 Author: Nigel Metheringham <[email protected]> AuthorDate: Sun Jan 30 15:50:46 2011 +0000 Commit: Nigel Metheringham <[email protected]> CommitDate: Sun Jan 30 15:50:46 2011 +0000 Fix wide character breakage in the rfc2047 coding Fixes bug 1064 Patch frome Andrey N. Oktyabrski --- src/src/parse.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/src/parse.c b/src/src/parse.c index 09fcf98..805b443 100644 --- a/src/src/parse.c +++ b/src/src/parse.c @@ -876,6 +876,7 @@ uschar *s = string; uschar *p, *t; int hlen; BOOL coded = FALSE; +BOOL first_byte = FALSE; if (charset == NULL) charset = US"iso-8859-1"; @@ -893,7 +894,7 @@ for (; len > 0; len--) int ch = *s++; if (t > buffer + buffer_size - hlen - 8) break; - if (t - p > 70) + if ((t - p > 67) && !first_byte) { *t++ = '?'; *t++ = '='; @@ -907,14 +908,20 @@ for (; len > 0; len--) if (ch < 33 || ch > 126 || Ustrchr("?=()<>@,;:\\\".[]_", ch) != NULL) { - if (ch == ' ') *t++ = '_'; else + if (ch == ' ') + { + *t++ = '_'; + first_byte = FALSE; + } + else { sprintf(CS t, "=%02X", ch); while (*t != 0) t++; coded = TRUE; + first_byte = !first_byte; } } - else *t++ = ch; + else { *t++ = ch; first_byte = FALSE; } } *t++ = '?'; -- Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email -- ## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
