7741 Commits

Author SHA1 Message Date
antirez
26be458e05 ACL: configure the master connection without user. 2019-01-17 18:33:36 +01:00
antirez
7e73a1fbf3 ACL: AUTH + no default user password raises an error.
This way the behavior is very similar to the past one.
This is useful in order to remember the user she probably failed to
configure a password correctly.
2019-01-17 18:30:23 +01:00
antirez
a7ea1e7a2f ACL: change requirepass stop condition to use ACLs. 2019-01-17 18:22:22 +01:00
antirez
b77577114b ACL: partial implementation of ACL GETUSER. 2019-01-17 18:19:04 +01:00
antirez
03c4aa01ec ACL: reimplement requirepass option in term of ACLs. 2019-01-17 18:05:43 +01:00
antirez
dabd1e3bbb ACL: fix and improve ACL key checking. 2019-01-16 18:31:05 +01:00
antirez
58848500b1 ACL: create the user pattern list ASAP. 2019-01-16 13:50:00 +01:00
antirez
eb6cae0b72 ACL: key matching implemented. 2019-01-16 13:39:04 +01:00
antirez
21808e3720 ACL: implement the key match opcode in ACLSetUser(). 2019-01-16 13:29:04 +01:00
antirez
2906e9c196 ACL: fix command exec check by returning. 2019-01-15 18:28:43 +01:00
antirez
a2a8121ad8 ACL: the AUTH command can be always executed. 2019-01-15 18:26:44 +01:00
antirez
8cb696b953 ACL: AUTH uses users. ACL WHOAMI implemented. 2019-01-15 18:16:20 +01:00
antirez
cd421f85b8 ACL: automatically authenticate the nopass default user. 2019-01-15 17:57:49 +01:00
antirez
57fa4a2f01 ACL: AUTH command new form, using the ACL subsystem. 2019-01-15 13:45:16 +01:00
antirez
1cb8998a1c 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
115adf0049 ACL: ability to set/remove user passwords. 2019-01-15 12:58:54 +01:00
antirez
4d8991fdf4 ACL: initial implementation of the ACL command. 2019-01-15 09:36:12 +01:00
antirez
532049a9bc ACL: ACLCheckCommandPerm() implementation WIP. 2019-01-14 18:35:21 +01:00
antirez
fc85321233 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
45346c6766 ACL: fix field name typo causing segfault. 2019-01-14 16:09:29 +01:00
antirez
53053f5f30 ACL: Fix compilation by adding prototype and c->cmd fix. 2019-01-14 13:22:56 +01:00
antirez
b497dbb481 ACL: ACLLCOMMAND flags. 2019-01-14 13:21:21 +01:00
antirez
b9e5d4f575 ACL: Add hook in processCommand() to check the ACLs before call(). 2019-01-14 13:20:45 +01:00
antirez
f4b216d32b ACL: Add skeleton for function checking ability to execute a command. 2019-01-14 13:19:50 +01:00
antirez
79e57bb854 ACL: ACLSetUser(), add allcommands in comment. 2019-01-14 13:19:42 +01:00
antirez
31994ff365 ACL: ACLSetUser(), fix flag and add allcommands +@all opcode. 2019-01-14 13:18:12 +01:00
antirez
7822181e31 ACL: implement to first trivial opcodes in ACLSetUser(). 2019-01-11 13:03:50 +01:00
antirez
b2636ecdf5 ACL: avoid a radix tree lookup for the default user. 2019-01-11 11:32:41 +01:00
antirez
4890c2f5e9 ACL: modify comment from PR. 2019-01-11 11:30:09 +01:00
Salvatore Sanfilippo
2793edf8c7 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
efa8afedd7 ACL: ACLSetUser(), initial ideas in comments. 2019-01-11 11:25:55 +01:00
charsyam
e1ff6ef8e7 fix segmentfault when server start 2019-01-11 19:12:06 +09:00
antirez
3c538d0595 ACL: create the default user. 2019-01-11 11:02:55 +01:00
antirez
487b8fcbaa ACL: implement ACLCreateUser(). 2019-01-10 17:01:12 +01:00
antirez
f3ad8fc85e ACL: implement ACLGetUserByName(). 2019-01-10 16:40:45 +01:00
antirez
e75a2b8500 ACL: initialization function. 2019-01-10 16:39:32 +01:00
antirez
da1c642f83 ACL: split acl.c into clear sections. 2019-01-10 16:35:55 +01:00
antirez
6771d47230 ACL: add a reference to the user in each client. 2019-01-10 16:34:13 +01:00
antirez
9633476699 ACL: improved version of the user structure. 2019-01-10 12:47:52 +01:00
antirez
3a02107a18 ACL: ACLCheckUserCredentials() next id should be static. 2019-01-09 21:47:43 +01:00
antirez
cc5222bd7a ACL: use a fixed table for command IDs. 2019-01-09 21:31:29 +01:00
antirez
647a157eac ACL: set the command ID while populating the commands table. 2019-01-09 17:23:23 +01:00
antirez
a571c99587 ACL: introduce the concept of command ID. 2019-01-09 17:20:47 +01:00
antirez
50927b298e ACL: fix ACLCheckUserCredentials() usage in AUTH. 2019-01-09 17:09:30 +01:00
antirez
cb7b4154cd ACL: HELLO should stop if the user is not authenticated. 2019-01-09 17:00:30 +01:00
antirez
106977aaf9 ACL: refactoring of the original authentication code. 2019-01-09 17:00:30 +01:00
antirez
79c3d1355d RESP3: allow HELLO during busy script and not authenticated states. 2019-01-09 17:00:30 +01:00
antirez
26007b980a RESP3: Allow any command in RESP3 Pub/Sub mode. 2019-01-09 17:00:30 +01:00
antirez
736d38cf88 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
a57ea371bd RESP3: Pubsub messages in new push format if client is in RESP3 mode. 2019-01-09 17:00:30 +01:00