Madelyn Olson
fdc4003d23
Making deleting users better defined and update documentation
2019-02-21 21:34:14 +00:00
antirez
3de9ccf190
Gopher: config setting to turn support on/off.
2019-02-21 17:28:53 +01:00
antirez
624568ae3f
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-02-21 17:03:19 +01: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
Salvatore Sanfilippo
967a98f570
Merge pull request #4811 from oranagra/cli-diskless-repl
...
Add redis-cli support for diskless replication (CAPA EOF)
2019-02-21 12:54:15 +01:00
Oran Agra
b6de51206e
redis-cli add support for --memkeys, fix --bigkeys for module types
...
* bigkeys used to fail on databases with module type keys
* new code adds more types when it discovers them, but has no way to know element count in modules types yet
* bigkeys was missing XLEN command for streams
* adding --memkeys and --memkeys-samples to make use of the MEMORY USAGE command
see #5167 , #5175
2019-02-21 12:18:20 +02:00
artix
0f28754021
Cluster Manager: fix replica assigment anti-affinity (create)
...
Fix issue #5849
2019-02-20 15:36:15 +01:00
antirez
35ffbead5c
Use dictGetFairRandomKey() for RANDOMKEY as well.
2019-02-19 17:29:51 +01:00
antirez
25b392f90c
Set dictGetFairRandomKey() samples to 20 for final version.
...
Distribution improves dramatically: tests show it clearly. Better to
have a slower implementation than a wrong one, because random member
extraction should be correct or tends to be useless for a number of
tasks.
2019-02-19 17:27:42 +01:00
antirez
1613f7a572
Limit sampling size in dictGetFairRandomKey().
...
This way the implementation is almost as fast as the original one, but
the distribution is not too bad.
2019-02-18 18:38:40 +01:00
antirez
61a01793ed
Better distribution for set get-random-element operations.
2019-02-18 18:27:18 +01:00
antirez
86802d4f26
redis-benchmark: default precision=1, integer ms after 2 milliseconds.
...
Reltaed to discussion and PR #5840 .
2019-02-14 13:19:51 +01:00
Salvatore Sanfilippo
da86481e5b
Merge pull request #5840 from madolson/dev-unstable-benchmark-latency
...
Updated redis benchmark with us precision support
2019-02-14 13:01:26 +01:00
Madelyn Olson
f9bababaa7
Rename variable
2019-02-13 21:03:31 +00:00
Madelyn Olson
93640b0a9d
Updated redis benchmark with us precision support
2019-02-13 19:52:48 +00:00
Salvatore Sanfilippo
fd7484cde2
Merge pull request #5836 from soloestoy/fix-acl-warning
...
ACL: show categories in COMMAND reply
2019-02-13 18:59:59 +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
antirez
e819c2ef5b
ACL: tag LASTSAVE as dangerous.
...
That's not REALLY needed, but... right now with LASTSAVE being the only
command tagged as "admin" but not "dangerous" what happens is that after
rewrites the rewrite engine will produce from the rules:
user default on +@all ~* -@dangerous nopass
The rewrite:
user default on nopass ~* +@all -@admin -@dangerous +lastsave
Which is correct but will have users wondering about why LASTSAVE has
something special.
Since LASTSAVE after all also leaks information about the underlying
server configuration, that may not be great for SAAS vendors, let's tag
it as dangerous as well and forget about this issue :-)
2019-02-13 16:30:44 +01:00
zhaozhao.zz
a65094dae8
ACL: fix cat type format warning
2019-02-13 11:47:10 +08:00
antirez
bfdcfbb3ed
ACL: fix setting of FAST flag.
2019-02-12 17:06:26 +01:00
antirez
b9c97c0b2e
ACL: CAT subcommand implemented.
2019-02-12 17:02:45 +01:00
Guy Benoish
bdd9a8002a
Trim SDS free space of retained module strings
...
In some cases processMultibulkBuffer uses sdsMakeRoomFor to
expand the querybuf, but later in some cases it uses that query
buffer as is for an argv element (see "Optimization"), which means
that the sds in argv may have a lot of wasted space, and then in case
modules keep that argv RedisString inside their data structure, this
space waste will remain for long (until restarted from rdb).
2019-02-12 14:21:21 +01:00
Salvatore Sanfilippo
a22815b4e9
Merge pull request #5833 from soloestoy/masteruser
...
ACL: add masteruser configuration for replication
2019-02-12 10:27:59 +01:00
zhaozhao.zz
ea9d3aefec
ACL: add masteruser configuration for replication
...
In mostly production environment, normal user's behavior should be
limited.
Now in redis ACL mechanism we can do it like that:
user default on +@all ~* -@dangerous nopass
user admin on +@all ~* >someSeriousPassword
Then the default normal user can not execute dangerous commands like
FLUSHALL/KEYS.
But some admin commands are in dangerous category too like PSYNC,
and the configurations above will forbid replica from sync with master.
Finally I think we could add a new configuration for replication,
it is masteruser option, like this:
masteruser admin
masterauth someSeriousPassword
Then replica will try AUTH admin someSeriousPassword and get privilege
to execute PSYNC. If masteruser is NULL, replica would AUTH with only
masterauth like before.
2019-02-12 17:12:37 +08:00
antirez
d5e4a7f439
ACL: when client->user is NULL the client is a superuser.
...
Related to #5832 .
2019-02-12 09:44:30 +01:00
antirez
cc6d05a1f7
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-02-12 09:43:50 +01:00
zhaozhao.zz
0f42447a0e
ACL: show client's user
2019-02-12 16:03:58 +08:00
Chris Lamb
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
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
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
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
cc116736c1
ACL: ability to configure an external ACL file.
2019-02-05 17:49:52 +01:00
antirez
416c640156
ACL: change behavior of redefined user. Last line counts.
2019-02-05 10:52:05 +01:00
antirez
775bf6193d
ACL: implement rewriting of users in redis.conf.
2019-02-05 10:48:17 +01:00
antirez
2262dd184d
ACL: fix user/rule inverted error message.
2019-02-04 16:58:35 +01:00
antirez
623b17425e
ACL: load the defined users at server startup.
2019-02-04 16:39:07 +01:00
antirez
500b3e128f
ACL: implement ACLLoadConfiguredUsers().
2019-02-04 16:35:15 +01:00
antirez
68fd4a97fa
ACL: better error reporting in users configuration errors.
2019-02-04 13:04:35 +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
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
antirez
b6372f16c4
ACL: assign ACL command ID to modules commands.
2019-02-01 08:17:24 +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
4380423d40
ACL: enforce ACLs in Lua scripts as well.
2019-01-29 10:12:22 +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
Guy Benoish
b0c8d6c227
Increase string2ld's buffer size (and fix HINCRBYFLOAT)
...
The string representation of `long double` may take
up to ~5000 chars (see PR #3745 ).
Before this fix HINCRBYFLOAT would never overflow (since
the string could not exceed 256 chars). Now it can.
2019-01-28 17:58:11 +02:00
antirez
6320aa49f3
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-01-28 12:13:25 +01:00
antirez
4b9b128c49
ACL: remove leak when removing passwords/patterns.
2019-01-28 12:11:11 +01:00
Salvatore Sanfilippo
4e6abe2bbb
Merge pull request #5808 from ArkayZheng/ArkayWork
...
Fix the output of serverLog in replication.c
2019-01-27 12:16:14 +01:00
antirez
af72a31490
ACL: fix command bit check.
2019-01-26 12:51:43 +01:00
ArkayZheng
76f20729fc
Fix the output bug in rename exceptions.
2019-01-25 21:48:23 +08: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
Salvatore Sanfilippo
1aa9fa37e3
Merge pull request #5806 from soloestoy/bugfix-acl-check-key-pattern
...
Bugfix in ACLCheckCommandPerm
2019-01-25 13:00:17 +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
b82d356883
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-01-25 11:47:50 +01:00
Salvatore Sanfilippo
5cc3b557f6
Merge pull request #5804 from artix75/dev
...
Cluster Manager: remove unused code elements
2019-01-25 11:47:45 +01: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
artix
9fb160b130
Cluster Manager: remove unused code elements
2019-01-24 17:29:44 +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
b8ff73894a
ACL: improve top comments of the command table.
2019-01-23 11:21:02 +01:00
antirez
932a1196d8
ACL: mark more commands as read-only commands.
2019-01-23 11:14:39 +01:00
antirez
effb84be17
ACL: specify better the +@all semantics in comments.
2019-01-23 11:05:54 +01:00
Guy Benoish
2502956835
ZPOP should return an empty array if COUNT=0
2019-01-23 11:11:57 +02: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
711e514ea4
ACL: update comments in command flags.
2019-01-22 19:02:50 +01:00
antirez
e97481d4f4
ACL: remove no longer existing flag from comment.
2019-01-22 17:57:20 +01:00
antirez
82d194c1ab
ACL: populate command table with new flags.
2019-01-22 17:57:20 +01:00
antirez
9e4fb96ca1
ACL: review of Redis command table and new flags format.
...
However the code is yet not able to parse the new flags format.
2019-01-22 17:57:20 +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
2263d6e173
ACL: specify better the command denied error.
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
Salvatore Sanfilippo
94460440b7
Merge pull request #5743 from AngusP/forever-repeat-cli
...
Redis CLI: Fix broken interval and repeat behaviour (incluing in cluster mode)
2019-01-22 17:29:37 +01:00
Salvatore Sanfilippo
ed356c3a79
Merge pull request #5795 from zhicheng/fix-double-free-issue
...
fix clusterManagerGetAntiAffinityScore double free otypes
2019-01-22 17:28:45 +01:00
Salvatore Sanfilippo
7c53e5bdc4
Merge pull request #5796 from soloestoy/fix-acl-compile-warning
...
ACL: fix compile warnings
2019-01-21 17:14:04 +01:00
antirez
4dc69497f5
Refactoring: always kill AOF/RDB child via helper functions.
2019-01-21 11:28:44 +01:00
Salvatore Sanfilippo
adfaf548e3
Merge branch 'unstable' into fixChildInfoPipeFdLeak
2019-01-21 11:20:56 +01:00
antirez
cfdc800a5f
Remove non semantical newline space from PR #5797 .
2019-01-21 11:15:48 +01:00
Salvatore Sanfilippo
9f939610f3
Merge pull request #5797 from trevor211/fixUpdateDictResizePolicy
...
Fix update dict resize policy
2019-01-21 11:14:48 +01:00
WuYunlong
440385de14
Fix child info pipe fd leak when child process gets killed.
2019-01-21 17:48:45 +08:00
WuYunlong
f004a3e7ff
Update dict resize policy when rdb child process gets killed.
2019-01-21 17:33:18 +08:00
WuYunlong
3f0c2b1fa2
Update dict resize policy when aof rewrite process gets killed.
2019-01-21 17:27:36 +08:00
zhaozhao.zz
ab1992c9c6
ACL: fix compile warnings
2019-01-21 14:53:46 +08:00
Zhicheng Wei
c90cf3d82f
fix clusterManagerGetAntiAffinityScore double free otypes
2019-01-19 11:38:36 +08:00
antirez
c8391388c2
ACL: remove server.requirepass + some refactoring.
2019-01-18 11:49:30 +01:00
antirez
7de6e30241
ACL: fix config get requirepass.
2019-01-18 11:30:40 +01:00
antirez
ac6e49de48
ACL: implement resetpass directive and adjust test.
2019-01-18 11:26:32 +01:00
antirez
2c66c525f9
ACL: configure the master connection without user.
2019-01-17 18:33:36 +01:00
antirez
b87815c1f8
ACL: AUTH + no default user password raises an error.
...
This way the behavior is very similar to the past one.
This is useful in order to remember the user she probably failed to
configure a password correctly.
2019-01-17 18:30:23 +01:00
antirez
636424c0ce
ACL: change requirepass stop condition to use ACLs.
2019-01-17 18:22:22 +01:00
antirez
0526d1538b
ACL: partial implementation of ACL GETUSER.
2019-01-17 18:19:04 +01:00
antirez
7b65605ab2
ACL: reimplement requirepass option in term of ACLs.
2019-01-17 18:05:43 +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
zhaozhao.zz
645d44d545
Streams: checkType before XGROUP CREATE
...
Fix issue #5785 , in case create group on a key is not stream.
2019-01-16 19:19:14 +08:00
antirez
ff92c06947
ACL: fix command exec check by returning.
2019-01-15 18:28:43 +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
35fe59935e
ACL: automatically authenticate the nopass default user.
2019-01-15 17:57:49 +01:00
antirez
52e9922987
ACL: AUTH command new form, using the ACL subsystem.
2019-01-15 13:45:16 +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
antirez
a2e376ba52
ACL: ACLCheckCommandPerm() implementation WIP.
2019-01-14 18:35:21 +01:00
antirez
733438fe23
RESP3: Populate new fields for the AOF fake client.
...
However we should remove this fake client ad-hoc creation, and replace
it with the proper call to createClient(-1), and then adjust the fake
client as we like.
2019-01-14 17:01:49 +01:00
antirez
09391369b8
ACL: fix field name typo causing segfault.
2019-01-14 16:09:29 +01:00
antirez
a0a4fb85ff
ACL: Fix compilation by adding prototype and c->cmd fix.
2019-01-14 13:22:56 +01:00
antirez
2da2e452ab
ACL: ACLLCOMMAND flags.
2019-01-14 13:21:21 +01:00
antirez
648411eb7d
ACL: Add hook in processCommand() to check the ACLs before call().
2019-01-14 13:20:45 +01:00
antirez
f95152d4c8
ACL: Add skeleton for function checking ability to execute a command.
2019-01-14 13:19:50 +01:00
antirez
4376575d83
ACL: ACLSetUser(), add allcommands in comment.
2019-01-14 13:19:42 +01:00
antirez
67754ae021
ACL: ACLSetUser(), fix flag and add allcommands +@all opcode.
2019-01-14 13:18:12 +01:00
antirez
e7d15e4820
ACL: implement to first trivial opcodes in ACLSetUser().
2019-01-11 13:03:50 +01:00
antirez
aced0328e3
ACL: avoid a radix tree lookup for the default user.
2019-01-11 11:32:41 +01:00
antirez
7f8314760a
ACL: modify comment from PR.
2019-01-11 11:30:09 +01:00
Salvatore Sanfilippo
6078d85b52
Merge pull request #5769 from charsyam/feature/fix-segmentfault-when-server-starts
...
fix segmentfault when server start in unstable branch
2019-01-11 11:27:09 +01:00
antirez
4b72d087e9
ACL: ACLSetUser(), initial ideas in comments.
2019-01-11 11:25:55 +01:00
charsyam
45952df700
fix segmentfault when server start
2019-01-11 19:12:06 +09:00
antirez
dc4f7ad106
ACL: create the default user.
2019-01-11 11:02:55 +01:00
antirez
6bb6a6d3a8
ACL: implement ACLCreateUser().
2019-01-10 17:01:12 +01:00
antirez
e4846b028d
ACL: implement ACLGetUserByName().
2019-01-10 16:40:45 +01:00
antirez
29c88a9ce5
ACL: initialization function.
2019-01-10 16:39:32 +01:00
antirez
e9a902a958
ACL: split acl.c into clear sections.
2019-01-10 16:35:55 +01:00
antirez
4278104acc
ACL: add a reference to the user in each client.
2019-01-10 16:34:13 +01:00
antirez
4729f71495
ACL: improved version of the user structure.
2019-01-10 12:47:52 +01:00
antirez
45ff9f33d6
ACL: ACLCheckUserCredentials() next id should be static.
2019-01-09 21:47:43 +01:00
antirez
7fc882c578
ACL: use a fixed table for command IDs.
2019-01-09 21:31:29 +01:00
antirez
010b24f864
ACL: set the command ID while populating the commands table.
2019-01-09 17:23:23 +01:00
antirez
91f1d8026b
ACL: introduce the concept of command ID.
2019-01-09 17:20:47 +01:00
antirez
42271cff2d
ACL: fix ACLCheckUserCredentials() usage in AUTH.
2019-01-09 17:09:30 +01:00
antirez
f5d918b2bb
ACL: HELLO should stop if the user is not authenticated.
2019-01-09 17:00:30 +01:00
antirez
b43d70df56
ACL: refactoring of the original authentication code.
2019-01-09 17:00:30 +01:00
antirez
4d80b0e965
RESP3: allow HELLO during busy script and not authenticated states.
2019-01-09 17:00:30 +01:00
antirez
9018388c3f
RESP3: Allow any command in RESP3 Pub/Sub mode.
2019-01-09 17:00:30 +01:00
antirez
a4f8f4a824
RESP3: PING should reply normally in RESP3 Pub/Sub mode.
...
Because in RESP3 commands can be sent in the Pub/Sub connection without
problems, so it's better if in such mode there is no exception about
PING.
2019-01-09 17:00:30 +01:00
antirez
eaaac08892
RESP3: Pubsub messages in new push format if client is in RESP3 mode.
2019-01-09 17:00:30 +01:00
antirez
bc75a94e2d
RESP3: pubsub messages API completely refactored.
2019-01-09 17:00:30 +01:00
antirez
798a329192
RESP3: extract code to send pubsub messages into functions.
2019-01-09 17:00:30 +01:00
antirez
709a6612eb
RESP3: addReplyString() -> addReplyProto().
...
The function naming was totally nuts. Let's fix it as we break PRs
anyway with RESP3 refactoring and changes.
2019-01-09 17:00:30 +01:00
antirez
7d4b600f5d
RESP3: redis-cli support for boolean in TTY output.
2019-01-09 17:00:30 +01:00
antirez
e291170385
RESP3: verbatim reply API + DEBUG PROTOCOL support.
2019-01-09 17:00:30 +01:00
antirez
afba211297
RESP3: DEBUG PROTOCOL: boolean types.
2019-01-09 17:00:30 +01:00
antirez
8042afb246
RESP3: Fix addReplyBool() RESP2/3 output.
2019-01-09 17:00:30 +01:00
antirez
4e2dd54df0
RESP3: DEBUG PROTOCOL: fix strcasecmp() check.
2019-01-09 17:00:30 +01:00