redis/tests/unit
Meir Shpilraien (Spielrein) 870b6bd487
Added a shared secret over Redis cluster. (#13763)
The PR introduces a new shared secret that is shared over all the nodes
on the Redis cluster. The main idea is to leverage the cluster bus to
share a secret between all the nodes such that later the nodes will be
able to authenticate using this secret and send internal commands to
each other (see #13740 for more information about internal commands).

The way the shared secret is chosen is the following:
1. Each node, when start, randomly generate its own internal secret.
2. Each node share its internal secret over the cluster ping messages.
3. If a node gets a ping message with secret smaller then his current
secret, it embrace it.
4. Eventually all nodes should embrace the minimal secret

The converges of the secret is as good as the topology converges.

To extend the ping messages to contain the secret, we leverage the
extension mechanism. Nodes that runs an older Redis version will just
ignore those extensions.

Specific tests were added to verify that eventually all nodes see the
secrets. In addition, a verification was added to the test infra to
verify the secret on `cluster_config_consistent` and to
`assert_cluster_state`.
2025-02-03 09:54:37 +02:00
..
cluster Added a shared secret over Redis cluster. (#13763) 2025-02-03 09:54:37 +02:00
moduleapi Add flag for ability of a module context to execute debug commands (#13774) 2025-02-03 09:52:41 +02:00
type Async IO Threads (#13695) 2024-12-23 14:16:40 +08:00
acl-v2.tcl Fix Read/Write key pattern selector (CVE-2024-51741) 2025-01-13 21:20:19 +02:00
acl.tcl Free current client asynchronously after user permissions changes (#13274) 2024-05-30 22:09:30 +08:00
aofrw.tcl Attempt to solve MacOS CI issues in GH Actions (#12013) 2023-04-12 09:19:21 +03:00
auth.tcl Rdb channel replication (#13732) 2025-01-13 15:09:52 +03:00
bitfield.tcl Add BITFIELD_RO basic tests for non-repl use cases (#12187) 2023-05-18 12:16:46 +03:00
bitops.tcl BITCOUNT and BITPOS with non-existing key and illegal arguments should return error, not 0 (#11734) 2023-08-21 19:48:30 +03:00
client-eviction.tcl Async IO Threads (#13695) 2024-12-23 14:16:40 +08:00
dump.tcl Fix SPOP/RESTORE propagation when doing lazy free (#12320) 2023-06-16 08:14:11 -07:00
expire.tcl Fix dictionary use-after-free in active expire and make kvstore iter to respect EMPTY flag (#13135) 2024-03-18 17:41:54 +02:00
functions.tcl Trigger Lua GC after script loading (#13407) 2024-07-16 09:28:47 +08:00
geo.tcl adding geo command edge cases tests (#12274) 2023-06-20 12:50:03 +03:00
hyperloglog.tcl Fix bug in PFMERGE command (#13672) 2024-12-18 14:41:04 +08:00
info-command.tcl Make INFO command variadic (#6891) 2022-02-08 13:14:42 +02:00
info-keysizes.tcl Add KEYSIZES section to INFO (#13592) 2024-10-29 13:07:26 +02:00
info.tcl Update info.tcl test to revert client output limits sooner (#13738) 2025-01-14 17:30:18 +08:00
introspection-2.tcl RED-129256, Fix TOUCH command from script in no-touch mode (#13512) 2024-09-12 11:33:26 +03:00
introspection.tcl Async IO Threads (#13695) 2024-12-23 14:16:40 +08:00
keyspace.tcl Prevent pattern matching abuse (CVE-2024-31228) 2024-10-08 20:55:44 +03:00
latency-monitor.tcl Add printing for LATENCY related tests (#12514) 2023-08-27 11:42:55 +03:00
lazyfree.tcl Fix issue with argv not being shrunk (#13698) 2025-01-08 16:12:52 +08:00
limits.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
maxmemory.tcl Async IO Threads (#13695) 2024-12-23 14:16:40 +08:00
memefficiency.tcl Async IO Threads (#13695) 2024-12-23 14:16:40 +08:00
multi.tcl Fix propagation of entries_read by calling streamPropagateGroupID unconditionally (#12898) 2024-02-29 09:48:20 +02:00
networking.tcl Add reply_schema to command json files (internal for now) (#10273) 2023-03-11 10:14:16 +02:00
obuf-limits.tcl Add reply_schema to command json files (internal for now) (#10273) 2023-03-11 10:14:16 +02:00
oom-score-adj.tcl Check user's oom_score_adj write permission for oom-score-adj test (#13111) 2024-03-05 14:42:28 +02:00
other.tcl Add KEYSIZES section to INFO (#13592) 2024-10-29 13:07:26 +02:00
pause.tcl Bump codespell to 2.2.4, fix typos and outupdated comments (#11911) 2023-03-16 08:50:32 +02:00
printver.tcl Print version info before running the test 2011-05-20 11:44:54 +02:00
protocol.tcl Fix crash due to cron argv release (#13725) 2025-01-08 09:57:23 +08:00
pubsub.tcl Async IO Threads (#13695) 2024-12-23 14:16:40 +08:00
pubsubshard.tcl Async IO Threads (#13695) 2024-12-23 14:16:40 +08:00
querybuf.tcl Async IO Threads (#13695) 2024-12-23 14:16:40 +08:00
quit.tcl flushSlavesOutputBuffers should not write to replicas scheduled to drop (#12242) 2023-06-12 14:05:34 +03:00
replybufsize.tcl Introduce debug command to disable reply buffer resizing (#10360) 2022-03-01 14:40:29 +02:00
scan.tcl improve performance for scan command when matching data type (#12395) 2024-08-20 10:47:51 +08:00
scripting.tcl Fix memory leak of jemalloc tcache on function flush command (#13661) 2024-11-21 14:12:58 +03:00
shutdown.tcl Tests: Do not save an RDB by default and add a SIGTERM default AOFRW test (#12064) 2023-04-18 16:14:26 +03:00
slowlog.tcl Exit early if slowlog/acllog max len set to zero (#12965) 2024-01-22 16:01:04 -08:00
sort.tcl Fix get # option in sort command (#13608) 2024-10-22 09:55:00 +08:00
tls.tcl Add support for reading encrypted keyfiles. (#8644) 2021-03-22 13:27:46 +02:00
tracking.tcl Bump codespell from 2.2.4 to 2.2.5 (#12557) 2023-09-08 16:10:17 +03:00
violations.tcl Run large-memory tests as solo. (#10626) 2022-04-24 17:29:35 +03:00
wait.tcl WAITAOF: Update fsynced_reploff_pending even if there's nothing to fsync (#12622) 2023-09-28 17:19:20 +03:00