Commit Graph

7832 Commits

Author SHA1 Message Date
antirez cca64672f4 ACL: AUTH uses users. ACL WHOAMI implemented. 2019-01-15 18:16:20 +01:00
antirez 35fe59935e ACL: automatically authenticate the nopass default user. 2019-01-15 17:57:49 +01:00
antirez 52e9922987 ACL: AUTH command new form, using the ACL subsystem. 2019-01-15 13:45:16 +01:00
antirez b39409bcf8 ACL: nopass user setting.
This is needed in order to model the current behavior of authenticating
the connection directly when no password is set. Now with ACLs this will
be obtained by setting the default user as "nopass" user. Moreover this
flag can be used in order to create other users that do not require any
password but will work with "AUTH username <any-password>".
2019-01-15 13:16:31 +01:00
antirez 4f7ff85b88 ACL: ability to set/remove user passwords. 2019-01-15 12:58:54 +01:00
antirez 7aea02fa87 ACL: initial implementation of the ACL command. 2019-01-15 09:36:12 +01:00
antirez a2e376ba52 ACL: ACLCheckCommandPerm() implementation WIP. 2019-01-14 18:35:21 +01:00
antirez 733438fe23 RESP3: Populate new fields for the AOF fake client.
However we should remove this fake client ad-hoc creation, and replace
it with the proper call to createClient(-1), and then adjust the fake
client as we like.
2019-01-14 17:01:49 +01:00
antirez 09391369b8 ACL: fix field name typo causing segfault. 2019-01-14 16:09:29 +01:00
antirez a0a4fb85ff ACL: Fix compilation by adding prototype and c->cmd fix. 2019-01-14 13:22:56 +01:00
antirez 2da2e452ab ACL: ACLLCOMMAND flags. 2019-01-14 13:21:21 +01:00
antirez 648411eb7d ACL: Add hook in processCommand() to check the ACLs before call(). 2019-01-14 13:20:45 +01:00
antirez f95152d4c8 ACL: Add skeleton for function checking ability to execute a command. 2019-01-14 13:19:50 +01:00
antirez 4376575d83 ACL: ACLSetUser(), add allcommands in comment. 2019-01-14 13:19:42 +01:00
antirez 67754ae021 ACL: ACLSetUser(), fix flag and add allcommands +@all opcode. 2019-01-14 13:18:12 +01:00
antirez e7d15e4820 ACL: implement to first trivial opcodes in ACLSetUser(). 2019-01-11 13:03:50 +01:00
antirez aced0328e3 ACL: avoid a radix tree lookup for the default user. 2019-01-11 11:32:41 +01:00
antirez 7f8314760a ACL: modify comment from PR. 2019-01-11 11:30:09 +01:00
Salvatore Sanfilippo 6078d85b52
Merge pull request #5769 from charsyam/feature/fix-segmentfault-when-server-starts
fix segmentfault when server start in unstable branch
2019-01-11 11:27:09 +01:00
antirez 4b72d087e9 ACL: ACLSetUser(), initial ideas in comments. 2019-01-11 11:25:55 +01:00
charsyam 45952df700 fix segmentfault when server start 2019-01-11 19:12:06 +09:00
antirez dc4f7ad106 ACL: create the default user. 2019-01-11 11:02:55 +01:00
antirez 6bb6a6d3a8 ACL: implement ACLCreateUser(). 2019-01-10 17:01:12 +01:00
antirez e4846b028d ACL: implement ACLGetUserByName(). 2019-01-10 16:40:45 +01:00
antirez 29c88a9ce5 ACL: initialization function. 2019-01-10 16:39:32 +01:00
antirez e9a902a958 ACL: split acl.c into clear sections. 2019-01-10 16:35:55 +01:00
antirez 4278104acc ACL: add a reference to the user in each client. 2019-01-10 16:34:13 +01:00
antirez 4729f71495 ACL: improved version of the user structure. 2019-01-10 12:47:52 +01:00
antirez 45ff9f33d6 ACL: ACLCheckUserCredentials() next id should be static. 2019-01-09 21:47:43 +01:00
antirez 7fc882c578 ACL: use a fixed table for command IDs. 2019-01-09 21:31:29 +01:00
antirez 010b24f864 ACL: set the command ID while populating the commands table. 2019-01-09 17:23:23 +01:00
antirez 91f1d8026b ACL: introduce the concept of command ID. 2019-01-09 17:20:47 +01:00
antirez 42271cff2d ACL: fix ACLCheckUserCredentials() usage in AUTH. 2019-01-09 17:09:30 +01:00
antirez f5d918b2bb ACL: HELLO should stop if the user is not authenticated. 2019-01-09 17:00:30 +01:00
antirez b43d70df56 ACL: refactoring of the original authentication code. 2019-01-09 17:00:30 +01:00
antirez 4d80b0e965 RESP3: allow HELLO during busy script and not authenticated states. 2019-01-09 17:00:30 +01:00
antirez 9018388c3f RESP3: Allow any command in RESP3 Pub/Sub mode. 2019-01-09 17:00:30 +01:00
antirez a4f8f4a824 RESP3: PING should reply normally in RESP3 Pub/Sub mode.
Because in RESP3 commands can be sent in the Pub/Sub connection without
problems, so it's better if in such mode there is no exception about
PING.
2019-01-09 17:00:30 +01:00
antirez eaaac08892 RESP3: Pubsub messages in new push format if client is in RESP3 mode. 2019-01-09 17:00:30 +01:00
antirez bc75a94e2d RESP3: pubsub messages API completely refactored. 2019-01-09 17:00:30 +01:00
antirez 798a329192 RESP3: extract code to send pubsub messages into functions. 2019-01-09 17:00:30 +01:00
antirez 709a6612eb RESP3: addReplyString() -> addReplyProto().
The function naming was totally nuts. Let's fix it as we break PRs
anyway with RESP3 refactoring and changes.
2019-01-09 17:00:30 +01:00
antirez 7d4b600f5d RESP3: redis-cli support for boolean in TTY output. 2019-01-09 17:00:30 +01:00
antirez dfa9d2c74c RESP3: hiredis: implement bool type. 2019-01-09 17:00:30 +01:00
antirez e291170385 RESP3: verbatim reply API + DEBUG PROTOCOL support. 2019-01-09 17:00:30 +01:00
antirez afba211297 RESP3: DEBUG PROTOCOL: boolean types. 2019-01-09 17:00:30 +01:00
antirez 8042afb246 RESP3: Fix addReplyBool() RESP2/3 output. 2019-01-09 17:00:30 +01:00
antirez 4e2dd54df0 RESP3: DEBUG PROTOCOL: fix strcasecmp() check. 2019-01-09 17:00:30 +01:00
antirez 795ad670f9 RESP3: DEBUG PROTOCOL command. Only types already supported by API. 2019-01-09 17:00:30 +01:00
antirez c3bf646ef3 RESP3: fix DEBUG DIGEST-VALUE with new API. 2019-01-09 17:00:30 +01:00