zhaozhao.zz
0eee72b620
ACL: fix cat type format warning
2019-02-13 11:47:10 +08:00
antirez
d78a6fdcbd
ACL: CAT subcommand implemented.
2019-02-12 17:02:45 +01:00
antirez
7983f6e884
ACL: return error when removing a non existing password.
...
Otherwise it's very simple for an human mistake to think a password is
removed because of a typo in the ACL SETUSER myuser <somepass command
line.
2019-02-11 17:01:58 +01:00
antirez
3822a465f2
ACL: ACLFreeUserAndKillClients(): free user later.
...
Soon or later we may have code in freeClient() that may have to deal
with ACLs. Imagine for instance the command proposed multiple times (not
sure if this will ever be accepted but still...):
ONCLOSE DEL mykey
Accumulating commands to run when a client is disconnected. Now the
function is compatible with such use cases.
Related to #5829 .
2019-02-11 16:28:31 +01:00
zhaozhao.zz
5cfa46fd14
ACL: kill the old users clients after load aclfile
2019-02-11 16:26:00 +01:00
antirez
48423054ea
ACL: add command fingerprint for CAT subcommand.
2019-02-08 12:40:42 +01:00
antirez
fcd5ff1a76
ACL: add arity check in ACL command where missing.
2019-02-08 12:38:41 +01:00
antirez
66fd5e058f
ACL: ignore modules commands when adding categories.
...
We can't trust modules commands flagging, so module commands must be
always explicitly added, with the exception of +@all that will include
everything. However something like +@readonly should not include command
from modules that may be potentially dangerous: our categories must be
safe and reliable and modules may not be like that.
2019-02-08 11:50:39 +01:00
antirez
87ce87e68c
ACL: load ACL file at startup. Prevent silly configurations.
2019-02-07 17:20:03 +01:00
antirez
b1db13d8fa
ACL: ACLLoadFromFile(): several errors fixed to make it work.
2019-02-07 17:07:51 +01:00
antirez
434489abb7
ACL: ACLLoadFromFile(), restore DefaultUser global.
2019-02-07 17:00:35 +01:00
antirez
68d127d7b6
ACL: fix fgets wrong buffer size.
2019-02-07 16:53:41 +01:00
antirez
735cb69f12
ACL: add assertion and fix comment typo.
2019-02-07 16:47:14 +01:00
antirez
61c7688b75
ACL: fix a few ACLLoadFromFile() errors and finish ACLFreeUsersSet().
2019-02-07 16:20:49 +01:00
antirez
f7b86d2b8f
ACL: WIP: preserve the old config on loading errors.
2019-02-07 12:57:21 +01:00
antirez
dfb8b08f30
ACL: implement LOAD subcommand plus some minor rafactoring.
2019-02-07 12:20:30 +01:00
antirez
a980f6168e
ACL: fix and complete ACLLoadFromFile() loading step.
2019-02-07 12:04:25 +01:00
antirez
dc8605f944
ACL: now ACLLoadFromFile() validates against fake user.
2019-02-06 16:44:55 +01:00
antirez
1922f590d2
ACL: refactoring creation of unlinked users.
2019-02-06 16:19:17 +01:00
antirez
1050774a5b
ACL: initial design for ACLLoadFromFile() function.
2019-02-06 12:39:11 +01:00
antirez
83bb71e27c
ACL: change behavior of redefined user. Last line counts.
2019-02-05 10:52:05 +01:00
antirez
3aaed6dc39
ACL: fix user/rule inverted error message.
2019-02-04 16:58:35 +01:00
antirez
e3c8db819b
ACL: implement ACLLoadConfiguredUsers().
2019-02-04 16:35:15 +01:00
antirez
8dce634f5c
ACL: make ACLAppendUserForLoading() able to report bad argument.
2019-02-04 13:00:58 +01:00
antirez
73efcef7cb
ACL: initial appending of users in user loading list.
2019-02-04 12:55:48 +01:00
antirez
be0e1c0363
ACL: implement ACLAppendUserForLoading().
2019-02-01 13:02:59 +01:00
antirez
276a5f296c
ACL: skeleton and first ideas for postponed user loading.
2019-02-01 12:20:09 +01:00
antirez
fee5fa6f00
ACL: implement DELUSER.
2019-01-31 18:33:14 +01:00
antirez
1b257d00ca
ACL: check arity of LIST / USERS subcommand.
2019-01-31 18:32:49 +01:00
antirez
b351e6bca2
ACL: don't emit useless flags in ACLDescribeUser().
2019-01-31 17:04:42 +01:00
antirez
c2e174aacd
ACL: implement LIST and USERS subcommands.
2019-01-31 17:01:32 +01:00
antirez
2e2796f4ff
ACL: flags refactoring, function to describe user.
2019-01-31 16:49:22 +01:00
antirez
8cc57bb14c
ACL: add function to return ACLSetUser() string errors.
2019-01-30 16:02:25 +01:00
antirez
9c615d8b6d
ACL: don't allow patterns after the * pattern.
2019-01-30 15:59:45 +01:00
antirez
1cc239e516
ACL: implement keys field in ACL GETUSER.
2019-01-30 15:52:36 +01:00
antirez
8e8b92af60
ACL: free memory leak when freeing subcommands array.
2019-01-30 11:50:30 +01:00
antirez
af6455e73c
ACL: return error when adding subcommands of fully added commands.
...
It's almost certainly an error from the user side.
2019-01-30 08:25:12 +01:00
antirez
735c0b2cdc
ACL: remove leak in ACLSetUser().
2019-01-30 08:20:31 +01:00
antirez
b04576898a
ACL: ACLDescribeUserCommandRules(): emit subcommands.
2019-01-30 08:17:33 +01:00
antirez
2da78ff381
ACL: clear the subcommands array when setting category bits.
2019-01-30 08:09:05 +01:00
antirez
66374bfdae
ACL: finish/fix ACLDescribeUserCommandRules() first version.
2019-01-29 18:54:21 +01:00
antirez
54daf88c7a
ACL: ACLDescribeUserCommandRules(): add final commands.
2019-01-29 18:41:11 +01:00
antirez
fdab4184c5
ACL: initial design for ACLDescribeUserCommandRules() and helpers.
2019-01-29 17:25:05 +01:00
antirez
0fac4c665f
ACL: refactoring and fix of adding subcommands to users.
2019-01-28 18:40:54 +01:00
antirez
78ec341983
ACL: reset the subcommands table on +@all / -@all.
...
This also is a bugfix because after -@all the previously enabled
subcommands would remain valid.
2019-01-28 18:27:42 +01:00
antirez
59380e8c9f
ACL: fix crash when checking for subcommands.
2019-01-28 18:15:59 +01:00
antirez
5e3205ac83
ACL: remove leak when removing passwords/patterns.
2019-01-28 12:11:11 +01:00
antirez
af7ca7fb76
ACL: fix command bit check.
2019-01-26 12:51:43 +01:00
antirez
1b72830c3c
ACL: remove the ALLCOMMANDS user flag at a safer place.
...
This fixes -@<category> as a side effect.
2019-01-25 13:27:33 +01:00
antirez
f41290486d
ACL: fix command ID assignment off by one error.
2019-01-25 13:07:20 +01:00