Commit dbdc68a6 authored by antirez's avatar antirez
Browse files

ACL: handle command IDs in case insensitive way.

parent 94460440
...@@ -284,10 +284,17 @@ unsigned long ACLGetCommandID(const char *cmdname) { ...@@ -284,10 +284,17 @@ unsigned long ACLGetCommandID(const char *cmdname) {
static rax *map = NULL; static rax *map = NULL;
static unsigned long nextid = 0; static unsigned long nextid = 0;
sds lowername = sdsnew(cmdname);
sdstolower(lowername);
if (map == NULL) map = raxNew(); if (map == NULL) map = raxNew();
void *id = raxFind(map,(unsigned char*)cmdname,strlen(cmdname)); void *id = raxFind(map,(unsigned char*)lowername,sdslen(lowername));
if (id != raxNotFound) return (unsigned long)id; if (id != raxNotFound) {
raxInsert(map,(unsigned char*)cmdname,strlen(cmdname),(void*)nextid,NULL); sdsfree(lowername);
return (unsigned long)id;
}
raxInsert(map,(unsigned char*)lowername,strlen(lowername),
(void*)nextid,NULL);
sdsfree(lowername);
return nextid++; return nextid++;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment