131 Commits

Author SHA1 Message Date
antirez
c0de265bfa ACL LOG: log failed auth attempts. 2020-02-12 14:15:35 +01:00
antirez
3853c71288 ACL LOG: implement LOG RESET. 2020-02-12 14:15:35 +01:00
antirez
7b53636462 ACL LOG: group similar entries in a given time delta. 2020-02-12 14:15:35 +01:00
antirez
9f5b64c4a6 ACL LOG: actually emit entries. 2020-02-12 14:15:35 +01:00
antirez
e6eafd3e1f ACL LOG: implement ACL LOG subcommadn skeleton. 2020-02-12 14:15:35 +01:00
antirez
2d06604451 ACL LOG: data structures and initial functions. 2020-02-12 14:15:35 +01:00
hwware
86fd8f0e3f typo fix in acl.c 2020-01-10 13:16:03 +01:00
Madelyn Olson
05b7628687 Add module APIs for custom authentication 2019-12-17 06:59:59 +00:00
antirez
6118989790 ACLs: change hashed passwords opcode to also remove them.
Related to PR #6405
2019-09-30 18:28:45 +02:00
Madelyn Olson
364c8601e3 Allowed passing in of password hash and fixed config rewrite 2019-09-30 17:57:49 +02:00
antirez
fa2ed64ba1 ACL: store hashed passwords in memory.
Note that this breaks API compatibility with Redis < 6:

    CONFIG GET requirepass

Will no longer return a cleartext password as well, but the SHA256 hash
of the password set.
2019-09-12 12:54:57 +02:00
antirez
036c83d8ec ACL: SHA256 based password hashing function implemented. 2019-09-12 12:33:22 +02:00
Madelyn Olson
67a4bcac1b Fixed some spelling issues in ACL codepath including user facing error 2019-06-07 13:25:22 -07:00
antirez
1a505a3ba9 ACL: Fix memory leak in ACLResetSubcommandsForCommand().
This commit fixes bug reported at #5998. Thanks to @tomcat1102.
2019-04-08 18:08:37 +02:00
antirez
42ce3e2fd5 ACL: GENPASS subcommand. 2019-03-05 15:51:37 +01:00
antirez
2136c71a88 Make PR #5872 more compatible with Redis coding style. 2019-02-27 09:34:50 +01:00
Salvatore Sanfilippo
407c5942b8 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
b6b1d56474 Updated acl setuser to be all or nothing 2019-02-26 02:04:29 +00:00
antirez
79209f1367 ACL: authCommand() refactored into ACLAuthenticateUser(). 2019-02-25 16:39:44 +01:00
antirez
dec44d23d3 ACL: move AUTH implementation in acl.c. 2019-02-25 16:33:38 +01:00
antirez
73ae256e3f ACL: fix ACLSaveToFile() return value. 2019-02-22 12:45:13 +01:00
antirez
fde40f1050 ACL: less error prone error handling in ACLSaveToFile(). 2019-02-22 12:43:08 +01:00
Salvatore Sanfilippo
3994e59268 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
691b8871d2 Making deleting users better defined and update documentation 2019-02-21 21:34:14 +00:00
antirez
c528f436e6 ACL: remove leak in ACLLoadFromFile(). 2019-02-21 17:03:06 +01:00
antirez
c3425bc0ae ACL: implement ACL SAVE. 2019-02-21 17:01:08 +01:00
antirez
c80b647d03 ACL: ACLSaveToFile() implemented. 2019-02-21 16:50:28 +01:00
antirez
cb6f5c4d0a ACL: add LOAD subcommand to ACL HELP. 2019-02-21 16:31:33 +01:00
zhaozhao.zz
3eb2f4ca14 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
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