Permalink
Browse files

Add redis authentication support

  • Loading branch information...
1 parent 5c9cc27 commit 4614d5dc37f4fcab925d4f65dd14e67da52db4fe @biancalana committed Jul 6, 2012
Showing with 13 additions and 0 deletions.
  1. +13 −0 src/redis.c
View
@@ -54,6 +54,7 @@ struct redis_node_s
{
char name[MAX_REDIS_NODE_NAME];
char host[HOST_NAME_MAX];
+ char passwd[HOST_NAME_MAX];
int port;
int timeout;
@@ -136,6 +137,8 @@ static int redis_config_node (oconfig_item_t *ci) /* {{{ */
}
else if (strcasecmp ("Timeout", option->key) == 0)
status = cf_util_get_int (option, &rn.timeout);
+ else if (strcasecmp ("Passwd", option->key) == 0)
+ status = cf_util_get_string_buffer (option, rn.passwd, sizeof (rn.passwd));
else
WARNING ("redis plugin: Option `%s' not allowed inside a `Node' "
"block. I'll ignore this option.", option->key);
@@ -255,6 +258,16 @@ static int redis_read (void) /* {{{ */
continue;
}
+ if ( strlen(rn->passwd) > 0 ) {
+ DEBUG ("redis plugin: authenticanting node `%s' passwd(%s).", rn->name, rn->passwd);
+ if ( credis_auth(rh, rn->passwd) != 0 )
+ {
+ WARNING ("redis plugin: unable to authenticate on node `%s'.", rn->name);
+ credis_close (rh);
+ continue;
+ }
+ }
+
memset (&info, 0, sizeof (info));
status = credis_info (rh, &info);
if (status != 0)

0 comments on commit 4614d5d

Please sign in to comment.