diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-02-28 17:33:26 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-02-28 17:33:26 +0000 |
| commit | 1ab92f17679a82f2fabab83fec90058f5b600cf0 (patch) | |
| tree | fe8f0e7df639427fa9967e72b948a357b489ce9a /roundcubemail | |
| parent | 01e83241c807f1fcc73bb64b260dc70204d5d172 (diff) | |
- Fix parsing links with non-printable characters inside (#1487805)
git-svn-id: https://svn.roundcube.net/trunk@4580 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail')
| -rw-r--r-- | roundcubemail/CHANGELOG | 1 | ||||
| -rw-r--r-- | roundcubemail/program/lib/html2text.php | 6 | ||||
| -rw-r--r-- | roundcubemail/program/steps/mail/func.inc | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/roundcubemail/CHANGELOG b/roundcubemail/CHANGELOG index 95c0558bb..a72d8d6ce 100644 --- a/roundcubemail/CHANGELOG +++ b/roundcubemail/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix parsing links with non-printable characters inside (#1487805) - Force IE to send referers (#1487806) - Fixed de_CH Localization bugs (#1487773) - Better display of vcard import results (#1485457) diff --git a/roundcubemail/program/lib/html2text.php b/roundcubemail/program/lib/html2text.php index 3b98e8df7..325a1c941 100644 --- a/roundcubemail/program/lib/html2text.php +++ b/roundcubemail/program/lib/html2text.php @@ -652,10 +652,12 @@ class html2text case 'h': return $this->_strtoupper("\n\n". $matches[2] ."\n\n"); case 'a': - return $this->_build_link_list($matches[3], $matches[4]); + // Remove spaces in URL (#1487805) + $url = str_replace(' ', '', $matches[3]); + return $this->_build_link_list($url, $matches[4]); } } - + /** * Strtoupper multibyte wrapper function * diff --git a/roundcubemail/program/steps/mail/func.inc b/roundcubemail/program/steps/mail/func.inc index 9fa1e01fc..090317691 100644 --- a/roundcubemail/program/steps/mail/func.inc +++ b/roundcubemail/program/steps/mail/func.inc @@ -1200,6 +1200,9 @@ function rcmail_alter_html_link($matches) $attrib = parse_attrib_string($matches[2]); $end = '>'; + // Remove non-printable characters in URL (#1487805) + $attrib['href'] = preg_replace('/[\x00-\x1F]/', '', $attrib['href']); + if ($tag == 'link' && preg_match('/^https?:\/\//i', $attrib['href'])) { $tempurl = 'tmp-' . md5($attrib['href']) . '.css'; $_SESSION['modcssurls'][$tempurl] = $attrib['href']; |
