AUTH merged from Brian Hammond fork, reworked a bit to fix minor problems
This commit is contained in:
parent
abcb223ec0
commit
e63943a450
2
TODO
2
TODO
@ -1,7 +1,7 @@
|
|||||||
- Protocol changes as discussed in the Redis group
|
- Protocol changes as discussed in the Redis group
|
||||||
- keys expire
|
- keys expire
|
||||||
- sunion ssub
|
- sunion ssub
|
||||||
- write integers in a special way on disk (and on memory?)
|
- write integers in a special way on disk, use the unused 11|.... length.
|
||||||
- compact types for disk storing of short strings (no 4 bytes overhead!)
|
- compact types for disk storing of short strings (no 4 bytes overhead!)
|
||||||
- network layer stresser in test in demo
|
- network layer stresser in test in demo
|
||||||
- maxclients directive
|
- maxclients directive
|
||||||
|
11
redis.c
11
redis.c
@ -1099,10 +1099,6 @@ static int processCommand(redisClient *c) {
|
|||||||
addReplySds(c,sdsnew("-ERR wrong number of arguments\r\n"));
|
addReplySds(c,sdsnew("-ERR wrong number of arguments\r\n"));
|
||||||
resetClient(c);
|
resetClient(c);
|
||||||
return 1;
|
return 1;
|
||||||
} else if (server.requirepass && !c->authenticated && strcmp(c->argv[0]->ptr,"auth")) {
|
|
||||||
addReplySds(c,sdsnew("-ERR operation not permitted\r\n"));
|
|
||||||
resetClient(c);
|
|
||||||
return 1;
|
|
||||||
} else if (cmd->flags & REDIS_CMD_BULK && c->bulklen == -1) {
|
} else if (cmd->flags & REDIS_CMD_BULK && c->bulklen == -1) {
|
||||||
int bulklen = atoi(c->argv[c->argc-1]->ptr);
|
int bulklen = atoi(c->argv[c->argc-1]->ptr);
|
||||||
|
|
||||||
@ -1131,6 +1127,13 @@ static int processCommand(redisClient *c) {
|
|||||||
for(j = 1; j < c->argc; j++)
|
for(j = 1; j < c->argc; j++)
|
||||||
c->argv[j] = tryObjectSharing(c->argv[j]);
|
c->argv[j] = tryObjectSharing(c->argv[j]);
|
||||||
}
|
}
|
||||||
|
/* Check if the user is authenticated */
|
||||||
|
if (server.requirepass && !c->authenticated && cmd->proc != authCommand) {
|
||||||
|
addReplySds(c,sdsnew("-ERR operation not permitted\r\n"));
|
||||||
|
resetClient(c);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Exec the command */
|
/* Exec the command */
|
||||||
dirty = server.dirty;
|
dirty = server.dirty;
|
||||||
cmd->proc(c);
|
cmd->proc(c);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user