summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/include/rcube_imap.inc6
1 files changed, 5 insertions, 1 deletions
diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index bec429ff5..94f5017b8 100644
--- a/program/include/rcube_imap.inc
+++ b/program/include/rcube_imap.inc
@@ -1674,7 +1674,7 @@ class rcube_imap
if (is_array($mbox_name))
$a_mboxes = $mbox_name;
else if (is_string($mbox_name) && strlen($mbox_name))
- $a_mboxes = explode(',', $mbox_name);
+ $a_mboxes = (array)$mbox_name;
// let this common function do the main work
return $this->_change_subscription($a_mboxes, 'unsubscribe');
@@ -2335,6 +2335,10 @@ class rcube_imap
$pos = strpos($input, '=?');
if ($pos !== false)
{
+ // rfc: all line breaks or other characters not found in the Base64 Alphabet must be ignored by decoding software
+ // delete all blanks between MIME-lines, differently we can receive unnecessary blanks and broken utf-8 symbols
+ $input = preg_replace("/\?=\s+=\?/", '?==?', $input);
+
$out = substr($input, 0, $pos);
$end_cs_pos = strpos($input, "?", $pos+2);