summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2012-03-09 07:43:19 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2012-03-09 07:43:19 +0000
commitc8b5cc14b7276df642a1d1fe9c6849ef092ef185 (patch)
treeeb20f9e68ac92cf890ea54d852d21b9a14dc14a0
parent9ea0259cde9aa86935da85f44b7a0a818cc18e1c (diff)
- Fix encoding of attachment with comma in name (#1488389)
git-svn-id: https://svn.roundcube.net/trunk@5990 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/CHANGELOG1
-rw-r--r--roundcubemail/program/lib/Mail/mime.php4
-rw-r--r--roundcubemail/program/lib/Mail/mimePart.php6
3 files changed, 6 insertions, 5 deletions
diff --git a/roundcubemail/CHANGELOG b/roundcubemail/CHANGELOG
index 94f537563..5a704d705 100644
--- a/roundcubemail/CHANGELOG
+++ b/roundcubemail/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix encoding of attachment with comma in name (#1488389)
- Scroll long lists on drag&drop (#1485946)
- Fix handling of % character in IMAP protocol (#1488382)
- Fix duplicate names handling in addressbook searches (#1488375)
diff --git a/roundcubemail/program/lib/Mail/mime.php b/roundcubemail/program/lib/Mail/mime.php
index c5dd305fa..cc72f5b29 100644
--- a/roundcubemail/program/lib/Mail/mime.php
+++ b/roundcubemail/program/lib/Mail/mime.php
@@ -1142,8 +1142,8 @@ class Mail_mime
? $this->_build_params['eol'] : "\r\n";
// add parameters
- $token_regexp = '#([^\x21,\x23-\x27,\x2A,\x2B,\x2D'
- . ',\x2E,\x30-\x39,\x41-\x5A,\x5E-\x7E])#';
+ $token_regexp = '#([^\x21\x23-\x27\x2A\x2B\x2D'
+ . '\x2E\x30-\x39\x41-\x5A\x5E-\x7E])#';
if (is_array($params)) {
foreach ($params as $name => $value) {
if ($name == 'boundary') {
diff --git a/roundcubemail/program/lib/Mail/mimePart.php b/roundcubemail/program/lib/Mail/mimePart.php
index 036ce74a2..a1cf111de 100644
--- a/roundcubemail/program/lib/Mail/mimePart.php
+++ b/roundcubemail/program/lib/Mail/mimePart.php
@@ -639,8 +639,8 @@ class Mail_mimePart
// RFC 2045:
// value needs encoding if contains non-ASCII chars or is longer than 78 chars
if (!preg_match('#[^\x20-\x7E]#', $value)) {
- $token_regexp = '#([^\x21,\x23-\x27,\x2A,\x2B,\x2D'
- . ',\x2E,\x30-\x39,\x41-\x5A,\x5E-\x7E])#';
+ $token_regexp = '#([^\x21\x23-\x27\x2A\x2B\x2D'
+ . '\x2E\x30-\x39\x41-\x5A\x5E-\x7E])#';
if (!preg_match($token_regexp, $value)) {
// token
if (strlen($name) + strlen($value) + 3 <= $maxLength) {
@@ -662,7 +662,7 @@ class Mail_mimePart
// RFC2231:
$encValue = preg_replace_callback(
- '/([^\x21,\x23,\x24,\x26,\x2B,\x2D,\x2E,\x30-\x39,\x41-\x5A,\x5E-\x7E])/',
+ '/([^\x21\x23\x24\x26\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E-\x7E])/',
array($this, '_encodeReplaceCallback'), $value
);
$value = "$charset'$language'$encValue";