summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2012-08-09 14:54:49 +0200
committerAleksander Machniak <alec@alec.pl>2012-08-09 14:54:49 +0200
commit23557f06d13f121a8483376dad1604eb30711a88 (patch)
tree410193aa35a61d6a6a619117802c58bcdca57be3
parent30833a2ad5a1a67ad1f3b874e9ff1cdab99b849a (diff)
- Fix (workaround) delete operations with some versions of memcache (#1488592)
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcube_cache.php9
-rw-r--r--program/include/rcube_session.php3
3 files changed, 9 insertions, 4 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 464bc40e4..6da5d24db 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix (workaround) delete operations with some versions of memcache (#1488592)
- Fix (disable) request validation for spell and spell_html actions
- Add new DB abstraction layer based on PHP PDO, supporting SQLite3 (#1488332)
- Removed PEAR::MDB2 package
diff --git a/program/include/rcube_cache.php b/program/include/rcube_cache.php
index 17a8859d8..cdb1dd52f 100644
--- a/program/include/rcube_cache.php
+++ b/program/include/rcube_cache.php
@@ -463,10 +463,13 @@ class rcube_cache
*/
private function delete_record($key, $index=true)
{
- if ($this->type == 'memcache')
- $this->db->delete($this->ckey($key));
- else
+ if ($this->type == 'memcache') {
+ // #1488592: use 2nd argument
+ $this->db->delete($this->ckey($key), 0);
+ }
+ else {
apc_delete($this->ckey($key));
+ }
if ($index) {
if (($idx = array_search($key, $this->index)) !== false) {
diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php
index e3b5600ca..b6a0ccf62 100644
--- a/program/include/rcube_session.php
+++ b/program/include/rcube_session.php
@@ -312,7 +312,8 @@ class rcube_session
public function mc_destroy($key)
{
if ($key) {
- $this->memcache->delete($key);
+ // #1488592: use 2nd argument
+ $this->memcache->delete($key, 0);
}
return true;