- 19 Apr, 2021 1 commit
-
-
Harkrishn Patro authored
In the initial release of Redis 6.2 setting a user to only allow pubsub access to a specific channel, and doing ACL SAVE, resulted in an assertion when ACL LOAD was used. This was later changed by #8723 (not yet released), but still not properly resolved (now it errors instead of crash). The problem is that the server that generates an ACL file, doesn't know what would be the setting of the acl-pubsub-default config in the server that will load it. so ACL SAVE needs to always start with resetchannels directive. This should still be compatible with old acl files (from redis 6.0), and ones from earlier versions of 6.2 that didn't mess with channels. Co-authored-by:
Harkrishn Patro <harkrisp@amazon.com> Co-authored-by:
Oran Agra <oran@redislabs.com>
-
- 05 Apr, 2021 1 commit
-
-
Huang Zhw authored
Fix "default" and overwritten / reset users will not have pubsub channels permissions by default. (#8723) Background: Redis 6.2 added ACL control for pubsub channels (#7993), which were supposed to be permissive by default to retain compatibility with redis 6.0 ACL. But due to a bug, only newly created users got this `acl-pubsub-default` applied, while overwritten (updated) users got reset to `resetchannels` (denied). Since the "default" user exists before loading the config file, any ACL change to it, results in an update / overwrite. So when a "default" user is loaded from config file or include ACL file with no channels related rules, the user will not have any permissions to any channels. But other users will have default permissions to any channels. When upgraded from 6.0 with config rewrite, this will lead to "default" user channels permissions lost. When users are loaded from include file, then call "acl load", users will also lost channels permissions. Similarly, the `reset` ACL rule, would have reset the user to be denied access to any channels, ignoring `acl-pubsub-default` and breaking compatibility with redis 6.0. The implication of this fix is that it regains compatibility with redis 6.0, but breaks compatibility with redis 6.2.0 and 2.0.1. e.g. after the upgrade, the default user will regain access to pubsub channels. Other changes: Additionally this commit rename server.acl_pubusub_default to server.acl_pubsub_default and fix typo in acl tests.
-
- 06 Dec, 2020 1 commit
-
-
Oran Agra authored
When loading an encoded payload we will at least do a shallow validation to check that the size that's encoded in the payload matches the size of the allocation. This let's us later use this encoded size to make sure the various offsets inside encoded payload don't reach outside the allocation, if they do, we'll assert/panic, but at least we won't segfault or smear memory. We can also do 'deep' validation which runs on all the records of the encoded payload and validates that they don't contain invalid offsets. This lets us detect corruptions early and reject a RESTORE command rather than accepting it and asserting (crashing) later when accessing that payload via some command. configuration: - adding ACL flag skip-sanitize-payload - adding config sanitize-dump-payload [yes/no/clients] For now, we don't have a good way to ensure MIGRATE in cluster resharding isn't being slowed down by these sanitation, so i'm setting the default value to `no`, but later on it should be set to `clients` by default. changes: - changing rdbReportError not to `exit` in RESTORE command - adding a new stat to be able to later check if cluster MIGRATE isn't being slowed down by sanitation.
-
- 09 Sep, 2020 2 commits
-
-
杨博东 authored
improves test coverage
-
Yossi Gottlieb authored
Save parameters should either be default or whatever specified in the config file. This fixes an issue introduced in #7092 which causes configuration file settings to be applied on top of the defaults.
-
- 19 Dec, 2016 1 commit
-
-
antirez authored
-
- 10 Jul, 2014 1 commit
-
-
antirez authored
This way as a side effect of running the test we also stress the latency monitor data collection.
-
- 12 Jun, 2013 1 commit
-
-
Marc-Antoine Perennou authored
Signed-off-by:
Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
-
- 15 May, 2013 1 commit
-
-
antirez authored
Required because of recent changes in the way logfile is set to standard output.
-
- 04 Apr, 2013 1 commit
-
-
antirez authored
-
- 05 Feb, 2013 1 commit
-
-
antirez authored
-
- 28 Jan, 2013 3 commits
-
-
antirez authored
-
antirez authored
When keyspace events are enabled, the overhead is not sever but noticeable, so this commit introduces the ability to select subclasses of events in order to avoid to generate events the user is not interested in. The events can be selected using redis.conf or CONFIG SET / GET.
-
antirez authored
-
- 29 Mar, 2012 1 commit
-
-
Xiaochen Wang authored
-
- 23 Mar, 2012 1 commit
-
-
antirez authored
-
- 10 Mar, 2012 1 commit
-
-
antirez authored
-
- 25 Jan, 2012 1 commit
-
-
Pieter Noordhuis authored
-
- 25 Jun, 2011 1 commit
-
-
antirez authored
-
- 09 Jan, 2011 1 commit
-
-
antirez authored
-
- 03 Jan, 2011 1 commit
-
-
antirez authored
-
- 02 Jan, 2011 1 commit
-
-
antirez authored
-
- 20 May, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 14 May, 2010 1 commit
-
-
antirez authored
-