summaryrefslogtreecommitdiff
path: root/program/lib
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2013-10-10 23:03:01 +0200
committerThomas Bruederli <thomas@roundcube.net>2013-10-10 23:03:01 +0200
commita01f3b959abd9720ec1b33624cbd31bee4838c2b (patch)
tree1ad5812457031f386a335d2c7b13f1a646c4eb5d /program/lib
parente480ca00ba507ea1575bad7ffb824d8d72b666d4 (diff)
parent4136174517d426dcec74304ce004b4c845f075f5 (diff)
Merge branch 'master' of github.com:roundcube/roundcubemail
Diffstat (limited to 'program/lib')
-rw-r--r--program/lib/Roundcube/rcube_imap_generic.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/program/lib/Roundcube/rcube_imap_generic.php b/program/lib/Roundcube/rcube_imap_generic.php
index bce4cd4e2..f9a62f010 100644
--- a/program/lib/Roundcube/rcube_imap_generic.php
+++ b/program/lib/Roundcube/rcube_imap_generic.php
@@ -48,6 +48,8 @@ class rcube_imap_generic
'*' => '\\*',
);
+ public static $mupdate;
+
private $fp;
private $host;
private $logged = false;
@@ -3156,6 +3158,11 @@ class rcube_imap_generic
}
foreach ($data as $entry) {
+ // Workaround cyrus-murder bug, the entry[2] string needs to be escaped
+ if (self::$mupdate) {
+ $entry[2] = addcslashes($entry[2], '\\"');
+ }
+
// ANNOTATEMORE drafts before version 08 require quoted parameters
$entries[] = sprintf('%s (%s %s)', $this->escape($entry[0], true),
$this->escape($entry[1], true), $this->escape($entry[2], true));
@@ -3720,6 +3727,10 @@ class rcube_imap_generic
$this->prefs['literal+'] = true;
}
+ if (preg_match('/(\[| )MUPDATE=.*/', $str)) {
+ self::$mupdate = true;
+ }
+
if ($trusted) {
$this->capability_readed = true;
}