Permalink
Browse files

AUTH merged from Brian Hammond fork, reworked a bit to fix minor prob…

…lems
  • Loading branch information...
antirez committed Mar 26, 2009
1 parent abcb223 commit e63943a4502a8173d395ccd273eebf0787090d9c
Showing with 8 additions and 5 deletions.
  1. +1 −1 TODO
  2. +7 −4 redis.c
View
2 TODO
@@ -1,7 +1,7 @@
- Protocol changes as discussed in the Redis group
- keys expire
- 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!)
- network layer stresser in test in demo
- maxclients directive
View
11 redis.c
@@ -1099,10 +1099,6 @@ static int processCommand(redisClient *c) {
addReplySds(c,sdsnew("-ERR wrong number of arguments\r\n"));
resetClient(c);
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) {
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++)
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 */
dirty = server.dirty;
cmd->proc(c);

0 comments on commit e63943a

Please sign in to comment.