From 2a520427bfd4d8972c641e90df5f92736f1dd2bb Mon Sep 17 00:00:00 2001 From: xisi Date: Sun, 16 Nov 2014 17:33:58 -0500 Subject: [PATCH] Preliminary support for Memcache SASL authentication --- include/admin_checks.php | 4 ++++ include/classes/statscache.class.php | 4 ++++ include/config/global.inc.dist.php | 3 +++ 3 files changed, 11 insertions(+) diff --git a/include/admin_checks.php b/include/admin_checks.php index 4ae439a7..0f5f7402 100644 --- a/include/admin_checks.php +++ b/include/admin_checks.php @@ -34,6 +34,10 @@ if (@$_SESSION['USERDATA']['is_admin'] && $user->isAdmin(@$_SESSION['USERDATA'][ } if (class_exists('Memcached')) { $memcache_test = @new Memcached(); + if ($config['memcache']['sasl']) { + $memcache_test->setOption(Memcached::OPT_BINARY_PROTOCOL, true); + $memcache_test->setSaslAuthData($config['memcache']['sasl']['username'], $config['memcache']['sasl']['password']); + } $memcache_test_add = @$memcache_test->addServer($config['memcache']['host'], $config['memcache']['port']); $randmctv = rand(5,10); $memcache_test_set = @$memcache_test->set('test_mpos_setval', $randmctv); diff --git a/include/classes/statscache.class.php b/include/classes/statscache.class.php index c17d8a74..c224dbe6 100644 --- a/include/classes/statscache.class.php +++ b/include/classes/statscache.class.php @@ -19,6 +19,10 @@ class StatsCache { require_once(CLASS_DIR . '/memcached.class.php'); } $this->cache = new Memcached(); + if ($config['memcache']['sasl']) { + $this->cache->setOption(Memcached::OPT_BINARY_PROTOCOL, true); + $this->cache->setSaslAuthData($config['memcache']['sasl']['username'], $config['memcache']['sasl']['password']) or die("failed!"); + } } } diff --git a/include/config/global.inc.dist.php b/include/config/global.inc.dist.php index 40aa975b..f35c9bf4 100644 --- a/include/config/global.inc.dist.php +++ b/include/config/global.inc.dist.php @@ -268,6 +268,9 @@ $config['memcache']['keyprefix'] = 'mpos_'; $config['memcache']['expiration'] = 90; $config['memcache']['splay'] = 15; $config['memcache']['force']['contrib_shares'] = false; +$config['memcache']['sasl'] = false; +$config['memcache']['sasl']['username'] = ''; +$config['memcache']['sasl']['password'] = ''; /** * Cookies