Commit Graph

141 Commits

Author SHA1 Message Date
antirez 889eaba2b7 ACL: deny commands execution of disabled users. 2020-04-22 17:14:15 +02:00
antirez 503a5a24fb Don't allow empty spaces in ACL usernames.
Fixes issue #6418.
2020-04-15 16:40:25 +02:00
antirez 3519a5a026 Don't allow empty spaces in ACL key patterns.
Fixes issue #6418.
2020-04-15 16:12:07 +02:00
hwware 1323afed8b fix spelling in acl.c 2020-04-14 00:16:29 -04:00
antirez 96688aa646 Fix ACL HELP table missing comma. 2020-04-08 10:56:47 +02:00
antirez 29b9d0a245 ACL: Make Redis 6 more backward compatible with requirepass.
Note that this as a side effect fixes Sentinel "requirepass" mode.
2020-03-16 16:57:12 +01:00
ShooterIT 98b23cce29 Avoid compiler warnings 2020-02-29 18:28:41 +08:00
antirez 50d4326e3b Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-02-06 11:24:22 +01:00
Oran Agra 6d29c34da7 add SAVE subcommand to ACL HELP and top comment 2020-02-06 10:31:43 +02:00
antirez 90fae58b49 ACL LOG: make max log entries configurable. 2020-02-04 13:19:40 +01:00
antirez 0c1a4b5576 ACL LOG: log failed auth attempts. 2020-02-04 12:55:26 +01:00
antirez 30a466ba38 ACL LOG: implement LOG RESET. 2020-01-29 18:51:04 +01:00
antirez 6671032faf ACL LOG: group similar entries in a given time delta. 2020-01-29 18:40:32 +01:00
antirez 61dffd8669 ACL LOG: actually emit entries. 2020-01-28 18:04:20 +01:00
antirez e8d0057710 ACL LOG: implement ACL LOG subcommadn skeleton. 2020-01-28 17:30:50 +01:00
antirez 3e9e27e98f ACL LOG: data structures and initial functions. 2020-01-27 18:37:52 +01:00
hwware fda2bf9c92 typo fix in acl.c 2020-01-07 21:09:44 -05:00
Madelyn Olson 034dcf185c Add module APIs for custom authentication 2019-12-17 06:59:59 +00:00
antirez 09041b9359 ACLs: change hashed passwords opcode to also remove them.
Related to PR #6405
2019-09-30 18:28:45 +02:00
Madelyn Olson ea7c3fe7fd Allowed passing in of password hash and fixed config rewrite 2019-09-30 17:57:49 +02:00
antirez b170a01fa7 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 ae5054b476 ACL: SHA256 based password hashing function implemented. 2019-09-12 12:33:22 +02:00
Madelyn Olson dd5f437871 Fixed some spelling issues in ACL codepath including user facing error 2019-06-07 13:25:22 -07:00
antirez c24e32041b 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 c33cb4938a ACL: GENPASS subcommand. 2019-03-05 15:51:37 +01:00
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