ACL: fix command exec check by returning.
This commit is contained in:
parent
c79b01f4ba
commit
ff92c06947
14
src/server.c
14
src/server.c
@ -2596,6 +2596,14 @@ int processCommand(client *c) {
|
||||
return C_OK;
|
||||
}
|
||||
|
||||
/* Check if the user can run this command according to the current
|
||||
* ACLs. */
|
||||
if (ACLCheckCommandPerm(c) == C_ERR) {
|
||||
flagTransaction(c);
|
||||
addReplyErrorFormat(c,"-NOPERM this user has no permissions to run the %s command", c->cmd->name);
|
||||
return C_OK;
|
||||
}
|
||||
|
||||
/* If cluster is enabled perform the cluster redirection here.
|
||||
* However we don't perform the redirection if:
|
||||
* 1) The sender of this command is our master.
|
||||
@ -2688,12 +2696,6 @@ int processCommand(client *c) {
|
||||
return C_OK;
|
||||
}
|
||||
|
||||
/* Check if the user can run this command according to the current
|
||||
* ACLs. */
|
||||
if (ACLCheckCommandPerm(c) == C_ERR) {
|
||||
addReplyErrorFormat(c,"-NOPERM this user has no permissions to run the %s command", c->cmd->name);
|
||||
}
|
||||
|
||||
/* Only allow a subset of commands in the context of Pub/Sub if the
|
||||
* connection is in RESP2 mode. With RESP3 there are no limits. */
|
||||
if ((c->flags & CLIENT_PUBSUB && c->resp == 2) &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user