diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-01-17 13:36:51 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-01-17 13:36:51 +0000 |
| commit | 9b06107f55a726f152dd093996b34f926eab123b (patch) | |
| tree | c0c34f712ee522471efc2b759a5842699b17c324 | |
| parent | f63d7675d829fedbaa12691f6ac498c525fd24b4 (diff) | |
- Workaround for setting charset in case of malformed bodystructure response (#1487700)
git-svn-id: https://svn.roundcube.net/trunk@4421 208e9e7b-5314-0410-a742-e7e81cd9613c
| -rw-r--r-- | roundcubemail/CHANGELOG | 1 | ||||
| -rw-r--r-- | roundcubemail/program/include/rcube_imap.php | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/roundcubemail/CHANGELOG b/roundcubemail/CHANGELOG index 28f6914fb..ec38b8ee7 100644 --- a/roundcubemail/CHANGELOG +++ b/roundcubemail/CHANGELOG @@ -4,6 +4,7 @@ CHANGELOG Roundcube Webmail - Fix login redirect issues (#1487686) - Require PHP 5.2.1 or greater - Fix %h/%z variables in username_domain option (#1487701) +- Workaround for setting charset in case of malformed bodystructure response (#1487700) RELEASE 0.5 ----------- diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php index efbd95f84..fa7998338 100644 --- a/roundcubemail/program/include/rcube_imap.php +++ b/roundcubemail/program/include/rcube_imap.php @@ -2053,7 +2053,7 @@ class rcube_imap return false; } - $struct = &$this->_structure_part($structure); + $struct = &$this->_structure_part($structure, 0, '', $headers); $struct->headers = get_object_vars($headers); // don't trust given content-type @@ -2185,6 +2185,11 @@ class rcube_imap $struct->charset = $struct->ctype_parameters['charset']; } + // #1487700: workaround for lack of charset in malformed structure + if (empty($struct->charset) && !empty($mime_headers) && $mime_headers->charset) { + $struct->charset = $mime_headers->charset; + } + // read content encoding if (!empty($part[5]) && $part[5]!='NIL') { $struct->encoding = strtolower($part[5]); |
