summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2019-01-21 18:21:02 +0100
committerantirez <antirez@gmail.com>2019-01-21 18:21:02 +0100
commit5d1ff23b63006b1292ca34e227e0af4aa0bb9807 (patch)
treedfd34098817e19f9e8184757ae3d91ffeb0aec30
parent0557539d01993490d172433035723aa6523bc49b (diff)
downloadredis-5d1ff23b63006b1292ca34e227e0af4aa0bb9807.tar.gz
ACL: setuser reset implemented.
-rw-r--r--src/acl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/acl.c b/src/acl.c
index 3c374631c..0a72ffb7c 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -342,6 +342,11 @@ int ACLSetUser(user *u, const char *op, ssize_t oplen) {
ACLSetUserCommandBit(u,id,0);
u->flags &= ~USER_FLAG_ALLCOMMANDS;
ACLResetSubcommandsForCommand(u,id);
+ } else if (!strcasecmp(op,"reset")) {
+ serverAssert(ACLSetUser(u,"resetpass",-1) == C_OK);
+ serverAssert(ACLSetUser(u,"resetkeys",-1) == C_OK);
+ serverAssert(ACLSetUser(u,"off",-1) == C_OK);
+ serverAssert(ACLSetUser(u,"-@all",-1) == C_OK);
} else {
errno = EINVAL;
return C_ERR;