summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalvatore Sanfilippo <antirez@gmail.com>2020-05-05 18:22:24 +0200
committerGitHub <noreply@github.com>2020-05-05 18:22:24 +0200
commit54cb8214d9bca268458752b3be92f038d4f52445 (patch)
tree468f7c5a8be6102d07814d96a1b7fb0d1125bd30
parent373a3384acb83e98f9a806b46e1dbb3a43d5f3a5 (diff)
parent93021da221f71cf71fe874fd881ea59f325b82f2 (diff)
downloadredis-54cb8214d9bca268458752b3be92f038d4f52445.tar.gz
Merge pull request #7175 from bsergean/bsergean-patch-1
redis-cli cluster reshard does not work with ACL (AUTH2 MIGRATE args un-implemented)
-rw-r--r--src/redis-cli.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/redis-cli.c b/src/redis-cli.c
index 880f3d70a..208f7b35d 100644
--- a/src/redis-cli.c
+++ b/src/redis-cli.c
@@ -3416,6 +3416,7 @@ static redisReply *clusterManagerMigrateKeysInReply(clusterManagerNode *source,
size_t *argv_len = NULL;
int c = (replace ? 8 : 7);
if (config.auth) c += 2;
+ if (config.user) c += 1;
size_t argc = c + reply->elements;
size_t i, offset = 6; // Keys Offset
argv = zcalloc(argc * sizeof(char *));
@@ -3442,12 +3443,24 @@ static redisReply *clusterManagerMigrateKeysInReply(clusterManagerNode *source,
offset++;
}
if (config.auth) {
- argv[offset] = "AUTH";
- argv_len[offset] = 4;
- offset++;
- argv[offset] = config.auth;
- argv_len[offset] = strlen(config.auth);
- offset++;
+ if (config.user) {
+ argv[offset] = "AUTH2";
+ argv_len[offset] = 5;
+ offset++;
+ argv[offset] = config.user;
+ argv_len[offset] = strlen(config.user);
+ offset++;
+ argv[offset] = config.auth;
+ argv_len[offset] = strlen(config.auth);
+ offset++;
+ } else {
+ argv[offset] = "AUTH";
+ argv_len[offset] = 4;
+ offset++;
+ argv[offset] = config.auth;
+ argv_len[offset] = strlen(config.auth);
+ offset++;
+ }
}
argv[offset] = "KEYS";
argv_len[offset] = 4;