antirez
f311a529be
Make PR #5872 more compatible with Redis coding style.
2019-02-27 09:34:50 +01:00
Salvatore Sanfilippo
0dcb003887
Merge pull request #5872 from madolson/dev-unstable-acl-setuser-fix
...
Updated acl setuser to be all or nothing
2019-02-27 09:31:57 +01:00
Madelyn Olson
075a3b8893
Updated acl setuser to be all or nothing
2019-02-26 02:04:29 +00:00
antirez
36d1588215
ACL: authCommand() refactored into ACLAuthenticateUser().
2019-02-25 16:39:44 +01:00
antirez
87594a7470
ACL: move AUTH implementation in acl.c.
2019-02-25 16:33:38 +01:00
antirez
07473feaeb
ACL: fix ACLSaveToFile() return value.
2019-02-22 12:45:13 +01:00
antirez
2bea3929d0
ACL: less error prone error handling in ACLSaveToFile().
2019-02-22 12:43:08 +01:00
Salvatore Sanfilippo
21b8560e95
Merge pull request #5858 from madolson/dev-unstable-acl-deluser
...
Making deleting users better defined and update documentation
2019-02-22 10:27:37 +01:00
Madelyn Olson
fdc4003d23
Making deleting users better defined and update documentation
2019-02-21 21:34:14 +00:00
antirez
291e6bccf3
ACL: remove leak in ACLLoadFromFile().
2019-02-21 17:03:06 +01:00
antirez
91aecf0138
ACL: implement ACL SAVE.
2019-02-21 17:01:08 +01:00
antirez
484af7aa7a
ACL: ACLSaveToFile() implemented.
2019-02-21 16:50:28 +01:00
antirez
e4f3a2eecd
ACL: add LOAD subcommand to ACL HELP.
2019-02-21 16:31:33 +01:00
zhaozhao.zz
14507457a0
ACL: show categories in COMMAND reply
...
Adding another new filed categories at the end of
command reply, it's easy to read and distinguish
flags and categories, also compatible with old format.
2019-02-14 00:13:01 +08:00
zhaozhao.zz
a65094dae8
ACL: fix cat type format warning
2019-02-13 11:47:10 +08:00
antirez
b9c97c0b2e
ACL: CAT subcommand implemented.
2019-02-12 17:02:45 +01:00
antirez
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
antirez
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
zhaozhao.zz
2ce96c0fa7
ACL: kill the old users clients after load aclfile
2019-02-11 16:26:00 +01:00
antirez
3df1eb85ca
ACL: add command fingerprint for CAT subcommand.
2019-02-08 12:40:42 +01:00
antirez
d453936b52
ACL: add arity check in ACL command where missing.
2019-02-08 12:38:41 +01:00
antirez
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
antirez
80f987726d
ACL: load ACL file at startup. Prevent silly configurations.
2019-02-07 17:20:03 +01:00
antirez
db30727547
ACL: ACLLoadFromFile(): several errors fixed to make it work.
2019-02-07 17:07:51 +01:00
antirez
d26c9b5307
ACL: ACLLoadFromFile(), restore DefaultUser global.
2019-02-07 17:00:35 +01:00
antirez
6a7545e4d4
ACL: fix fgets wrong buffer size.
2019-02-07 16:53:41 +01:00
antirez
cbed35efd3
ACL: add assertion and fix comment typo.
2019-02-07 16:47:14 +01:00
antirez
7a86ba22e0
ACL: fix a few ACLLoadFromFile() errors and finish ACLFreeUsersSet().
2019-02-07 16:20:49 +01:00
antirez
1790be1496
ACL: WIP: preserve the old config on loading errors.
2019-02-07 12:57:21 +01:00
antirez
0f0240b526
ACL: implement LOAD subcommand plus some minor rafactoring.
2019-02-07 12:20:30 +01:00
antirez
72e8a080c2
ACL: fix and complete ACLLoadFromFile() loading step.
2019-02-07 12:04:25 +01:00
antirez
bbdf02338d
ACL: now ACLLoadFromFile() validates against fake user.
2019-02-06 16:44:55 +01:00
antirez
0d3fb9f7f1
ACL: refactoring creation of unlinked users.
2019-02-06 16:19:17 +01:00
antirez
e1e0f993d8
ACL: initial design for ACLLoadFromFile() function.
2019-02-06 12:39:11 +01:00
antirez
416c640156
ACL: change behavior of redefined user. Last line counts.
2019-02-05 10:52:05 +01:00
antirez
2262dd184d
ACL: fix user/rule inverted error message.
2019-02-04 16:58:35 +01:00
antirez
500b3e128f
ACL: implement ACLLoadConfiguredUsers().
2019-02-04 16:35:15 +01:00
antirez
b166c41edd
ACL: make ACLAppendUserForLoading() able to report bad argument.
2019-02-04 13:00:58 +01:00
antirez
21e84cdae2
ACL: initial appending of users in user loading list.
2019-02-04 12:55:48 +01:00
antirez
8f16e1ea91
ACL: implement ACLAppendUserForLoading().
2019-02-01 13:02:59 +01:00
antirez
b8323d98e9
ACL: skeleton and first ideas for postponed user loading.
2019-02-01 12:20:09 +01:00
antirez
ec1aee031c
ACL: implement DELUSER.
2019-01-31 18:33:14 +01:00
antirez
74b7afdf71
ACL: check arity of LIST / USERS subcommand.
2019-01-31 18:32:49 +01:00
antirez
bc9b118e05
ACL: don't emit useless flags in ACLDescribeUser().
2019-01-31 17:04:42 +01:00
antirez
0f1b06aa40
ACL: implement LIST and USERS subcommands.
2019-01-31 17:01:32 +01:00
antirez
c7cd10dfe9
ACL: flags refactoring, function to describe user.
2019-01-31 16:49:22 +01:00
antirez
479f7f7af4
ACL: add function to return ACLSetUser() string errors.
2019-01-30 16:02:25 +01:00
antirez
0960259835
ACL: don't allow patterns after the * pattern.
2019-01-30 15:59:45 +01:00
antirez
77471dfe86
ACL: implement keys field in ACL GETUSER.
2019-01-30 15:52:36 +01:00
antirez
9db2c84984
ACL: free memory leak when freeing subcommands array.
2019-01-30 11:50:30 +01:00
antirez
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
antirez
9c2e64db9c
ACL: remove leak in ACLSetUser().
2019-01-30 08:20:31 +01:00
antirez
efce73a001
ACL: ACLDescribeUserCommandRules(): emit subcommands.
2019-01-30 08:17:33 +01:00
antirez
9ae8e3fefa
ACL: clear the subcommands array when setting category bits.
2019-01-30 08:09:05 +01:00
antirez
feba39d318
ACL: finish/fix ACLDescribeUserCommandRules() first version.
2019-01-29 18:54:21 +01:00
antirez
4db92e5928
ACL: ACLDescribeUserCommandRules(): add final commands.
2019-01-29 18:41:11 +01:00
antirez
11f64c6886
ACL: initial design for ACLDescribeUserCommandRules() and helpers.
2019-01-29 17:25:05 +01:00
antirez
acd168a70b
ACL: refactoring and fix of adding subcommands to users.
2019-01-28 18:40:54 +01:00
antirez
7fb9e2b4ce
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
097d57f56e
ACL: fix crash when checking for subcommands.
2019-01-28 18:15:59 +01:00
antirez
4b9b128c49
ACL: remove leak when removing passwords/patterns.
2019-01-28 12:11:11 +01:00
antirez
af72a31490
ACL: fix command bit check.
2019-01-26 12:51:43 +01:00
antirez
b7750a936f
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
eb840f9bc5
ACL: fix command ID assignment off by one error.
2019-01-25 13:07:20 +01:00
antirez
53ba09e08a
ACL: remove useless NULL check.
2019-01-25 13:00:49 +01:00
antirez
d5fe17dc11
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-01-25 13:00:30 +01:00
zhaozhao.zz
0de83bcc62
ACL: fix memory leak when key patterns no match
2019-01-25 19:35:18 +08:00
zhaozhao.zz
8fc0079366
ACL: check patterns instead of passwords in ACLCheckCommandPerm
2019-01-25 19:06:18 +08:00
antirez
510327df0b
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-01-25 11:27:34 +01:00
Salvatore Sanfilippo
e545b30f97
Merge pull request #5801 from soloestoy/fix-getuser-null-pointer
...
ACL: fix null pointer in getuser
2019-01-25 11:27:21 +01:00
antirez
7b4f3cc33a
ACL: + and - opcode for categories implemented.
2019-01-24 18:15:46 +01:00
antirez
e8bf9b03ed
ACL: ACLSetUserCommandBitsForCategory() low level API.
2019-01-24 18:11:09 +01:00
antirez
f99e0f59ef
ACL: populate category flags from command table.
2019-01-23 16:59:09 +01:00
zhaozhao.zz
496497f81a
ACL: fix null pointer in getuser
2019-01-23 23:57:18 +08:00
antirez
91ec53ed13
ACL: define category names and flags.
2019-01-23 16:47:29 +01:00
antirez
c5e717c637
ACL: command categories added to the command table.
2019-01-23 12:15:10 +01:00
antirez
effb84be17
ACL: specify better the +@all semantics in comments.
2019-01-23 11:05:54 +01:00
antirez
b270322ff9
ACL: ACLUserCanExecuteFutureCommands() function added.
2019-01-23 08:14:56 +01:00
antirez
70e541b7bc
ACL: better define name, and the idea of reserved ID.
2019-01-23 08:10:57 +01:00
antirez
561661b145
ACL: setuser nocommands / -@all implemented.
2019-01-22 17:57:20 +01:00
antirez
8dfeb4fba1
ACL: setuser reset implemented.
2019-01-22 17:57:20 +01:00
antirez
9e5c38282b
ACL: setuser resetkeys implemented.
2019-01-22 17:57:20 +01:00
antirez
53321c3c2c
ACL: subcommand matching.
2019-01-22 17:57:20 +01:00
antirez
4078755ddb
ACL: setting single commands ACLs implementation.
2019-01-22 17:57:20 +01:00
antirez
10f121295c
ACL: GetUserCommandBit() is a much better name for the function.
2019-01-22 17:57:20 +01:00
antirez
48eeec5fb4
ACL: user commands bitmap check refactoring for new features.
2019-01-22 17:57:20 +01:00
antirez
dbdc68a658
ACL: handle command IDs in case insensitive way.
2019-01-22 17:57:20 +01:00
zhaozhao.zz
ab1992c9c6
ACL: fix compile warnings
2019-01-21 14:53:46 +08:00
antirez
c8391388c2
ACL: remove server.requirepass + some refactoring.
2019-01-18 11:49:30 +01:00
antirez
ac6e49de48
ACL: implement resetpass directive and adjust test.
2019-01-18 11:26:32 +01:00
antirez
0526d1538b
ACL: partial implementation of ACL GETUSER.
2019-01-17 18:19:04 +01:00
antirez
4a3419acfc
ACL: fix and improve ACL key checking.
2019-01-16 18:31:05 +01:00
antirez
dbae371090
ACL: create the user pattern list ASAP.
2019-01-16 13:50:00 +01:00
antirez
f78b3ede27
ACL: key matching implemented.
2019-01-16 13:39:04 +01:00
antirez
0db42d4ba8
ACL: implement the key match opcode in ACLSetUser().
2019-01-16 13:29:04 +01:00
antirez
c79b01f4ba
ACL: the AUTH command can be always executed.
2019-01-15 18:26:44 +01:00
antirez
cca64672f4
ACL: AUTH uses users. ACL WHOAMI implemented.
2019-01-15 18:16:20 +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