diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/include/main.inc | 8 |
2 files changed, 5 insertions, 4 deletions
@@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Fix charset names with X- prefix handling - Fix displaying of HTML messages with unknown/malformed tags (#1486003) RELEASE 0.3-RC1 diff --git a/program/include/main.inc b/program/include/main.inc index 09b8c78d4..f0201075b 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -309,20 +309,20 @@ function rcube_parse_charset($charset) 'ANSIX31101983' => 'WINDOWS-1252', 'ANSIX341968' => 'WINDOWS-1252', 'UNKNOWN8BIT' => 'ISO-8859-15', - 'XUNKNOWN' => 'ISO-8859-15', - 'XUSERDEFINED' => 'ISO-8859-15', + 'UNKNOWN' => 'ISO-8859-15', + 'USERDEFINED' => 'ISO-8859-15', 'KSC56011987' => 'EUC-KR', 'GB2312' => 'GBK', 'GB231280' => 'GBK', 'UNICODE' => 'UTF-8', 'UTF7IMAP' => 'UTF7-IMAP', - 'XXBIG5' => 'BIG5', 'TIS620' => 'WINDOWS-874', 'ISO88599' => 'WINDOWS-1254', 'ISO885911' => 'WINDOWS-874', ); - $str = preg_replace('/[^a-z0-9]/i', '', $charset); + // allow a-z and 0-9 only and remove X- prefix (e.g. X-ROMAN8 => ROMAN8) + $str = preg_replace(array('/[^a-z0-9]/i', '/^x+/i'), '', $charset); if (isset($aliases[$str])) return $aliases[$str]; |