HELLO without protover

Signed-off-by: xhe <xw897002528@gmail.com>
This commit is contained in:
xhe 2020-12-24 13:13:25 +08:00
parent b3dc23c5a8
commit 2e8f8c9b0c
3 changed files with 7 additions and 8 deletions

View File

@ -2758,18 +2758,17 @@ NULL
}
}
/* HELLO <protocol-version> [AUTH <user> <password>] [SETNAME <name>] */
/* HELLO [protocol-version] [AUTH <user> <password>] [SETNAME <name>] */
void helloCommand(client *c) {
long long ver;
long long ver = 0;
if (getLongLongFromObject(c->argv[1],&ver) != C_OK ||
(ver != 0 && ver < 2) || ver > 3)
{
if (c->argc >= 2 && getLongLongFromObject(c->argv[1],&ver) == C_OK &&
(ver < 2 || ver > 3)) {
addReplyError(c,"-NOPROTO unsupported protocol version");
return;
}
for (int j = 2; j < c->argc; j++) {
for (int j = ver == 0 ? 1 : 2; j < c->argc; j++) {
int moreargs = (c->argc-1) - j;
const char *opt = c->argv[j]->ptr;
if (!strcasecmp(opt,"AUTH") && moreargs >= 2) {

View File

@ -469,7 +469,7 @@ struct redisCommand sentinelcmds[] = {
{"client",clientCommand,-2,"admin random @connection",0,NULL,0,0,0,0,0},
{"shutdown",shutdownCommand,-1,"admin",0,NULL,0,0,0,0,0},
{"auth",authCommand,-2,"no-auth fast @connection",0,NULL,0,0,0,0,0},
{"hello",helloCommand,-2,"no-auth fast @connection",0,NULL,0,0,0,0,0},
{"hello",helloCommand,-1,"no-auth fast @connection",0,NULL,0,0,0,0,0},
{"acl",aclCommand,-2,"admin",0,NULL,0,0,0,0,0,0},
{"command",commandCommand,-1, "random @connection", 0,NULL,0,0,0,0,0,0}
};

View File

@ -869,7 +869,7 @@ struct redisCommand redisCommandTable[] = {
"admin no-script random ok-loading ok-stale @connection",
0,NULL,0,0,0,0,0,0},
{"hello",helloCommand,-2,
{"hello",helloCommand,-1,
"no-auth no-script fast no-monitor ok-loading ok-stale no-slowlog @connection",
0,NULL,0,0,0,0,0,0},