From f83d8687a7cd15dac61fd257d358eb42337d48e0 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 11 Mar 2017 21:39:32 +0100 Subject: [PATCH] database-redis: Support password authentication --- src/database-redis.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/database-redis.cpp b/src/database-redis.cpp index 3df186944..93e6717fa 100644 --- a/src/database-redis.cpp +++ b/src/database-redis.cpp @@ -53,6 +53,18 @@ Database_Redis::Database_Redis(Settings &conf) redisFree(ctx); throw DatabaseException(err); } + if (conf.exists("redis_password")) { + tmp = conf.get("redis_password"); + redisReply *reply = static_cast(redisCommand(ctx, "AUTH %s", tmp.c_str())); + if (!reply) + throw DatabaseException("Redis authentication failed"); + if (reply->type == REDIS_REPLY_ERROR) { + std::string err = "Redis authentication failed: " + std::string(reply->str, reply->len); + freeReplyObject(reply); + throw DatabaseException(err); + } + freeReplyObject(reply); + } } Database_Redis::~Database_Redis() -- 2.25.1