efeebb616f
Merge pull request #5832 from soloestoy/show-client-user
...
ACL: show client's user
2019-02-12 09:42:14 +01:00
0f42447a0e
ACL: show client's user
2019-02-12 16:03:58 +08:00
85cadafabf
Merge pull request #5831 from lamby/x32-warnings
...
Don't assume the __x86_64__ pointer size to avoid warnings on x32
2019-02-11 17:17:14 +01:00
d0089cf208
Don't assume the __x86_64__ pointer size to avoid warnings on x32.
...
__x86_64__ is defined on the on the x32 architecture and the conditionals in
debug.c therefore assume the size of (void*) etc:
debug.c: In function 'getMcontextEip':
debug.c:757:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
^
debug.c: In function 'logRegisters':
debug.c:920:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
logStackContent((void**)uc->uc_mcontext.gregs[15]);
We can remedy this by checking for __ILP32__ first. See:
https://wiki.debian.org/ArchitectureSpecificsMemo
... for more info.
2019-02-11 17:12:27 +01:00
f0c7cfa459
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
f8a6132f15
ACL: refactor+fix AUTH check in processCommand().
...
The part that is fixed is that now if the default user is off whatever
is its configuration the user is not considered authenticated.
2019-02-11 16:47:02 +01:00
df346bca39
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
2ce96c0fa7
ACL: kill the old users clients after load aclfile
2019-02-11 16:26:00 +01:00
3df1eb85ca
ACL: add command fingerprint for CAT subcommand.
2019-02-08 12:40:42 +01:00
d453936b52
ACL: add arity check in ACL command where missing.
2019-02-08 12:38:41 +01:00
d4890c20c1
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
af8761e4f2
ACL: some documentation inside redis.conf.
2019-02-08 09:52:07 +01:00
80f987726d
ACL: load ACL file at startup. Prevent silly configurations.
2019-02-07 17:20:03 +01:00
db30727547
ACL: ACLLoadFromFile(): several errors fixed to make it work.
2019-02-07 17:07:51 +01:00
d26c9b5307
ACL: ACLLoadFromFile(), restore DefaultUser global.
2019-02-07 17:00:35 +01:00
6a7545e4d4
ACL: fix fgets wrong buffer size.
2019-02-07 16:53:41 +01:00
cbed35efd3
ACL: add assertion and fix comment typo.
2019-02-07 16:47:14 +01:00
7a86ba22e0
ACL: fix a few ACLLoadFromFile() errors and finish ACLFreeUsersSet().
2019-02-07 16:20:49 +01:00
1790be1496
ACL: WIP: preserve the old config on loading errors.
2019-02-07 12:57:21 +01:00
0f0240b526
ACL: implement LOAD subcommand plus some minor rafactoring.
2019-02-07 12:20:30 +01:00
72e8a080c2
ACL: fix and complete ACLLoadFromFile() loading step.
2019-02-07 12:04:25 +01:00
bbdf02338d
ACL: now ACLLoadFromFile() validates against fake user.
2019-02-06 16:44:55 +01:00
0d3fb9f7f1
ACL: refactoring creation of unlinked users.
2019-02-06 16:19:17 +01:00
e1e0f993d8
ACL: initial design for ACLLoadFromFile() function.
2019-02-06 12:39:11 +01:00
7604ab7118
ACL: redis.conf: mark old ACL-alike stuff as deprecated.
2019-02-05 17:59:05 +01:00
cc116736c1
ACL: ability to configure an external ACL file.
2019-02-05 17:49:52 +01:00
416c640156
ACL: change behavior of redefined user. Last line counts.
2019-02-05 10:52:05 +01:00
775bf6193d
ACL: implement rewriting of users in redis.conf.
2019-02-05 10:48:17 +01:00
2262dd184d
ACL: fix user/rule inverted error message.
2019-02-04 16:58:35 +01:00
623b17425e
ACL: load the defined users at server startup.
2019-02-04 16:39:07 +01:00
500b3e128f
ACL: implement ACLLoadConfiguredUsers().
2019-02-04 16:35:15 +01:00
68fd4a97fa
ACL: better error reporting in users configuration errors.
2019-02-04 13:04:35 +01:00
b166c41edd
ACL: make ACLAppendUserForLoading() able to report bad argument.
2019-02-04 13:00:58 +01:00
21e84cdae2
ACL: initial appending of users in user loading list.
2019-02-04 12:55:48 +01:00
8f16e1ea91
ACL: implement ACLAppendUserForLoading().
2019-02-01 13:02:59 +01:00
b8323d98e9
ACL: skeleton and first ideas for postponed user loading.
2019-02-01 12:20:09 +01:00
1769c22248
ACL: set modules help clients to the root user.
...
It does not make much sense to limit what modules can do: the admin
should instead limit what module commnads an user may call. So
RedisModule_Call() and other module operations should be able to execute
everything they want: the limitation should be posed by the API exported
by the module itself.
2019-02-01 11:37:28 +01:00
b6372f16c4
ACL: assign ACL command ID to modules commands.
2019-02-01 08:17:24 +01:00
ec1aee031c
ACL: implement DELUSER.
2019-01-31 18:33:14 +01:00
74b7afdf71
ACL: check arity of LIST / USERS subcommand.
2019-01-31 18:32:49 +01:00
bc9b118e05
ACL: don't emit useless flags in ACLDescribeUser().
2019-01-31 17:04:42 +01:00
0f1b06aa40
ACL: implement LIST and USERS subcommands.
2019-01-31 17:01:32 +01:00
c7cd10dfe9
ACL: flags refactoring, function to describe user.
2019-01-31 16:49:22 +01:00
479f7f7af4
ACL: add function to return ACLSetUser() string errors.
2019-01-30 16:02:25 +01:00
0960259835
ACL: don't allow patterns after the * pattern.
2019-01-30 15:59:45 +01:00
77471dfe86
ACL: implement keys field in ACL GETUSER.
2019-01-30 15:52:36 +01:00
f021da5e30
Acl: Test: check command rules synthesis.
2019-01-30 12:01:37 +01:00
9db2c84984
ACL: free memory leak when freeing subcommands array.
2019-01-30 11:50:30 +01:00
36a0168cfd
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
9c2e64db9c
ACL: remove leak in ACLSetUser().
2019-01-30 08:20:31 +01:00