Lukas Reschke
78cad94ff4
Add support for Redis password auth
...
For enhanced security it is recommended to configure Redis to only accept connections with a password. (http://redis.io/topics/security )
This is especially critical since Redis supports the LUA scripting language and thus a simple SSRF vulnerability (as proven in http://benmmurphy.github.io/blog/2015/06/04/redis-eval-lua-sandbox-escape/ for example) may lead to a remote code execution.
2015-10-30 20:19:23 +01:00
Morris Jobke
8366ce2767
deduplicate @xenopathic
2015-10-06 09:52:19 +02:00
Morris Jobke
b945d71384
update licence headers via script
2015-10-05 21:15:52 +02:00
Robin McCorkell
b64e3f8db6
Fallback to complete Memcached flush if getAllKeys fails
...
Newer Memcached's do not support the underlying protocol commands that
getAllKeys() is implemented with. We should fallback to clearing
everything in that case, as causing (temporary) performance problems for
other applications on the server is better than having stale cached data.
2015-09-05 20:02:49 +01:00
Robin McCorkell
8efa23c895
Fix memcache factory unit tests
2015-07-16 03:53:18 +01:00
Robin McCorkell
7830434d78
Missing memcache should not cause occ hard-fail
...
Warning is now printed to logs, but occ and cron will still work.
2015-07-15 22:53:14 +01:00
Morris Jobke
f63915d0c8
update license headers and authors
2015-06-25 14:13:49 +02:00
Joas Schilling
7d8b728066
Merge pull request #16832 from owncloud/memcache-fail
...
Throw exception if memcache misconfigured or missing
2015-06-16 11:00:18 +02:00
Robin Appelman
a9ff242f6a
switch to using watch to implement cas and cad on redis
2015-06-12 17:28:09 +02:00
Robin Appelman
ac9f998abd
add compare-and-delete to the memcache interface
2015-06-12 17:28:09 +02:00
Robin Appelman
1bc56a99e9
compare-and-set and compare-and-delete using lua scripts for redis
2015-06-12 17:28:09 +02:00
Vincent Petry
3b08b26589
Throw exception if memcache misconfigured or missing
...
Instead of falling back to null memcache, throw exceptions.
Also throw file locking specific exceptions in case the class is not
available.
2015-06-12 12:33:06 +02:00
Thomas Müller
3090348bf7
Null -> NullCache
2015-06-11 00:44:13 +02:00
Thomas Müller
48e915c7be
Revert "Null -> NullCache"
...
This reverts commit ff24554e76
.
2015-06-11 00:40:26 +02:00
Thomas Müller
ff24554e76
Null -> NullCache
2015-06-11 00:34:03 +02:00
Joas Schilling
bdc82dcfb9
Check for redis to be 2.2.5+
2015-06-02 15:42:48 +02:00
Robin Appelman
6b965d71d1
add seperate config option for locking memcache backend
2015-06-01 13:22:56 +02:00
Vincent Petry
6df502a5aa
Fix Null memcache fallback to match interface
2015-06-01 13:22:56 +02:00
Vincent Petry
5edf294ce5
Add CAS methods to Null memcache
...
This prevents breaking ownCloud completely when memcache is not enabled
and the locking code is triggered
2015-06-01 13:22:56 +02:00
Robin Appelman
a40a237441
use trait for cas polyfill for xcache
2015-04-30 14:48:39 +02:00
Robin Appelman
acf30ede95
add compare and swap to memcache
2015-04-30 14:48:39 +02:00
Robin Appelman
29213b6136
extends memcache with add, inc and dec
2015-04-30 14:48:36 +02:00
Michael Telatynski
8ebf9de3f8
Memcache\Redis Add DB Select Functionality
2015-04-15 21:24:38 +01:00
Jenkins for ownCloud
b585d87d9d
Update license headers
2015-03-26 11:44:36 +01:00
Andreas Fischer
630b7edc54
Do not use APCu when apc.enabled is Off.
2015-03-25 14:52:01 +01:00
Lukas Reschke
c233f2c90b
Add version and path to cache prefix
...
Prevents to have the cache reused by other instances on the server which have possible the same instance ID and also invalidates older cache entries after an upgrade which can cause unwanted side-effects.
Impact for deployment: The same cache will only get used if ownCloud is installed with the same version and under the same path. But this should be a basic requirement anyways.
2015-03-17 12:39:49 +01:00
Robin McCorkell
78819da3bf
\OC\Memcache\Cache implements \OCP\ICache
2015-03-05 11:36:34 +00:00
Robin McCorkell
0e4933e6d2
Refactor \OC\Memcache\Factory
...
Caches divided up into two groups: distributed and local. 'Low latency' is an
alias for local caches, while the standard `create()` call tries to get
distributed caches first, then local caches.
Memcache backend is set in `config.php`, with the keys `memcache.local` and
`memcache.distributed`. If not set, `memcache.distributed` defaults to the value
of `memcache.local`.
2015-03-05 11:36:34 +00:00
Morris Jobke
06aef4e8b1
Revert "Updating license headers"
...
This reverts commit 6a1a4880f0
.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud
6a1a4880f0
Updating license headers
2015-02-23 12:13:59 +01:00
Lukas Reschke
cd4c064ebf
Revert "add debug log for memcache instantiation"
2015-02-18 14:16:14 +01:00
Lukas Reschke
b701bbd8c5
Use APCu only if available in version 4.0.6 and higher
...
APCu before 4.0.6 is unbelievable buggy and tend to segfault the PHP process (i.e. the whole webserver)
This potentially fixes https://github.com/owncloud/core/issues/14175
Requires a backport to stable8
2015-02-17 13:28:02 +01:00
Jörn Friedrich Dreyer
87db136508
add debug log for memcache instantiation
2015-02-16 18:05:43 +01:00
Joas Schilling
8848b5f067
Add an array implementation of cache and use it if we are not debugging
2015-02-16 14:55:50 +01:00
Joas Schilling
e25998df0f
Json_(en|de)code values on redis to be able to cache arrays
2015-01-20 10:51:27 +01:00
Robin McCorkell
17dd5d0816
Add Null memcacher
2015-01-09 13:18:00 +00:00
Andreas Fischer
0ba5c182f0
HHVM: In APC cache clear, only request the cache key in APCIterator.
...
The default value of the $format parameter of the APCIterator constructur is
APC_ITER_ALL which instructs the iterator to provide all available information
on cache values being iterated over. Only the key value is necessary for
matching and deletion via apc_delete(), though.
This prevents a "Format values FILENAME, DEVICE, INODE, MD5, NUM_HITS, MTIME,
CTIME, DTIME, ATIME, REFCOUNT not supported yet." notice on HHVM.
2014-12-19 03:24:00 +01:00
Morris Jobke
114a6464e8
Merge pull request #12748 from owncloud/redis_cache
...
Add Redis cache implementation, prefer over memcached, tests & config sample doc
2014-12-19 00:26:25 +01:00
Andreas Fischer
fcf3c5197f
HHVM: Add workaround for missing Memcached::deleteMulti()
2014-12-17 18:10:11 +01:00
Jörn Friedrich Dreyer
363e9667ec
Add Redis cache implementation, prefer over memcached, tests & config sample
2014-12-10 12:24:20 +01:00
Andreas Fischer
9be8ac5867
Memcache\Factory: Remove static, use globalPrefix.
2014-07-29 11:14:36 +02:00
Bart Visscher
88225db4af
Memcached hasKey should test for success, the get can fail for other reasons.
...
One of the other failures is no running server.
2014-05-08 18:11:29 +02:00
Thomas Müller
9fac95c2ab
Merge branch 'master' into scrutinizer_documentation_patches
...
Conflicts:
lib/private/appconfig.php
2014-02-14 23:03:27 +01:00
Andreas Fischer
bbfd97ce03
Merge pull request #6247 from owncloud/memcached-multiple-servers
...
Add support for multiple memcached servers.
* owncloud/memcached-multiple-servers:
Readd support for memcached_server config variable.
Add support for multiple memcached servers.
2014-02-08 14:21:19 +01:00
Jörn Friedrich Dreyer
2a6a9a8cef
polish documentation based on scrutinizer patches
2014-02-06 17:02:21 +01:00
icewind1991
a27529709b
Merge pull request #6647 from owncloud/memcache-public
...
Add Memcache to the public api
2014-02-04 05:38:53 -08:00
Robin Appelman
1ab7ca0a19
Fix some phpdoc errors and rename interface
2014-01-24 16:01:19 +01:00
Otto Sabart
2f8ebd03b0
Add check for apc.enabled option
...
Sometimes it's not possible to disable APC entirely and some of
apc_functions are disabled. Only thing which is possible is
to disable apc.enable option.
2014-01-24 15:52:28 +01:00
Andreas Fischer
acd81f6c69
Readd support for memcached_server config variable.
2014-01-10 00:57:40 +01:00
Andreas Fischer
320353c237
Add support for multiple memcached servers.
2014-01-10 00:57:34 +01:00