8086 Commits

Author SHA1 Message Date
antirez
43b7a5fa1c RESP3: SETNAME option for HELLO. 2019-02-25 16:56:58 +01:00
antirez
ea75d7d52b RESP3: AUTH option for HELLO. 2019-02-25 16:55:16 +01:00
antirez
17e9ec2a69 RESP3: refactoring of CLIENT SETNAME to implement SETNAME in HELLO. 2019-02-25 16:51:49 +01:00
antirez
505815da4b RESP3: allow HELLO to be used with version = 2. 2019-02-25 16:41:00 +01: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
4eeaa8bcf3 Gopher: don't add the Lastline. 2019-02-24 21:38:15 +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
antirez
7316f22c8f Gopher: TODO list. 2019-02-22 11:17:39 +01:00
Salvatore Sanfilippo
62fe3057c5 Merge pull request #5850 from artix75/dev
Cluster Manager: fix replica assignment anti-affinity (create)
2019-02-22 10:28:31 +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
Salvatore Sanfilippo
4da6d258e8 Merge pull request #5859 from madolson/dev-unstable-networking-cleanup
Refactored manual computation of object length
2019-02-22 10:25:17 +01:00
antirez
861c035265 Gopher: basic serving of string type. 2019-02-22 10:21:24 +01:00
antirez
c8b67fea44 Gopher: initial request handling. 2019-02-21 23:13:08 +01:00
Madelyn Olson
79eaa9ebd9 Refactored manual computation of object length 2019-02-21 21:35:00 +00:00
Madelyn Olson
691b8871d2 Making deleting users better defined and update documentation 2019-02-21 21:34:14 +00:00
antirez
20c7d1b334 Gopher: config setting to turn support on/off. 2019-02-21 17:28:53 +01:00
antirez
7a19d5a3ed Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-02-21 17:03:19 +01: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
Salvatore Sanfilippo
e7d1af804e 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
Salvatore Sanfilippo
72b560f0dd Merge pull request #5856 from oranagra/cli-bigkeys
redis-cli add support for --memkeys, fix --bigkeys for module types
2019-02-21 12:22:09 +01:00
Oran Agra
6f84cf009b 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
da852aa8b1 Cluster Manager: fix replica assigment anti-affinity (create)
Fix issue #5849
2019-02-20 15:36:15 +01:00
antirez
94a9e27bb8 Use dictGetFairRandomKey() for RANDOMKEY as well. 2019-02-19 17:29:51 +01:00
antirez
0ad63de59d 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
963da462fa showfreq.rb: collect more data for better graphs. 2019-02-19 17:25:58 +01:00
antirez
438688d956 Improve README of better-random-member directory. 2019-02-19 12:01:26 +01:00
antirez
c3b4760143 Add showfreq.rb to SRANDMEMBER analysis tools. 2019-02-18 18:47:49 +01:00
antirez
34982b0d0e 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
aae7e1bff0 Better distribution for set get-random-element operations. 2019-02-18 18:27:18 +01:00
antirez
85cdb79d14 showdist.rb utility for SRANDMEMBER analysis added. 2019-02-18 12:39:07 +01:00
antirez
78a2115c4c 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
e58ed84589 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
5a1f8fd6f2 Rename variable 2019-02-13 21:03:31 +00:00
Madelyn Olson
b53eec3126 Updated redis benchmark with us precision support 2019-02-13 19:52:48 +00:00
Salvatore Sanfilippo
e973611e01 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
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
antirez
ddff560cac 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
0eee72b620 ACL: fix cat type format warning 2019-02-13 11:47:10 +08:00
antirez
2c38dc6831 ACL: Document masteruser option in redis.conf. 2019-02-12 18:23:00 +01:00
antirez
1c15e0ff20 ACL: fix setting of FAST flag. 2019-02-12 17:06:26 +01:00
antirez
d78a6fdcbd ACL: CAT subcommand implemented. 2019-02-12 17:02:45 +01:00
Guy Benoish
9cd3b12cdf 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
19696ba011 Merge pull request #5833 from soloestoy/masteruser
ACL: add masteruser configuration for replication
2019-02-12 10:27:59 +01:00
zhaozhao.zz
de0f42bff3 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
34f11c811d ACL: when client->user is NULL the client is a superuser.
Related to #5832.
2019-02-12 09:44:30 +01:00