From 30318778e857016aed4f0d10e3c8cdcd24b07a54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 19 Jan 2024 16:48:22 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 redis revision a7a290807b4521ee06e254bb40ed5d76 --- .gitattributes | 23 + README.SUSE | 84 ++ ppc-atomic.patch | 14 + redis-7.2.4.tar.gz | 3 + redis-conf.patch | 77 ++ redis-sentinel.target | 3 + redis-sentinel@.service | 31 + redis-user.conf | 2 + redis.changes | 2406 +++++++++++++++++++++++++++++++++++++++ redis.hashes | 174 +++ redis.logrotate | 10 + redis.spec | 182 +++ redis.sysctl | 12 + redis.target | 3 + redis.tmpfiles.d | 2 + redis@.service | 30 + reproducible.patch | 26 + 17 files changed, 3082 insertions(+) create mode 100644 .gitattributes create mode 100644 README.SUSE create mode 100644 ppc-atomic.patch create mode 100644 redis-7.2.4.tar.gz create mode 100644 redis-conf.patch create mode 100644 redis-sentinel.target create mode 100644 redis-sentinel@.service create mode 100644 redis-user.conf create mode 100644 redis.changes create mode 100644 redis.hashes create mode 100644 redis.logrotate create mode 100644 redis.spec create mode 100644 redis.sysctl create mode 100644 redis.target create mode 100644 redis.tmpfiles.d create mode 100644 redis@.service create mode 100644 reproducible.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/README.SUSE b/README.SUSE new file mode 100644 index 0000000..17fa573 --- /dev/null +++ b/README.SUSE @@ -0,0 +1,84 @@ + README.SUSE +------------- + + Redis Server +============== + +1. cp -a /etc/redis/default.conf.example /etc/redis/instancename.conf + +We use the "cp -a" here, so that our permissions are preserved. +In case you copied the file with out the "-a" + +chown root:redis /etc/redis/instancename.conf +chmod u=rw,g=r,o= /etc/redis/instancename.conf + +2. change at least pidfile, logfile and dir setting +# the pid file *has* to match your config filename without the ".conf" + +pidfile /run/redis/instancename.pid +logfile /var/log/redis/instancename.log +dir /var/lib/redis/instancename/ + +If you want to run more than one instance you also have to change the +socket path and/or the ip:port combination. + e.g. /run/redis/instancename.sock + +Also make sure if you copy configurations from somewhere, that "daemonize" +should be set to "no". + +3. create the database dir: +$ install -d -o redis -g redis -m 0750 /var/lib/redis/instancename/ + +4. systemctl start redis@instancename +5. systemctl enable redis@instancename + +6. To stop/restart all instances at the same time use: + +systemctl restart redis.target +systemctl stop redis.target + + Redis Sentinel +================ + +1. cp -a /etc/redis/sentinel.conf.example /etc/redis/sentinel-instancename.conf + +We use the "cp -a" here, so that our permissions are preserved. +In case you copied the file with out the "-a" + +chown root:redis /etc/redis/sentinel-instancename.conf +chmod u=rw,g=rw,o= /etc/redis/sentinel-instancename.conf + +Please note that the sentinel config needs write permissions for the group. +The chmod line differs from the line for the normal redis server. + +2. change at least pidfile, logfile setting +# the pid file *has* to match your config filename without the ".conf" + +pidfile /run/redis/instancename.pid +logfile /var/log/redis/instancename.log + +If you want to run more than one instance you also have to change the +socket path and/or the ip:port combination. + e.g. /run/redis/instancename.sock + +Also make sure if you copy configurations from somewhere, that "daemonize" +should be set to "no". + +4. systemctl start redis-sentinel@instancename +5. systemctl enable redis-sentinel@instancename + +6. To stop/restart all instances at the same time use: + +systemctl restart redis-sentinel.target +systemctl stop redis-sentinel.target + + Integration with apache when using unix domain sockets +========================================================= + +If you plan to use redis in combination with apache, then you should +add 'redis' to apache group and set 'unixsocketperm 770': +$ usermod -a -G redis wwwrun +$ systemctl restart apache2 +then apache is able to connect to redis socket + + diff --git a/ppc-atomic.patch b/ppc-atomic.patch new file mode 100644 index 0000000..20e08f4 --- /dev/null +++ b/ppc-atomic.patch @@ -0,0 +1,14 @@ +diff -ur redis-6.2.3.orig/src/Makefile redis-6.2.3/src/Makefile +--- redis-6.2.3.orig/src/Makefile 2021-05-03 21:57:00.000000000 +0200 ++++ redis-6.2.3/src/Makefile 2021-05-04 08:48:20.064568420 +0200 +@@ -96,6 +96,10 @@ + # Linux ARM32 needs -latomic at linking time + ifneq (,$(findstring armv,$(uname_M))) + FINAL_LIBS+=-latomic ++else ++ifneq (,$(findstring ppc,$(uname_M))) ++ FINAL_LIBS+=-latomic ++endif + endif + + ifeq ($(uname_S),SunOS) diff --git a/redis-7.2.4.tar.gz b/redis-7.2.4.tar.gz new file mode 100644 index 0000000..5c92808 --- /dev/null +++ b/redis-7.2.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d104c26a154b29fd67d6568b4f375212212ad41e0c2caa3d66480e78dbd3b59 +size 3386861 diff --git a/redis-conf.patch b/redis-conf.patch new file mode 100644 index 0000000..cfd6169 --- /dev/null +++ b/redis-conf.patch @@ -0,0 +1,77 @@ +diff --git a/redis.conf b/redis.conf +index 97f077b0d..6ba6b290e 100644 +--- a/redis.conf ++++ b/redis.conf +@@ -306,7 +306,7 @@ tcp-keepalive 300 + # By default Redis does not run as a daemon. Use 'yes' if you need it. + # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. + # When Redis is supervised by upstart or systemd, this parameter has no impact. +-daemonize no ++daemonize yes + + # If you run Redis from upstart or systemd, Redis can interact with your + # supervision tree. Options: +@@ -324,7 +324,7 @@ daemonize no + # The default is "no". To run under upstart/systemd, you can simply uncomment + # the line below: + # +-# supervised auto ++supervised systemd + + # If a pid file is specified, Redis writes it where specified at startup + # and removes it at exit. +@@ -338,7 +338,7 @@ daemonize no + # + # Note that on modern Linux systems "/run/redis.pid" is more conforming + # and should be used instead. +-pidfile /var/run/redis_6379.pid ++pidfile /run/redis/default.pid + + # Specify the server verbosity level. + # This can be one of: +@@ -352,7 +352,8 @@ loglevel notice + # Specify the log file name. Also the empty string can be used to force + # Redis to log on the standard output. Note that if you use standard + # output for logging but daemonize, logs will be sent to /dev/null +-logfile "" ++# logfile "" ++logfile /var/log/redis/default.log + + # To enable logging to the system logger, just set 'syslog-enabled' to yes, + # and optionally update the other syslog parameters to suit your needs. +@@ -507,7 +508,7 @@ rdb-del-sync-files no + # The Append Only File will also be created inside this directory. + # + # Note that you must specify a directory here, not a file name. +-dir ./ ++dir /var/lib/redis/default/ + + ################################# REPLICATION ################################# + +diff --git a/sentinel.conf b/sentinel.conf +index b7b3604f0..8262608ad 100644 +--- a/sentinel.conf ++++ b/sentinel.conf +@@ -13,11 +13,12 @@ port 26379 + # Note that Redis will write a pid file in /var/run/redis-sentinel.pid when + # daemonized. + daemonize no ++supervised systemd + + # When running daemonized, Redis Sentinel writes a pid file in + # /var/run/redis-sentinel.pid by default. You can specify a custom pid file + # location here. +-pidfile /var/run/redis-sentinel.pid ++pidfile /run/redis/sentinel-default.pid + + # Specify the server verbosity level. + # This can be one of: +@@ -31,7 +32,7 @@ loglevel notice + # Specify the log file name. Also the empty string can be used to force + # Sentinel to log on the standard output. Note that if you use standard + # output for logging but daemonize, logs will be sent to /dev/null +-logfile "" ++logfile /var/log/redis/sentinel-default.log + + # To enable logging to the system logger, just set 'syslog-enabled' to yes, + # and optionally update the other syslog parameters to suit your needs. diff --git a/redis-sentinel.target b/redis-sentinel.target new file mode 100644 index 0000000..590f984 --- /dev/null +++ b/redis-sentinel.target @@ -0,0 +1,3 @@ +[Unit] +Description=Redis Sentinel target allowing to start/stop all redis-sentinel@.service instances at once + diff --git a/redis-sentinel@.service b/redis-sentinel@.service new file mode 100644 index 0000000..5065959 --- /dev/null +++ b/redis-sentinel@.service @@ -0,0 +1,31 @@ +[Unit] +Description=Redis Sentinel instance: %i +After=network.target +PartOf=redis-sentinel.target + +[Service] +Type=notify +User=redis +Group=redis +PrivateTmp=true +# added automatically, for details please see +# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort +ProtectSystem=full +ProtectHome=true +PrivateDevices=true +ProtectHostname=true +ProtectClock=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true +# end of automatic additions +ReadWritePaths=/etc/redis +PIDFile=/run/redis/sentinel-%i.pid +ExecStart=/usr/sbin/redis-sentinel /etc/redis/sentinel-%i.conf +LimitNOFILE=10240 +Restart=on-failure + +[Install] +WantedBy=multi-user.target redis.target diff --git a/redis-user.conf b/redis-user.conf new file mode 100644 index 0000000..b9ab56f --- /dev/null +++ b/redis-user.conf @@ -0,0 +1,2 @@ +# Type Name ID GECOS [HOME] +u redis - "User for redis key-value store" /var/lib/redis diff --git a/redis.changes b/redis.changes new file mode 100644 index 0000000..9682d3c --- /dev/null +++ b/redis.changes @@ -0,0 +1,2406 @@ +------------------------------------------------------------------- +Tue Jan 9 13:02:41 UTC 2024 - Marcus Rueckert + +- redis 7.2.4: (boo#1218646) + - Security fixes + - (CVE-2023-41056) In some cases, Redis may incorrectly handle + resizing of memory buffers which can result in incorrect + accounting of buffer sizes and lead to heap overflow and + potential remote code execution. + - Bug fixes + - Fix crashes of cluster commands clusters with mixed versions + of 7.0 and 7.2 (#12805, #12832) + - Fix slot ownership not being properly handled when deleting a + slot from a node (#12564) + - Fix atomicity issues with the RedisModuleEvent_Key module API + event (#12733) + +------------------------------------------------------------------- +Fri Nov 3 23:44:05 UTC 2023 - Marcus Rueckert + +- redis 7.2.3: + - Fix file descriptor leak preventing deleted files from freeing + disk space on replicas (#12693) + - Fix a possible crash after cluster node removal (#12702) + +------------------------------------------------------------------- +Fri Oct 20 10:03:33 UTC 2023 - Danilo Spinella + +- redis 7.2.2: + * (CVE-2023-45145) The wrong order of listen(2) and chmod(2) calls creates a + race condition that can be used by another process to bypass desired Unix + socket permissions on startup, bsc#1216376 + * WAITAOF could timeout in the absence of write traffic in case a new AOF is + created and an AOF rewrite can't immediately start + * Fix crash when running rebalance command in a mixed cluster of 7.0 and 7.2 + nodes + * Fix the return type of the slot number in cluster shards to integer, which + makes it consistent with past behavior + * Fix CLUSTER commands are called from modules or scripts to return TLS info + appropriately + redis-cli, fix crash on reconnect when in SUBSCRIBE mode + * Fix overflow calculation for next timer event + +------------------------------------------------------------------- +Thu Sep 7 14:31:26 UTC 2023 - Danilo Spinella + +- redis 7.2.1: + * (CVE-2023-41053) Redis does not correctly identify keys accessed by SORT_RO and, + as a result, may grant users executing this command access to keys that are not + explicitly authorized by the ACL configuration. (bsc#1215094) + * Fix crashes when joining a node to an existing 7.0 Redis Cluster + * Correct request_policy and response_policy command tips on for some admin / + configuration commands +- Refresh redis.hashes + +------------------------------------------------------------------- +Tue Aug 15 11:28:07 UTC 2023 - Marcus Rueckert + +- redis 7.2.0 + - Bug Fixes + - redis-cli in cluster mode handles unknown-endpoint (#12273) + - Update request / response policy hints for a few commands + (#12417) + - Ensure that the function load timeout is disabled during + loading from RDB/AOF and on replicas. (#12451) + - Fix false success and a memory leak for ACL selector with bad + parenthesis combination (#12452) + - Fix the assertion when script timeout occurs after it + signaled a blocked client (#12459) + - Fixes for issues in previous releases of Redis 7.2 + - Update MONITOR client's memory correctly for INFO and + client-eviction (#12420) + - The response of cluster nodes was unnecessarily adding an + extra comma when no hostname was present. (#12411) +- refreshed redis-conf.patch: +- switch to autosetup now that we switched the last patch to patch + level 1 + +------------------------------------------------------------------- +Wed Jul 12 14:10:43 UTC 2023 - Danilo Spinella + +- redis 7.0.12: + * (CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger + a heap overflow in the cjson and cmsgpack libraries, and result in heap + corruption and potentially remote code execution. The problem exists in all + versions of Redis with Lua scripting support, starting from 2.6, and affects + only authenticated and authorized users. (bsc#1213193) + * (CVE-2023-36824) Extracting key names from a command and a list of arguments + may, in some cases, trigger a heap overflow and result in reading random heap + memory, heap corruption and potentially remote code execution. Specifically: + using COMMAND GETKEYS* and validation of key names in ACL rules. (bsc#1213249) + * Re-enable downscale rehashing while there is a fork child + * Fix possible hang in HRANDFIELD, SRANDMEMBER, ZRANDMEMBER when used with + * Improve fairness issue in RANDOMKEY, HRANDFIELD, SRANDMEMBER, ZRANDMEMBER, + SPOP, and eviction + * Fix WAIT to be effective after a blocked module command being unblocked + * Avoid unnecessary full sync after master restart in a rare case + +------------------------------------------------------------------- +Fri May 19 11:23:43 UTC 2023 - Jiri Srain + +- refresh redis-hashes from upstream source + +------------------------------------------------------------------- +Mon Apr 17 17:14:26 UTC 2023 - Marcus Rueckert + +- redis 7.0.11 + - (CVE-2023-28856) Authenticated users can use the HINCRBYFLOAT + command to create an invalid hash field that will crash Redis + on access (boo#1210548) + - Add a missing fsync of AOF file in rare cases + - Disconnect pub-sub subscribers when revoking allchannels + permission + - Fix a compiler fortification induced crash when used with link + time optimizations +- Drop get-old-size-calculations.patch: + replaced with proper fix + +------------------------------------------------------------------- +Fri Mar 24 19:18:24 UTC 2023 - Marcus Rueckert + +- Added get-old-size-calculations.patch: + my workaround for https://github.com/redis/redis/issues/11965 + +------------------------------------------------------------------- +Mon Mar 20 21:22:02 UTC 2023 - Andreas Stieger + +- redis 7.0.10 + * CVE-2023-28425: Specially crafted MSETNX command can lead to + assertion and denial-of-service (boo#1209528) + * Large blocks of replica client output buffer may lead to psync + loops and unnecessary memory usage + * Fix CLIENT REPLY OFF|SKIP to not silence push notifications + * Trim excessive memory usage in stream nodes when exceeding + `stream-node-max-bytes` + * Fix module RM_Call commands failing with OOM when maxmemory is + changed to zero + +------------------------------------------------------------------- +Mon Mar 20 21:16:24 UTC 2023 - Andreas Stieger + +- redis 7.0.9 + * CVE-2023-25155: Specially crafted SRANDMEMBER, ZRANDMEMBER, and + HRANDFIELD commands can trigger an integer overflow, resulting + in a runtime assertion and termination of the Redis server + process. Previously patched, drop + Integer-Overflow-in-RAND-commands-can-lead-to-assert.patch + * CVE-2022-36021: String matching commands (like SCAN or KEYS) + with a specially crafted pattern to trigger a denial-of-service + attack on Redis, causing it to hang and consume 100% CPU time. + Previously upatched, drop + String-pattern-matching-had-exponential-time-complex.patch + * Fix a crash when reaching the maximum invalidations limit of + client-side tracking + * Fix a crash when SPUBLISH is used after passing the + cluster-link-sendbuf-limit + * Fix possible memory corruption in FLUSHALL when a client + watches more than one key + * Fix cluster inbound link keepalive time + * Flush propagation list in active-expire of writable replicas to + fix an assertion + * Avoid propagating DEL of lazy expire from SCAN and RANDOMKEY as + MULTI-EXEC + * Avoid realloc to reduce size of strings when it is unneeded + * Improve CLUSTER SLOTS reply efficiency for non-continuous slots + +------------------------------------------------------------------- +Wed Mar 1 16:29:28 UTC 2023 - Valentin Lefebvre + +- Fix CVE-2022-36021 (bsc#1208790 CVE-2022-36021) + * String-pattern-matching-had-exponential-time-complex.patch +- Fix CVE-2023-25155 (bsc#1208793 CVE-2023-25155) + * Integer-Overflow-in-RAND-commands-can-lead-to-assert.patch + +------------------------------------------------------------------- +Mon Jan 16 21:00:00 UTC 2023 - Andreas Stieger + +- redis 7.0.8 + * CVE-2022-35977: Integer overflow in the Redis SETRANGE and + SORT/SORT_RO commands can drive Redis to OOM panic boo#1207202 + * CVE-2023-22458: Integer overflow in the Redis HRANDFIELD and + ZRANDMEMBER commands can lead to denial-of-service boo#1207203 + * Avoid possible hang when client issues long KEYS, SRANDMEMBER, + HRANDFIELD, and ZRANDMEMBER commands and gets disconnected by + client output buffer limit + * Make sure that fork child doesn't do incremental rehashing + * Fix a bug where blocking commands with a sub-second timeout + would block forever + * Fix sentinel issue if replica changes IP + +------------------------------------------------------------------- +Fri Dec 16 13:15:09 UTC 2022 - Michael Ströder + +- Update to version 7.0.7 + * Fix regression from Redis 7.0.6 in distance replies + of Geo commands (#11631) + +------------------------------------------------------------------- +Thu Dec 15 21:05:16 UTC 2022 - Andreas Stieger + +- Update to version 7.0.6: + * RM_ResetDataset module API should not clear the functions + * RM_Call module API used with the "C" flag to run scripts, + would now cause the commands in the script to check ACL with + the designated user + * Geo commands speedups + * Fix EVAL command performance regression from Redis 7.0 + * Reduce EXPIRE commands performance regression from Redis 7.0 + * Optimize commands returning double values, mainly affecting zset + commands + * Optimize Lua parsing of some command responses + * Optimize client memory usage tracking operation while client + eviction is disabled + * Multiple bug fixes for crashes, hangs, and incorrect behavior +- drop cve-2022-3647.patch now upstream + +------------------------------------------------------------------- +Mon Oct 24 14:56:10 UTC 2022 - Danilo Spinella + +- Fix CVE-2022-3647, crash in sigsegvHandler debug function + (CVE-2022-3647, bsc#1204633) + * cve-2022-3647.patch + +------------------------------------------------------------------- +Wed Sep 21 20:36:11 UTC 2022 - Michael Ströder + +- Update to version 7.0.5 (boo#1203638) + + Security Fixes: + * (CVE-2022-35951) Executing a XAUTOCLAIM command on a stream key in a specific + state, with a specially crafted COUNT argument, may cause an integer overflow, + a subsequent heap overflow, and potentially lead to remote code execution. + The problem affects Redis versions 7.0.0 or newer + [reported by Xion (SeungHyun Lee) of KAIST GoN]. + + Module API changes + * Fix RM_Call execution of scripts when used with M/W/S flags to properly + handle script flags (#11159) + * Fix RM_SetAbsExpire and RM_GetAbsExpire API registration (#11025, #8564) + + Bug Fixes + * Fix a hang when eviction is combined with lazy-free and maxmemory-eviction-tenacity is set to 100 (#11237) + * Fix a crash when a replica may attempt to set itself as its master as a result of a manual failover (#11263) + * Fix a bug where a cluster-enabled replica node may permanently set its master's hostname to '?' (#10696) + * Fix a crash when a Lua script returns a meta-table (#11032) + + Fixes for issues in previous releases of Redis 7.0 + * Fix redis-cli to do DNS lookup before sending CLUSTER MEET (#11151) + * Fix crash when a key is lazy expired during cluster key migration (#11176) + * Fix AOF rewrite to fsync the old AOF file when a new one is created (#11004) + * Fix some crashes involving a list containing entries larger than 1GB (#11242) + * Correctly handle scripts with a non-read-only shebang on a cluster replica (#11223) + * Fix memory leak when unloading a module (#11147) + * Fix bug with scripts ignoring client tracking NOLOOP (#11052) + * Fix client-side tracking breaking protocol when FLUSHDB / FLUSHALL / SWAPDB is used inside MULTI-EXEC (#11038) + * Fix ACL: BITFIELD with GET and also SET / INCRBY can be executed with read-only key permission (#11086) + * Fix missing sections for INFO ALL when also requesting a module info section (#11291) + +------------------------------------------------------------------- +Thu Sep 1 07:15:24 UTC 2022 - Stefan Schubert + +- Migration to /usr/etc: Saving user changed configuration files + in /etc and restoring them while an RPM update. + +------------------------------------------------------------------- +Mon Jul 18 14:36:34 UTC 2022 - Michael Ströder + +- Security update to version 7.0.4 + (CVE-2022-31144) A specially crafted XAUTOCLAIM command on a stream + key in a specific state may result with heap overflow, and potentially + remote code execution. The problem affects Redis versions 7.0.0 or newer. + +------------------------------------------------------------------- +Mon Jul 11 15:02:24 UTC 2022 - Michael Ströder + +- Update to version 7.0.3 + * Performance and resource utilization improvements + - Optimize zset conversion on large ZRANGESTORE (#10789) + - Optimize the performance of sending PING on large clusters (#10624) + - Allow for faster restart of Redis in cluster mode (#10912) + * INFO fields and introspection changes + - Add missing sharded pubsub keychannel count to CLIENT LIST (#10895) + - Add missing pubsubshard_channels field in INFO STATS (#10929) + * Module API changes + - Add RM_StringToULongLong and RM_CreateStringFromULongLong (#10889) + - Add RM_SetClientNameById and RM_GetClientNameById (#10839) + * Changes in CLI tools + - Add missing cluster-port support to redis-cli --cluster (#10344) + * Other General Improvements + - Account sharded pubsub channels memory consumption (#10925) + - Allow ECHO in loading and stale modes (#10853) + - Cluster: Throw -TRYAGAIN instead of -ASK on migrating nodes for multi-key + - commands when the node only has some of the keys (#9526) + * Bug Fixes + - TLS: Notify clients on connection shutdown (#10931) + - Fsync directory while persisting AOF manifest, RDB file, and config file (#10737) + - Script that made modification will not break with unexpected NOREPLICAS error (#10855) + - Cluster: Fix a bug where nodes may not acknowledge a CLUSTER FAILOVER TAKEOVER + - after a replica reboots (#10798) + - Cluster: Fix crash during handshake and cluster shards call (#10942) + * Fixes for issues in previous releases of Redis 7.0 + - TLS: Fix issues with large replies (#10909) + - Correctly report the startup warning for vm.overcommit_memory (#10841) + - redis-server command line allow passing config name and value in the same argument (#10866) + - Support --save command line argument with no value for backwards compatibility (#10866) + - Fix CLUSTER RESET command regression requiring an argument (#10898) + +------------------------------------------------------------------- +Mon Jul 4 09:41:49 UTC 2022 - Danilo Spinella + +- Use bundled jemalloc to fix active defragmentation, fixes bsc#1200913. +- Remove patch: + * Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch + +------------------------------------------------------------------- +Wed Jun 29 10:54:08 UTC 2022 - Stefan Schubert + +- Moved logrotate files from user specific directory /etc/logrotate.d + to vendor specific directory /usr/etc/logrotate.d. + +------------------------------------------------------------------- +Sun Jun 12 16:30:32 UTC 2022 - Michael Ströder + +- Update to version 7.0.2 + * Fixed SET and BITFIELD commands being wrongly marked movablekeys (#10837) + Regression in 7.0 possibly resulting in excessive roundtrip from cluster clients. + * Fix crash when /proc/sys/vm/overcommit_memory is inaccessible (#10848) + Regression in 7.0.1 resulting in crash on startup on some configurations. + +------------------------------------------------------------------- +Wed Jun 8 19:24:25 UTC 2022 - Michael Ströder + +- Update to version 7.0.1 + * Improvements + - Add warning for suspected slow system clocksource setting + Add --check-system command line option. (#10636) + - Allow read-only scripts (*_RO commands, and ones with `no-writes` flag) + during CLIENT PAUSE WRITE (#10744) + - Add `readonly` flag in COMMAND command for EVAL_RO, EVALSHA_RO and FCALL_RO (#10728) + - redis-server command line arguments now accept one string with spaces + for multi-arg configs (#10660) + * Potentially Breaking Changes + - Omitting a config option value in command line argument no longer works (#10660) + - Hide the `may_replicate` flag from the COMMAND command response (#10744) + * Potentially Breaking Changes for new Redis 7.0 features + - Protocol: Sharded pubsub publish emits `smessage` instead of `message` (#10792) + - CLUSTER SHARDS returns slots as RESP integers, not strings (#10683) + - Block PFCOUNT and PUBLISH in read-only scripts (*_RO commands, and no-writes) (#10744) + - Scripts that declare the `no-writes` flag are implicitly `allow-oom` too (#10699) + * Changes in CLI tools + - redis-cli --bigkeys, --memkeys, --hotkeys, --scan. Finish nicely after Ctrl+C (#10736) + * Platform / toolchain support related improvements + - Support tcp-keepalive config interval on MacOs (#10667) + - Support RSS metrics on Haiku OS (#10687) + * INFO fields and introspection changes + - Add isolated network metrics for replication. (#10062, #10810) + * Module API changes + - Add two more new checks to RM_Call script mode (#10786) + - Add new RM_Call flag to let Redis automatically refuse `deny-oom` commands (#10786) + - Add module API RM_MallocUsableSize (#10795) + - Add missing REDISMODULE_NOTIFY_NEW (#10688) + - Fix cursor type in RedisModuleScanCursor to handle more than 2^31 elements (#10698) + - Fix RM_Yield bugs and RM_Call("EVAL") OOM check bug (#10786) + - Fix bugs in enum configs with overlapping bit flags (#10661) + * Bug Fixes + - FLUSHALL correctly resets rdb_changes_since_last_save INFO field (#10691) + - FLUSHDB is now propagated to replicas / AOF, even if the db is empty (#10691) + - Replica fail and retry the PSYNC if the master is unresponsive (#10726) + - Fix ZRANGESTORE crash when zset_max_listpack_entries is 0 (#10767) + +------------------------------------------------------------------- +Tue May 10 13:31:18 UTC 2022 - Danilo Spinella + +- Unbundle jemalloc, fixes bsc#199164 + * Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch + +------------------------------------------------------------------- +Tue May 10 08:05:09 UTC 2022 - Johannes Segitz + +- Add ReadWritePaths=/etc/redis to redis-sentinel@.service (bsc#1199198) + +------------------------------------------------------------------- +Fri May 6 17:59:39 UTC 2022 - Danilo Spinella + +- Update to version 7.0.0: + https://raw.githubusercontent.com/redis/redis/7.0/00-RELEASENOTES +- Remove upstreamed patch: + * getMcontextEip-return-value.patch + +------------------------------------------------------------------- +Wed Apr 27 21:17:06 UTC 2022 - Andreas Stieger + +- redis 6.2.7: + * CVE-2022-24736: An attacker attempting to load a specially + crafted Lua script can cause NULL pointer dereference which + will result with a crash of the redis-server process + (boo#1198953) + * CVE-2022-24735: By exploiting weaknesses in the Lua script + execution environment, an attacker with access to Redis can + inject Lua code that will execute with the (potentially higher) + privileges of another Redis user (boo#1198952) + * LPOP/RPOP with count against non-existing list return null array + * LPOP/RPOP used to produce wrong replies when count is 0 + * Speed optimization in command execution pipeline + * Fix regression in Z[REV]RANGE commands (by-rank) introduced in + Redis 6.2 + * Fix OpenSSL 3.0.x related issues + * Bug fixes + +------------------------------------------------------------------- +Mon Nov 15 12:57:13 UTC 2021 - Johannes Segitz + +- Added hardening to systemd service(s) (bsc#1181400). Modified: + * redis-sentinel@.service + * redis@.service + +------------------------------------------------------------------- +Mon Oct 4 20:23:56 UTC 2021 - Michael Ströder + +- redis 6.2.6 with security fixes for + * Security fixes: + - CVE-2021-41099: Integer to heap buffer overflow handling certain string + commands and network payloads, when proto-max-bulk-len is manually configured + to a non-default, very large value (boo#1191299) + - CVE-2021-32762: Integer to heap buffer overflow issue in redis-cli and + redis-sentinel parsing large multi-bulk replies on some older and less common + platforms (boo#1191300) + - CVE-2021-32687: Integer to heap buffer overflow with intsets, when + set-max-intset-entries is manually configured to a non-default, very large + value (boo#1191302) + - CVE-2021-32675: Denial Of Service when processing RESP request payloads with + a large number of elements on many connections (boo#1191303) + - CVE-2021-32672: Random heap reading issue with Lua Debugger (boo#1191304) + - CVE-2021-32628: Integer to heap buffer overflow handling ziplist-encoded + data types, when configuring a large, non-default value for + hash-max-ziplist-entries, hash-max-ziplist-value, zset-max-ziplist-entries + or zset-max-ziplist-value (boo#1191305) + - CVE-2021-32627: Integer to heap buffer overflow issue with streams, when + configuring a non-default, large value for proto-max-bulk-len and + client-query-buffer-limit (boo#1191305) + - CVE-2021-32626: Specially crafted Lua scripts may result with Heap buffer + overflow (boo#1191306) + * Bug fixes that involve behavior changes: + - GEO* STORE with empty source key deletes the destination key and return 0 + Previously it would have returned an empty array like the non-STORE variant. + - PUBSUB NUMPAT replies with number of patterns rather than number of subscriptions + This actually changed in 6.2.0 but was overlooked and omitted from the release notes. + * Bug fixes that are only applicable to previous releases of Redis 6.2: + - Fix CLIENT PAUSE, used an old timeout from previous PAUSE + - Fix CLIENT PAUSE in a replica would mess the replication offset + - Add some missing error statistics in INFO errorstats + * Other bug fixes: + - Fix incorrect reply of COMMAND command key positions for MIGRATE command + - Fix appendfsync to always guarantee fsync before reply, on MacOS and FreeBSD (kqueue) + - Fix the wrong misdetection of sync_file_range system call, affecting performance + * CLI tools: + - When redis-cli received ASK response, it didn't handle it + * Improvements: + - Add latency monitor sample when key is deleted via lazy expire + - Sanitize corrupt payload improvements + - Delete empty keys when loading RDB file or handling a RESTORE command + +------------------------------------------------------------------- +Thu Jul 22 13:44:32 UTC 2021 - Andreas Stieger + +- redis 6.2.5: + * CVE-2021-32761: Fix integer overflow in BITFIELD on 32-bit + boo#1188598 + * Change reply type for ZPOPMAX/MIN with count in RESP3 to nested + array + * Was using a flat array like in RESP2 instead of a nested array + like ZRANGE does. + * Fix reply type for HRANDFIELD and ZRANDMEMBER when key is + missing + * Was using a null array instead of an empty array + * Fix reply type for ZRANGESTORE when source key is missing + * Was using an empty array like ZRANGE instead of 0 (used in the + STORE variant) + * redis-cli cluster import command may issue wrong MIGRATE command, + sending COPY instead of REPLACE (#8945) + * redis-cli --rdb fixes when using "-" to write to stdout + * redis-cli support for RESP3 set type in CSV and RAW output + * ad Module API for getting current command name + * Fix RM_StringTruncate when newlen is 0 + * Fix CLIENT UNBLOCK crashing modules without timeout callback + * Further developer visible bug fixes + +------------------------------------------------------------------- +Wed Jun 2 07:57:17 UTC 2021 - Andreas Stieger + +- redis 6.2.4: + * CVE-2021-32625: An integer overflow bug could be exploited by + using the STRALGO LCS command to cause remote remote code + execution (boo#1186722) + * Fix crash after a diskless replication fork child is terminated + * Fix redis-benchmark crash on unsupported configs + * Fix crash in UNLINK on a stream key with deleted consumer groups + * SINTERSTORE: Add missing keyspace del event when none of the + sources exist + * Sentinel: Fix CONFIG SET of empty string + sentinel-user/sentinel-pass configs + * Enforce client output buffer soft limit when no traffic + * Hide AUTH passwords in MIGRATE command from slowlog + +------------------------------------------------------------------- +Fri May 21 20:30:15 UTC 2021 - Jan Engelhardt + +- Move sysctl file to /usr/lib/sysctl.d, so that it can be + overridden by an admin in /etc. + +------------------------------------------------------------------- +Tue May 4 06:23:15 UTC 2021 - Michael Ströder + +- redis 6.2.3 + * CVE-2021-29477: Integer overflow in STRALGO LCS command (boo#1185729) + * CVE-2021-29478: Integer overflow in COPY command for large intsets (boo#1185730) + * Fix memory leak in moduleDefragGlobals + * Fix memory leak when doing lazy freeing client tracking table + * Block abusive replicas from sending command that could assert and crash redis + * Use a monotonic clock to check for Lua script timeout + * redis-cli: Do not use unix socket when we got redirected in cluster mode + * Fix RM_GetClusterNodeInfo() to correctly populate master id + +------------------------------------------------------------------- +Tue Apr 20 09:08:06 UTC 2021 - Andreas Stieger + +- Usage of OPENSSL_INIT_ATFORK in tls.c raises the minimum version + of OpenSSL 1.1.x to 1.1.1, say so in spec + +------------------------------------------------------------------- +Tue Apr 20 07:17:18 UTC 2021 - Michael Ströder + +- redis 6.2.2 + Bug fixes for regressions in previous releases of Redis 6.2: + * Fix BGSAVE, AOFRW, and replication slowdown due to child reporting CoW (#8645) + * Fix short busy loop when a timer event is about to fire (#8764) + * Fix default user, overwritten and reset users losing Pub/Sub channel permissions (#8723) + * Fix config rewrite with an empty save config resulting in default save values (#8719) + * Fix not starting on alpine/libmusl without IPv6 (#8655) + * Fix issues with propagation and MULTI/EXEC in modules (#8617) + * Several issues around nested calls and thread-safe contexts + Bug fixes that are only applicable to previous releases of Redis 6.2: + * ACL Pub/Sub channels permission handling for save/load scenario (#8794) + * Fix early rejection of PUBLISH inside MULTI-EXEC transaction (#8534) + * Fix missing SLOWLOG records for blocked commands (#8632) + * Allow RESET command during busy scripts (#8629) + * Fix some error replies that were not counted on stats (#8659) + Bug fixes: + * Add a timeout mechanism for replicas stuck in fullsync (#8762) + * Process HELLO command even if the default user has no permissions (#8633) + * Client issuing a long-running script and using a pipeline, got disconnected (#8715) + * Fix script kill to work also on scripts that use pcall (#8661) + * Fix list-compress-depth may compress more node than required (#8311) + * Fix redis-cli handling of rediss:// URL scheme (#8705) + * Cluster: Skip unnecessary check which may prevent failure detection (#8585) + * Cluster: Fix hang manual failover when replica just started (#8651) + * Sentinel: Fix info-refresh time field before sentinel gets a first response (#8567) + * Sentinel: Fix possible crash on failed connection attempt (#8627) + * Systemd: Send the readiness notification when a replica is ready to accept connections (#8409) + Command behavior changes: + * ZADD: fix awrong reply when INCR used with GT/LT which blocked the update (#8717) + * It was responding with the incremented value rather than nil + * XAUTOCLAIM: fix response to return the next available id as the cursor (#8725) + * Previous behavior was returning the last one which was already scanned + * XAUTOCLAIM: fix JUSTID to prevent incrementing delivery_count (#8724) + New config options: + * Add cluster-allow-replica-migration config option (#5285) + * Add replica-announced config option (#8653) + * Add support for plaintext clients in TLS cluster (#8587) + * Add support for reading encrypted keyfiles (#8644) + Improvements: + * Fix performance regression in BRPOP on Redis 6.0 (#8689) + * Avoid adding slowlog entries for config with sensitive data (#8584) + * Improve redis-cli non-binary safe string handling (#8566) + * Optimize CLUSTER SLOTS reply (#8541) + * Handle remaining fsync errors (#8419) + Info fields and introspection changes: + * Strip % sign from current_fork_perc info field (#8628) + * Fix RSS memory info on FreeBSD (#8620) + * Fix client_recent_max_input/output_buffer in 'INFO CLIENTS' when all clients drop (#8588) + * Fix invalid master_link_down_since_seconds in info replication (#8785) + Platform and deployment-related changes: + * Fix FreeBSD <12.x builds (#8603) + Modules: + * Add macros for RedisModule_log logging levels (#4246) + * Add RedisModule_GetAbsExpire / RedisModule_SetAbsExpire (#8564) + * Add a module type for key space notification (#8759) + * Set module eviction context flag only in masters (#8631) + * Fix unusable RedisModule_IsAOFClient API (#8596) + * Fix missing EXEC on modules propagation after failed EVAL execution (#8654) + * Fix edge-case when a module client is unblocked (#8618) + +------------------------------------------------------------------- +Sat Mar 13 14:28:47 UTC 2021 - Michael Ströder + +- replaced /var/run with /run for all PID file paths (bsc#1185072) + +------------------------------------------------------------------- +Thu Mar 4 13:21:32 UTC 2021 - Gareth McCarter + +- redis 6.2.1 + Bug fixes: + * Fix sanitize-dump-payload for stream with deleted records (#8568) + * Prevent client-query-buffer-limit config from being set to lower than 1mb (#8557) + Improvements: + * Make port, tls-port and bind config options modifiable at runtime (#8510) + Platform and deployment-related changes: + * Fix compilation error on non-glibc systems if jemalloc is not used (#8533) + * Improved memory consumption and memory usage tracking on FreeBSD (#8545) + * Fix compilation on ARM64 MacOS with jemalloc (#8458) + Modules: + * New Module API for getting user name of a client (#8508) + * Optimize RM_Call by utilizing a shared reusable client (#8516) + * Fix crash running CLIENT INFO via RM_Call (#8560) + +- includes changes from 6.2.0 GA: + * Integer overflow on 32-bit systems (CVE-2021-21309) + Bug fixes: + * Avoid 32-bit overflows when proto-max-bulk-len is set high (#8522) + * Fix broken protocol in client tracking tracking-redir-broken message (#8456) + * Avoid unsafe field name characters in INFO commandstats, errorstats, modules (#8492) + * XINFO able to access expired keys during CLIENT PAUSE WRITE (#8436) + * Fix allowed length for REPLCONF ip-address, needed due to Sentinel's support for hostnames (#8517) + * Fix broken protocol in redis-benchmark when used with -a or --dbnum (#8486) + * XADD counts deleted records too when considering switching to a new listpack (#8390) + Bug fixes that are only applicable to previous releases of Redis 6.2: + * Fixes in GEOSEARCH bybox (accuracy and mismatch between width and height) (#8445) + * Fix risk of OOM panic in HRANDFIELD, ZRANDMEMBER commands with huge negative count (#8429) + * Fix duplicate replicas issue in Sentinel, needed due to hostname support (#8481) + * Fix Sentinel configuration rewrite, an improvement of #8271 (#8480) + Command behavior changes: + * SRANDMEMBER uses RESP3 array type instead of set type (#8504) + * EXPIRE, EXPIREAT, SETEX, GETEX: Return error when provided expire time overflows (#8287) + Other behavior changes: + * Remove ACL subcommand validation if fully added command exists. (#8483) + Improvements: + * Optimize sorting in GEORADIUS / GEOSEARCH with COUNT (#8326) + * Optimize HRANDFIELD and ZRANDMEMBER case 4 when ziplist encoded (#8444) + * Optimize in-place replacement of elements in HSET, HINCRBY, LSET (#8493) + * Remove redundant list to store pubsub patterns (#8472) + * Add --insecure option to command line tools (#8416) + Info fields and introspection changes: + * Add INFO fields to track progress of BGSAVE, AOFRW, replication (#8414) + Modules: + * RM_ZsetRem: Delete key if empty, the bug could leave empty zset keys (#8453) + * RM_HashSet: Add COUNT_ALL flag and set errno (#8446) + +- includes changes from 6.2 RC3: + New commands / args: + * Add HRANDFIELD and ZRANDMEMBER commands (#8297) + * Add FAILOVER command (#8315) + * Add GETEX, GETDEL commands (#8327) + * Add PXAT/EXAT arguments to SET command (#8327) + * Add SYNC arg to FLUSHALL and FLUSHDB, and ASYNC/SYNC arg to SCRIPT FLUSH (#8258) + Sentinel: + * Add hostname support to Sentinel (#8282) + * Prevent file descriptors from leaking into Sentinel scripts (#8242) + * Fix config file line order dependency and config rewrite sequence (#8271) + New configuration options: + * Add set-proc-title config option to disable changes to the process title (#3623) + * Add proc-title-template option to control what's shown in the process title (#8397) + * Add lazyfree-lazy-user-flush config option to control FLUSHALL, FLUSHDB and SCRIPT FLUSH (#8258) + Bug fixes: + * AOF: recover from last write error by turning on/off appendonly config (#8030) + * Exit on fsync error when the AOF fsync policy is 'always' (#8347) + * Avoid assertions (on older kernels) when testing arm64 CoW bug (#8405) + * CONFIG REWRITE should honor umask settings (#8371) + * Fix firstkey,lastkey,step in COMMAND command for some commands (#8367) + Special considerations: + * Fix misleading description of the save configuration directive (#8337) + Improvements: + * A way to get RDB file via replication without excessive replication buffers (#8303) + * Optimize performance of clusterGenNodesDescription for large clusters (#8182) + Info fields and introspection changes: + * SLOWLOG and LATENCY monitor include unblocking time of blocked commands (#7491) + Modules: + * Add modules API for streams (#8288) + * Add event for fork child birth and termination (#8289) + * Add RM_BlockedClientMeasureTime* etc, to track background processing in commandstats (#7491) + * Fix bug in v6.2, wrong value passed to the new unlink callback (#8381) + * Fix bug in v6.2, modules blocked on keys unblock on commands like LPUSH (#8356) + +- includes changes from 6.2 RC2: + New commands / args: + * Add the REV, BYLEX and BYSCORE arguments to ZRANGE, and the ZRANGESTORE command (#7844) + * Add the XAUTOCLAIM command (#7973) + * Add the MINID trimming strategy and the LIMIT argument to XADD and XTRIM (#8169) + * Add the ANY argument to GEOSEARCH and GEORADIUS (#8259) + * Add the CH, NX, XX arguments to GEOADD (#8227) + * Add the COUNT argument to LPOP and RPOP (#8179) + * Add the WRITE argument to CLIENT PAUSE for pausing write commands exclusively (#8170) + * Change the proto-ver argument of HELLO to optional (#7377) + * Add the CLIENT TRACKINGINFO subcommand (#7309) + Command behavior changes: + * CLIENT TRACKING yields an error when given overlapping BCAST prefixes (#8176) + * SWAPDB invalidates WATCHed keys (#8239) + * SORT command behaves differently when used on a writable replica (#8283) + Other behavior changes: + * Avoid propagating MULTI/EXEC for read-only transactions (#8216) + * Remove the read-only flag from TIME, ECHO, ROLE, LASTSAVE (#8216) + * Fix the command flags of PFDEBUG (#8222) + * Tracking clients will no longer receive unnecessary key invalidation messages after FLUSHDB (#8039) + * Sentinel: Fix missing updates to the config file after SENTINEL SET command (#8229) + Bug fixes with compatibility implications (bugs introduced in Redis 6.0): + * Fix RDB CRC64 checksum on big-endian systems (#8270) + If you're using big-endian please consider the compatibility implications with + RESTORE, replication and persistence. + * Fix wrong order of key/value in Lua's map response (#8266) + If your scripts use redis.setresp() or return a map (new in Redis 6.0), please + consider the implications. + Bug fixes that are only applicable to previous releases of Redis 6.2: + * Resolve rare assertions in active defragmentation while loading (#8284, #8281) + Bug fixes: + * Fix the selection of a random element from large hash tables (#8133) + * Fix an issue where a forked process deletes the parent's pidfile (#8231) + * Fix crashes when enabling io-threads-do-reads (#8230) + * Fix a crash in redis-cli after executing cluster backup (#8267) + * Fix redis-benchmark to use an IP address for the first cluster node (#8154) + * Fix saving of strings larger than 2GB into RDB files (#8306) + Additional improvements: + * Improve replication handshake time (#8214) + * Release client tracking table memory asynchronously in cases where the DB is also freed asynchronously (#8039) + * Avoid wasteful transient memory allocation in certain cases (#8286, #5954) + * Handle binary string values by the 'requirepass' and 'masterauth' configs (#8200) + Platform and deployment-related changes: + * Install redis-check-rdb and redis-check-aof as symlinks to redis-server (#5745) + * Add a check for an ARM64 Linux kernel bug (#8224) + Due to the potential severity of this issue, Redis will refuse to run on + affected platforms by default. + Info fields and introspection changes: + * Add the errorstats section to the INFO command (#8217) + * Add the failed_calls and rejected_calls fields INFO's commandstats section (#8217) + * Report child copy-on-write metrics continuously (#8264) + Module API changes: + * Add the RedisModule_SendChildCOWInfo API (#8264) + * Add the may-replicate command flag (#8170) + +- includes changes from 6.2 RC1: + New commands / args: + * Add SMISMEMBER command that checks multiple members (#7615) + * Add ZMSCORE command that returns an array of scores (#7593) + * Add LMOVE and BLMOVE commands that pop and push arbitrarily (#6929) + * Add RESET command that resets client connection state (#7982) + * Add COPY command that copies keys (#7953) + * Add ZDIFF and ZDIFFSTORE commands (#7961) + * Add ZINTER and ZUNION commands (#7794) + * Add GEOSEARCH/GEOSEARCHSTORE commands for bounding box spatial queries (#8094) + * Add GET parameter to SET command, for more powerful GETSET (#7852) + * Add exclusive range query to XPENDING (#8130) + * Add exclusive range query to X[REV]RANGE (#8072) + * Add GT and LT options to ZADD for conditional score updates (#7818) + * Add CLIENT INFO and CLIENT LIST for specific ids (#8113) + * Add IDLE argument to XPENDING command (#7972) + * Add local address to CLIENT LIST, and a CLIENT KILL filter. (#7913) + * Add NOMKSTREAM option to XADD command (#7910) + * Add command introspection to Sentinel (#7940) + * Add SENTINEL MYID subcommand (#7858) + New features: + * Dump payload sanitization: prevent corrupt payload causing crashes (#7807) + Has flags to enable full O(N) validation (disabled by default). + * ACL patterns for Pub/Sub channels (#7993) + * Support ACL for Sentinel mode (#7888) + * Support getting configuration from both stdin and file at the same time (#7893) + Lets you avoid storing secrets on the disk. + New features in CLI tools: + * redis-cli RESP3 push support (#7609) + * redis-cli cluster import support source and target that require auth (#7994) + * redis-cli URIs able to provide user name in addition to password (#8048) + * redis-cli/redis-benchmark allow specifying the prefered ciphers/ciphersuites (#8005) + * redis-cli add -e option to exit with code when command execution fails (#8136) + Command behavior changes: + * EXISTS should not alter LRU (#8016) + In Redis 5.0 and 6.0 it would have touched the LRU/LFU of the key. + * OBJECT should not reveal logically expired keys (#8016) + Will now behave the same TYPE or any other non-DEBUG command. + * Improve db id range check for SELECT and MOVE (#8085) + Changes the error message text on a wrong db index. + * Modify AUTH / HELLO error message (#7648) + Changes the error message text when the user isn't found or is disabled. + * BITOPS length limited to proto_max_bulk_len rather than 512MB (#8096) + The limit is now configurable like in SETRANGE, and APPEND. + * GEORADIUS[BYMEMBER] can fail with -OOM if Redis is over the memory limit (#8107) + Other behavior changes: + * Optionally (default) fail to start if requested bind address is not available (#7936) + If you rely on Redis starting successfully even if one of the bind addresses + is not available, you'll need to tune the new config. + * Limit the main db dictionaries expansion to prevent key eviction (#7954) + In the past big dictionary rehashing could result in massive data eviction. + Now this rehashing is delayed (up to a limit), which can result in performance + loss due to hash collisions. + * CONFIG REWRITE is atomic and safer, but requires write access to the config file's folder (#7824, #8051) + This change was already present in 6.0.9, but was missing from the release + notes. + * A new incremental eviction mechanism that reduces latency on eviction spikes (#7653) + In pathological cases this can cause memory to grow uncontrolled and may require + specific tuning. + * Not resetting "save" config when Redis is started with command line arguments. (#7092) + In case you provide command line arguments without "save" and count on it + being disabled, Now the defaults "save" config will kick in. + * Update memory metrics for INFO during loading (#7690) + * When "supervised" config is enabled, it takes precedence over "daemonize". (#8036) + * Assertion and panic, print crash log without generating SIGSEGV (#7585) + * Added crash log report on SIGABRT, instead of silently exiting (#8004) + * Disable THP (Transparent Huge Pages) if enabled (#7381) + If you deliberately enabled it, you'll need to config Redis to keep it. + Bug fixes: + * Handle output buffer limits for module blocked clients (#8141) + Could result in a module sending reply to a blocked client to go beyond the + limit. + * Fix setproctitle related crashes. (#8150, #8088) + Caused various crashes on startup, mainly on Apple M1 chips or under + instrumentation. + * A module doing RM_Call could cause replicas to get nested MULTI (#8097). + * Backup/restore cluster mode keys to slots map for repl-diskless-load=swapdb (#8108) + In cluster mode with repl-diskless-load, when loading failed, slot map + wouldn't have been restored. + * Fix oom-score-adj-values range, and bug when used in config file (#8046) + Enabling setting this in the config file in a line after enabling it, would + have been buggy. + * Reset average ttl when empty databases (#8106) + Just causing misleading metric in INFO + * Disable rehash when Redis has child process (#8007) + This could have caused excessive CoW during BGSAVE, replication or AOFRW. + * Further improved ACL algorithm for picking categories (#7966) + Output of ACL GETUSER is now more similar to the one provided by ACL SETUSER. + * Fix bug with module GIL being released prematurely (#8061) + Could in theory (and rarely) cause multi-threaded modules to corrupt memory. + * Fix cluster redirect for module command with no firstkey. (#7539) + * Reduce effect of client tracking causing feedback loop in key eviction (#8100) + * Kill disk-based fork child when all replicas drop and 'save' is not enabled (#7819) + * Rewritten commands (modified for propagation) are logged as their original command (#8006) + * Fix cluster access to unaligned memory (SIGBUS on old ARM) #7958 + * If diskless repl child is killed, make sure to reap the child pid (#7742) + * Broadcast a PONG message when slot's migration is over, may reduce MOVED responses (#7571) + Other improvements: + * TLS Support in redis-benchmark (#7959) + * Accelerate diskless master connections, and general re-connections (#6271) + * Run active defrag while blocked / loading (#7726) + * Performance and memory reporting improvement - sds take control of its internal fragmentation (#7875) + * Speedup cluster failover. (#7948) + Platform / toolchain support related improvements: + * Optionally (not by default) use H/W Monotonic clock for faster time sampling (#7644) + * Remove the requirements for C11 and _Atomic supporting compiler (#7707) + This would allow to more easily build and use Redis on older systems and + compilers again. + * Fix crash log registers output on ARM. (#8020) + * Raspberry build fix. (#8095) + * Setting process title support for Haiku. (#8060) + * DragonFlyBSD RSS memory sampling support. (#8023) + New configuration options: + * Enable configuring OpenSSL using the standard openssl.cnf (#8143) + * oom-score-adj-values config can now take absolute values (besides relative ones) (#8046) + * TLS: Add different client cert support. (#8076) + * Note that a few other changes listed above added their config options. + Info fields and introspection changes: + * Add INFO fields to track diskless and disk-based replication progress (#7981) + * Add INFO field for main thread cpu time, and scrape system time. (#8132) + * Add total_forks to INFO STATS (#8155) + * Add maxclients and cluster_connections to INFO CLIENTS (#7979) + * Add tracking bcast flag and client redirection in client list (#7995) + * Fixed INFO client_recent_max_input_buffer includes argv array (#8065, see #7874) + * Note that a few other changes listed above added their info fields. + Module API changes: + * Add CTX_FLAGS_DENY_BLOCKING as a unified the way to know if blocking is allowed (#8025) + * Add data type callbacks for lazy free effort, and unlink (#7912) + * Add data type callback for COPY command (#8112) + * Add callbacks for defrag support. (#8149) + * Add module event for repl-diskless-load swapdb (#8153) + Module related fixes: + * Moved RMAPI_FUNC_SUPPORTED so that it's usable (#8037) + * Improve timer accuracy (#7987) + * Allow '\0' inside of result of RM_CreateStringPrintf (#6260) + +------------------------------------------------------------------- +Tue Mar 2 22:51:13 UTC 2021 - Илья Индиго + +- Added parameter -p to all install command in spec-file. +- Changed file redis.tmpfiles.d file, replaced from /var/run to /run. + +------------------------------------------------------------------- +Tue Mar 2 15:12:59 UTC 2021 - Andreas Stieger + +- redis 6.0.12: + * Fix compilation error on non-glibc systems if jemalloc is not + used + +------------------------------------------------------------------- +Wed Feb 24 12:10:22 UTC 2021 - Andreas Stieger + +- redis 6.0.11: + * CVE-2021-21309: Avoid 32-bit overflows when proto-max-bulk-len + is set high (boo#1182657) + * Fix handling of threaded IO and CLIENT PAUSE (failover), could + lead to data loss or a crash + * Fix the selection of a random element from large hash tables + * Fix broken protocol in client tracking tracking-redir-broken message + * XINFO able to access expired keys on a replica + * Fix broken protocol in redis-benchmark when used with -a or + --dbnum + * Avoid assertions (on older kernels) when testing arm64 CoW bug + * CONFIG REWRITE should honor umask settings + * Fix firstkey,lastkey,step in COMMAND command for some commands + * RM_ZsetRem: Delete key if empty, the bug could leave empty + zset keys + +------------------------------------------------------------------- +Wed Feb 24 11:42:17 UTC 2021 - Jan Zerebecki + +- Switch systemd type of the sentinel service from notify to simple. This can + be reverted when updating to 6.2 which fixes + https://github.com/redis/redis/issues/7284 . + +------------------------------------------------------------------- +Fri Feb 12 23:30:08 UTC 2021 - Jan Zerebecki + +- Enable TLS support and add BuildRequires libopenssl-devel (bsc#1181830) +- Make tests run by adding BuildRequires tcl and procps + +------------------------------------------------------------------- +Tue Jan 12 20:05:52 UTC 2021 - Michael Ströder + +- HTTPS download link for source +- redis 6.0.10: + Command behavior changes: + * SWAPDB invalidates WATCHed keys (#8239) + * SORT command behaves differently when used on a writable replica (#8283) + * EXISTS should not alter LRU (#8016) + In Redis 5.0 and 6.0 it would have touched the LRU/LFU of the key. + * OBJECT should not reveal logically expired keys (#8016) + Will now behave the same TYPE or any other non-DEBUG command. + * GEORADIUS[BYMEMBER] can fail with -OOM if Redis is over the memory limit (#8107) + Other behavior changes: + * Sentinel: Fix missing updates to the config file after SENTINEL SET command (#8229) + * CONFIG REWRITE is atomic and safer, but requires write access to the config file's folder (#7824, #8051) + This change was already present in 6.0.9, but was missing from the release notes. + Bug fixes with compatibility implications (bugs introduced in Redis 6.0): + * Fix RDB CRC64 checksum on big-endian systems (#8270) + If you're using big-endian please consider the compatibility implications with + RESTORE, replication and persistence. + * Fix wrong order of key/value in Lua's map response (#8266) + If your scripts use redis.setresp() or return a map (new in Redis 6.0), please + consider the implications. + Bug fixes: + * Fix an issue where a forked process deletes the parent's pidfile (#8231) + * Fix crashes when enabling io-threads-do-reads (#8230) + * Fix a crash in redis-cli after executing cluster backup (#8267) + * Handle output buffer limits for module blocked clients (#8141) + Could result in a module sending reply to a blocked client to go beyond the limit. + * Fix setproctitle related crashes. (#8150, #8088) + Caused various crashes on startup, mainly on Apple M1 chips or under instrumentation. + * Backup/restore cluster mode keys to slots map for repl-diskless-load=swapdb (#8108) + In cluster mode with repl-diskless-load, when loading failed, slot map wouldn't + have been restored. + * Fix oom-score-adj-values range, and bug when used in config file (#8046) + Enabling setting this in the config file in a line after enabling it, would + have been buggy. + * Reset average ttl when empty databases (#8106) + Just causing misleading metric in INFO + * Disable rehash when Redis has child process (#8007) + This could have caused excessive CoW during BGSAVE, replication or AOFRW. + * Further improved ACL algorithm for picking categories (#7966) + Output of ACL GETUSER is now more similar to the one provided by ACL SETUSER. + * Fix bug with module GIL being released prematurely (#8061) + Could in theory (and rarely) cause multi-threaded modules to corrupt memory. + * Reduce effect of client tracking causing feedback loop in key eviction (#8100) + * Fix cluster access to unaligned memory (SIGBUS on old ARM) (#7958) + * Fix saving of strings larger than 2GB into RDB files (#8306) + Additional improvements: + * Avoid wasteful transient memory allocation in certain cases (#8286, #5954) + Platform / toolchain support related improvements: + * Fix crash log registers output on ARM. (#8020) + * Add a check for an ARM64 Linux kernel bug (#8224) + Due to the potential severity of this issue, Redis will print log warning on startup. + * Raspberry build fix. (#8095) + New configuration options: + * oom-score-adj-values config can now take absolute values (besides relative ones) (#8046) + Module related fixes: + * Moved RMAPI_FUNC_SUPPORTED so that it's usable (#8037) + * Improve timer accuracy (#7987) + * Allow '\0' inside of result of RM_CreateStringPrintf (#6260) + +------------------------------------------------------------------- +Tue Oct 27 19:12:44 UTC 2020 - Andreas Stieger + +- redis 6.0.9: + * potential heap overflow when using a heap allocator other + than jemalloc or glibc's malloc. Does not affect the openSUSE + package - boo#1178205 + * Memory reporting of clients argv + * Add redis-cli control on raw format line delimiter + * Add redis-cli support for rediss:// -u prefix + * WATCH no longer ignores keys which have expired for MULTI/EXEC + * Correct OBJECT ENCODING response for stream type + * Allow blocked XREAD on a cluster replica + * TLS: Do not require CA config if not used + * multiple bug fixes + * Additions to modules API + +------------------------------------------------------------------- +Fri Sep 11 06:38:43 UTC 2020 - Andreas Stieger + +- redis 6.0.8 (jsc#PM-1615, jsc#PM-1622, jsc#PM-1681, jsc#ECO-2417, jsc#ECO-2867, jsc#PM-1547, jsc#CAPS-56, jsc#SLE-11578, jsc#SLE-12821): + * bug fixes when using with Sentinel + * bug fixes when using CONFIG REWRITE + * Remove THP warning when set to madvise + * Allow EXEC with read commands on readonly replica in cluster + * Add masters/replicas options to redis-cli --cluster call command +- includes changes from 6.0.7: + * CONFIG SET could hung the client when arrives during RDB/ROF + loading + * LPOS command when RANK is greater than matches responded with + broken protocol + * Add oom-score-adj configuration option to control Linux OOM + killer + * Show IO threads statistics and status in INFO output + * Add optional tls verification mode (see tls-auth-clients) + +------------------------------------------------------------------- +Mon Jul 27 00:11:22 UTC 2020 - Andreas Stieger + +- redis 6.0.6: + * Fix crash when enabling CLIENT TRACKING with prefix + * EXEC always fails with EXECABORT and multi-state is cleared + * RESTORE ABSTTL won't store expired keys into the db + * redis-cli better handling of non-pritable key names + * TLS: Ignore client cert when tls-auth-clients off + * Tracking: fix invalidation message on flush + * Notify systemd on Sentinel startup + * Fix crash on a misuse of STRALGO + * Few fixes in module API + * Fix a few rare leaks (STRALGO error misuse, Sentinel) + * Fix a possible invalid access in defrag of scripts + * Add LPOS command to search in a list + * Use user+pass for MIGRATE in redis-cli and redis-benchmark in + cluster mode + * redis-cli support TLS for --pipe, --rdb and --replica options + * TLS: Session caching configuration support + +------------------------------------------------------------------- +Wed Jun 10 15:18:18 UTC 2020 - Andreas Stieger + +- redis 6.0.5: + * Fix handling of speical chars in ACL LOAD + * Make Redis Cluster more robust about operation errors that may + lead to two clusters to mix together + * Revert the sendfile() implementation of RDB transfer + * Fix TLS certificate loading for chained certificates + * Fix AOF rewirting of KEEPTTL SET option + * Fix MULTI/EXEC behavior during -BUSY script errors + +------------------------------------------------------------------- +Thu May 28 18:38:17 UTC 2020 - Andreas Stieger + +- redis 6.0.4: + * fix a severe replication bug introduced in Redis 6 by the + "meaningful offset" feature + +------------------------------------------------------------------- +Sun May 17 11:18:37 UTC 2020 - Andreas Stieger + +- redis 6.0.3: + * fix a crash introduced in 6.0.2 +- includes changes from 6.0.2: + * bug fixes + * fix to client side caching when keys are evicted from the + tracking table but no notifications are sent + +------------------------------------------------------------------- +Sat May 9 12:09:41 UTC 2020 - Andreas Schwab + +- redis-disable_integration_logging.patch: remove +- redis-enable-bactrace-on-x86-ia64-and_arm32_only.patch: remove +- getMcontextEip-return-value.patch: Add missing return value + +------------------------------------------------------------------- +Mon May 4 12:51:43 UTC 2020 - Marcus Rueckert + +- add BR pkgconfig(libsystemd) for the rewritten systemd support + and force building with it + +------------------------------------------------------------------- +Mon May 4 12:28:50 UTC 2020 - Marcus Rueckert + +- Update to 6.0.1 + * https://raw.githubusercontent.com/antirez/redis/6.0.1/00-RELEASENOTES + * XCLAIM AOF/replicas propagation fixed. + * Client side caching: new NOLOOP option to avoid getting + notified about changes performed by ourselves. + * ACL GENPASS now uses HMAC-SHA256 and have an optional + "bits" argument. It means you can use it as a general purpose + "secure random strings" primitive! + * Cluster "SLOTS" subcommand memory optimization. + * The LCS command is now a subcommand of STRALGO. + * Meaningful offset for replicas as well. More successful + partial resynchronizations. + * Optimize memory usage of deferred replies. + * Faster CRC64 algorithm for faster RDB loading. + * XINFO STREAM FULL, a new subcommand to get the whole stream + state. + * CLIENT KILL USER . + * MIGRATE AUTH2 option, for ACL style authentication support. + * Other random bugfixes. + +------------------------------------------------------------------- +Fri May 1 15:50:36 UTC 2020 - Andreas Schwab + +- ppc-atomic.patch: use libatomic also on ppc + +------------------------------------------------------------------- +Fri May 1 07:48:12 UTC 2020 - Andreas Stieger + +- add hash file from redis-hashes and verify it during build + +------------------------------------------------------------------- +Sat Apr 18 07:57:40 UTC 2020 - Andreas Stieger + +- redis 5.0.9: + * Critical fix when Streams with AOF ore replicas are used: + Prevent reprocesing some entries upon restart + * Speed improvement: Clients blocked on the same key are now + unblocked on O(1) time + +------------------------------------------------------------------- +Tue Mar 24 19:04:42 UTC 2020 - Thorsten Kukuk + +- Use the tmpfiles macros instead of calling systemd-tempfiles + direct and build wrong macro paths. + +------------------------------------------------------------------- +Wed Mar 18 02:18:24 UTC 2020 - Илья Индиго + +- Refresh spec-file with spec-cleaner and manual optimizations + * Remove Group tag. + * Replace make by %make_build macros. +- Update to 5.0.8 + * https://raw.githubusercontent.com/antirez/redis/5.0.8/00-RELEASENOTES + * Fix Pi building needing -latomic, backport. + * Fix impl of aof-child whitelist SIGUSR1 feature. + * Fix ThreadSafeContext lock/unlock function names. + * XREADGROUP should propagate XCALIM/SETID in MULTI/EXEC. + * Fix client flags to be int64 in module.c. + * Fix small bugs related to replica and monitor ambiguity. + * Fix lua related memory leak. + * Simplify #6379 changes. + * Free allocated sds in pfdebugCommand() to avoid memory leak. + * Jump to right label on AOF parsing error. + * Free fakeclient argv on AOF error. + * Fix potential memory leak of rioWriteBulkStreamID(). + * Fix potential memory leak of clusterLoadConfig(). + * Fix bug on KEYS command where pattern starts with * followed by \x00. + * Blocking XREAD[GROUP] should always reply with valid data. + * XCLAIM: Create the consumer only on successful claims. + * Stream: Handle streamID-related edge cases. + * Fix ip and missing mode in RM_GetClusterNodeInfo(). + * Inline protocol: handle empty strings well. + * Mark extern definition of SDS_NOINIT in sds.h. + * Fix revisit CVE-2015-8080 vulnerability. + * Avoid sentinel changes promoted_slave to be its own replica. + +------------------------------------------------------------------- +Sat Feb 8 15:40:07 UTC 2020 - Marcus Rueckert + +- print instance name in the from the service files + +------------------------------------------------------------------- +Thu Jan 23 18:58:34 UTC 2020 - Thorsten Kukuk + +- Don't install redis-trib.rb, it's only a dummy telling the user + to use redis-cli instead and pulls in ruby for that. + +------------------------------------------------------------------- +Mon Dec 30 17:59:52 UTC 2019 - Thorsten Kukuk + +- Make redis useable in a container (drop size from 100MB to 20MB): + - Change user generation from shadow to sysusers + - Drop redis-initscript.patch and sudo requires, we use systemd + - Drop BuildRequires for procps and tcl, they are not needed + - Make logrotate recommend, it's not required for redis to work + +------------------------------------------------------------------- +Sun Dec 1 15:47:06 UTC 2019 - Илья Индиго + +- Update to 5.0.7 + * https://raw.githubusercontent.com/antirez/redis/5.0.7/00-RELEASENOTES + * Test: fix implementation-dependent test after code change. + * RED-31295 - redis: avoid race between dlopen and thread creation. + * Cluster: fix memory leak of cached master. + * Fix usage of server.stream_node_max_*. + * Update mkreleasehdr.sh. + * Remove additional space from comment. + * Fix stream test after addition of 0-0 ID test. + * AOF: fix assignment for aof_fsync_offset. + * Rename var to fixed_time_expire now that is more general. + * Expires & blocking: handle ready keys as call(). + * XADD with ID 0-0 stores an empty key. + * Fix unreported overflow in autogerenared stream IDs. + * Expires: refactoring judgment about whether a key is expired. +- Refresh reproducible.patch +- Update to 5.0.6 + * https://raw.githubusercontent.com/antirez/redis/5.0.6/00-RELEASENOTES + * RDB: fix MODULE_AUX loading by continuing to next opcode. + * Missing per-skiplist overheads in MEMORY USAGE. + * RM_Log: add support for logging without a context or context + without module. + * Cluster: abort loading nodes data if vars arguments are unbalanced. + * More strict checks and better comments in flushSlaveOutputBuffers(). + * Improve comment in flushSlavesOutputBuffers(). + * Replication: clarify why repl_put_online_on_ack exists at all. + * Networking: flushSlavesOutputBuffers bugfix. + * RM_ReplyWithCString was missing registration. + * Fix to module aux data rdb format for backwards compatibility + with old check-rdb. + * Implement module api for aux data in rdb. + * Redis-cli: always report server errors on read errors. + * Reduce the calling stack. + * Make EMBSTR case of #6261 more obvious. + * Make memory usage consistent of robj with OBJ_ENCODING_INT. + * HyperLogLog: fix the fix of a corruption bug. + * Fix HLL corruption bug. + * Extend REDISMODULE_CTX_FLAGS to indicate if redis is currently + loading from either RDB or AOF. + * Uses addReplyBulkCString. + * Adds RedisModule_ReplyWithCString. + +------------------------------------------------------------------- +Thu Jun 6 20:43:34 UTC 2019 - Marcus Rueckert + +- update to 5.0.5 + Major changes from the Redis 5 series: + + 1. The new Stream data type. + https://redis.io/topics/streams-intro + 2. New Redis modules APIs: Timers, Cluster and Dictionary APIs. + 3. RDB now store LFU and LRU information. + 4. The cluster manager was ported from Ruby (redis-trib.rb) to C + code inside redis-cli. Check `redis-cli --cluster help` for + more info. + 5. New sorted set commands: ZPOPMIN/MAX and blocking variants. + 6. Active defragmentation version 2. + 7. Improvemenets in HyperLogLog implementations. + 8. Better memory reporting capabilities. + 9. Many commands with sub-commands now have an HELP subcommand. + 10. Better performances when clients connect and disconnect + often. + 11. Many bug fixes and other random improvements. + 12. Jemalloc was upgraded to version 5.1 + 13. CLIENT UNBLOCK and CLIENT ID. + 14. The LOLWUT command was added. http://antirez.com/news/123 + 15. We no longer use the "slave" word if not for API backward + compatibility. + 16. Differnet optimizations in the networking layer. + 17. Lua improvements: + - Better propagation of Lua scripts to replicas / AOF. + - Lua scripts can now timeout and get in -BUSY state in the + replica as well. + 18. Dynamic HZ to balance idle CPU usage with responsiveness. + 19. The Redis core was refactored and improved in many ways. + + However the list above really does not do justice to the changes + of Redis 5 since the core was improved in many ways during the + development of the new version. However certain changes were back + ported into Redis 4 once they were sensed as safe, because many + improvements were hard to distinguish from fixes. + + The most important user facing improvement is without doubts the + introduction of the new general purpose data type after years: + the streams. + + Note that we worked to improve and fix streams till a few hours + ago, so while we are not aware of critical bugs in this release, + surely there is to handle it with some care for the first weeks. + Bug reporting will be highly appreciated and we are ready to work + immediately to release 5.0.1 once there is enough important stuff + to justify a new release (probably soon). + + People not using the streams can have probably a better + production-ready experience with Redis 5, also because many + internals are shared with Redis 4 so the jump is not as big as it + was between 3.2 and 4 in terms of how things internally work. + + Well, many thanks to the Redis community and the developers that + made this release possible, contributing bug reports, patches, + new features, working on the clients, sometimes debugging + problems for days. Also thank to everybody that adopted Redis for + their use cases making things work for users worldwide. + + see installed /usr/share/doc/packages/redis/00-RELEASENOTES +- refreshed patches to apply cleanly again: + redis-conf.patch + redis-enable-bactrace-on-x86-ia64-and_arm32_only.patch + reproducible.patch + +------------------------------------------------------------------- +Mon Nov 26 16:27:53 UTC 2018 - Andrey Karepin + +- update systemd unit file to fix redis shutdown immedaiate after start + +------------------------------------------------------------------- +Fri Sep 7 12:03:31 UTC 2018 - Marcus Rueckert + +- make sure that disabling/restarting servers works + + https://nordisch.org/posts/hooking-up-instantiated-services-with-rpm/ + +------------------------------------------------------------------- +Thu Sep 6 19:03:06 UTC 2018 - Marcus Rueckert + +- make check && true -> make check || true + This was probably meant to catch an error in the test suite, but + with && it would only return true if it would return true + already. + +------------------------------------------------------------------- +Thu Sep 6 17:01:14 UTC 2018 - Marcus Rueckert + +- added systemd unit file file redis-sentinel + - the unit file uses the same multiple instance mechanism as the + normal redis unit file + + systemctl start redis-sentinel@default will look for + + /etc/redis/sentinel-default.conf + + and expects a pid file + + /var/run/redis/sentinel-default.pid + + Please make sure your sentinel config sets the pid file. + + - adapted the default sentinel.conf.example to set the pid file + and the log file similar to the normal redis.conf: + /var/log/redis/sentinel-.log + /var/run/redis/sentinel-.pid + + The unit file checks for the pid file so please adapt your + local sentinel configs. + + Changed: redis-conf.patch + - adapt and restructure README.SUSE + - move the LimitNoFile to the service file itself so the user + do not have to manually do that step for every instance + - move the apache integration into its own section + - add section for redis-sentinel + - install sentinel example config with group write permissions + to indicate that the actually config needs to be writable. + +------------------------------------------------------------------- +Thu Sep 6 15:08:28 UTC 2018 - Marcus Rueckert + +- replace some duplicate binaries with symlinks similar to what the + fedora package does + +------------------------------------------------------------------- +Fri Aug 17 00:33:26 UTC 2018 - ilya@ilya.pp.ua + +- Refresh spec-file. +- Update to 4.0.11 + * https://raw.githubusercontent.com/antirez/redis/4.0.11/00-RELEASENOTES + * The disconnection time between the master and slave was reset + in an incorrect place, sometimes a good slave will not be able + to failover because it claims it was disconnected for too much + time from the master. + * A replication bug, rare to trigger but non impossible, is in + Redis for years. It was lately discovered at Redis Labs and + fixed by Oran Agra. It may cause disconnections, + desynchronizations and other issues. + * RANDOMKEY may go in infinite loop on rare situations. Now fixed. + * EXISTS now works in a more consistent way on slaves. + * Sentinel: backport of an option to deny a potential security + problem when the SENTINEL command is used to configure an + arbitrary script to execute. + +------------------------------------------------------------------- +Wed Jul 11 17:08:01 UTC 2018 - bwiedemann@suse.com + +- Add reproducible.patch to have fixed hostname and date (boo#1047218) + +------------------------------------------------------------------- +Fri Jun 15 10:17:06 UTC 2018 - mrueckert@suse.de + +- update to 4.0.10 (boo#1097430) CVE-2018-11218 CVE-2018-11219 + https://raw.githubusercontent.com/antirez/redis/4.0.10/00-RELEASENOTES + - Important security issues related to the Lua scripting engine. + Please check https://github.com/antirez/redis/issues/5017 for + more information. + - A bug with SCAN, SSCAN, HSCAN and ZSCAN, that may not return + all the elements. We also add a regression test that can + trigger the issue often when present, and may in theory be able + to find unrelated regressions. + - A PSYNC2 bug is fixed: Redis should not expire keys when saving + RDB files because otherwise it is no longer possible to use + such RDB file as a base for partial resynchronization. It no + longer represents the right state. + - Compatibility of AOF with RDB preamble when the RDB checksum is + disabled. + - Sentinel bug that in some cases prevented Sentinel to detect + that the master was down immediately. A delay was added to the + detection. +- refreshed patches to apply cleanly again + redis-conf.patch + redis-initscript.patch + +------------------------------------------------------------------- +Tue Apr 17 16:13:17 UTC 2018 - guillaume.gardet@opensuse.org + +- Update redis-enable-bactrace-on-x86-and-ia64-only.patch to handle + arm and rename it to redis-enable-bactrace-on-x86-ia64-and_arm32_only.patch +- Add redis-disable_integration_logging.patch to disable logging test + when backtrace is not enabled + +------------------------------------------------------------------- +Thu Apr 12 13:13:49 UTC 2018 - ilya@ilya.pp.ua + +- Update to 4.0.9 + * https://raw.githubusercontent.com/antirez/redis/4.0.9/00-RELEASENOTES + * Critical upgrade for users using AOF with the fsync policy set to "always". + * Latency monitor could report wrong latencies under certain conditions. + * AOF rewriting could fail when a backgronud rewrite is triggered and + at the same time the AOF is switched on/off. + * Redis Cluster crash-recovery safety improved. + * Redis Cluster has now the ability to configure certain slaves so that + they'll never attempt a failover. + * Keyspace notifications API in modules. + * RM_Call() is now faster by reusing the same client. + * Tracking of the percentage of keys already logically expired but yet + not evicted. + +------------------------------------------------------------------- +Thu Feb 8 23:23:58 UTC 2018 - ilya@ilya.pp.ua + +- Update to 4.0.8 + * Release notes: https://raw.githubusercontent.com/antirez/redis/4.0.8/00-RELEASENOTES + * Fix crash Redis Cluster instances during deletions. + +------------------------------------------------------------------- +Sun Jan 28 15:24:25 UTC 2018 - ilya@ilya.pp.ua + +- Update to 4.0.7 + * Release notes: https://raw.githubusercontent.com/antirez/redis/4.0.7/00-RELEASENOTES + * Many 32 bit overflows were addressed in order to allow to use Redis with + a very significant amount of data, memory size permitting. + * MEMORY USAGE fixed for the list type. + * Allow read-only scripts in Redis Cluster. + * Fix AOF pipes setup in edge case. + * AUTH option for MIGRATE. + * HyperLogLogs are no longer converted from sparse to dense in order + to be merged. + * Fix AOF rewrite dead loop under edge cases. + * Fix processing of large bulk strings (>= 2GB). + * Added RM_UnlinkKey in modules API. + * Fix Redis Cluster crashes when certain commands with a variable number + of arguments are called in an improper way. + * Fix memory leak in lazyfree engine. + * Fix many potentially successful partial synchronizations that end + doing a full SYNC, because of a bug destroying the replication + backlog on the slave. So after a failover the slave was often not able + to PSYNC with masters, and a full SYNC was triggered. The bug only + happened after 1 hour of uptime so escaped the unit tests. + * Improve anti-affinity in master/slave allocation for Redis Cluster + when the cluster is created. + * Improve output buffer handling for slaves, by not limiting the amount + of writes a slave could receive. + +------------------------------------------------------------------- +Thu Jan 4 15:47:48 UTC 2018 - ilya@ilya.pp.ua + +- Update to 4.0.6 + * Release notes: https://raw.githubusercontent.com/antirez/redis/4.0.6/00-RELEASENOTES + * PSYNC2: More errors in the fixes for PSYNC2 (CRITICAL). + * Quicklist: change the len of quicklist to unsigned long. + * Quicklist: fix the return value of quicklistCount. + * Refactoring: improve luaCreateFunction() API. + * Remove useless variable check from luaCreateFunction(). + * Fix issue #4505, Lua RDB AUX field loading of existing scripts. + * Regression test for #4505 (Lua AUX field loading). + * DEBUG change-repl-id implemented. + * Buffer overflows occurring reading redis.conf CVE-2017-15047 (bsc#1061967) + +------------------------------------------------------------------- +Wed Nov 1 09:01:44 UTC 2017 - mpluskal@suse.com + +- Update changelog with CVE reference + +------------------------------------------------------------------- +Sun Oct 8 15:22:54 UTC 2017 - ilya@ilya.pp.ua + +- Drop SLE 11 support. +- Refresh spec-file. +- Update to 4.0.2 + * Release notes: https://raw.githubusercontent.com/antirez/redis/4.0.2/00-RELEASENOTES + * Different replication fixes to PSYNC2, the new 4.0 replication engine. + * Modules thread safe contexts were introduced. They are an experimental + API right now, but the API is considered to be stable and usable when needed. + * SLOWLOG now logs the offending client name and address. Note that this is a + backward compatibility breakage in case old code assumes that the slowlog + entry is composed of exactly three entries. + * The modules native data types RDB format changed. + * The AOF check utility is now able to deal with RDB preambles. + * GEORADIUS_RO and GEORADIUSBYMEMBER_RO variants, not supporting the STORE option, + were added in order to allow read-only scaling of such queries. + * HSET is now variadic, and HMSET is considered deprecated + (but will be supported for years to come). Please use HSET in new code. + * GEORADIUS huge radius (>= ~6000 km) corner cases fixed, + certain elements near the edges were not returned. + * DEBUG DIGEST modules API added. + * HyperLogLog commands no longer crash on certain input (non HLL) strings. + * Fixed SLAVEOF inside MULTI/EXEC blocks. + * Many other minor bug fixes and improvements. + +------------------------------------------------------------------- +Wed Jun 21 16:28:36 UTC 2017 - chris@computersalat.de + +- cleanup service file +- add redis.sysctl file +- update README.SUSE + * add info for socket usage per service + * add info for limits per service (LimitNOFILE=10240) + +------------------------------------------------------------------- +Thu May 18 12:43:42 UTC 2017 - vsistek@suse.com + +- Update to version 3.2.9 + * A few rarely harmful bugs were fixed. +- Changes accumulated from 3.2.8 + Two important bug fixes, the first of one is critical: + * Apparently Jemalloc 4.4.0 may contain a deadlock under + particular conditions. See + https://github.com/antirez/redis/issues/3799. + We reverted back to the previously used Jemalloc versions and + plan to upgrade Jemalloc again after having more info about the + cause of the bug. + * MIGRATE could crash the server after a socket error. See for + reference: https://github.com/antirez/redis/issues/3796. + +------------------------------------------------------------------- +Wed Feb 1 12:33:53 UTC 2017 - mpluskal@suse.com + +- Update to version 3.2.7 + * This release fixes important security and correctness issues + (boo#1064980 CVE-2016-10517) + +------------------------------------------------------------------- +Fri Jan 20 10:29:19 UTC 2017 - rmaliska@suse.com + +- update to redis 3.2.6 + * fixes for GEORADIUS, BITFIELD and Redis Cluster minor fixes. +- update 3.2.5 + * This release only fixes a compilation issue due to the + missing -ldl at linking time. + +------------------------------------------------------------------- +Mon Oct 24 08:39:02 UTC 2016 - astieger@suse.com + +- update to redis 3.2.4, including fixes for security issues: + * CVE-2016-8339: CONFIG SET client-output-buffer-limit Code + Execution Vulnerability [boo#1002351] +- bug fixes: + * TCP binding bug fixed when only certain addresses were available + for a given port + * improved crash report + * Fix for Redis Cluster redis-trib displaying of info after + creating a new cluster. + +------------------------------------------------------------------- +Fri Aug 5 18:17:24 UTC 2016 - astieger@suse.com + +- redis 3.2.3: + * fix replication delay issue + * drop CVE-2013-7458.patch, upstream + +------------------------------------------------------------------- +Sat Jul 30 12:30:02 UTC 2016 - jengelh@inai.de + +- Test for user/group existence before creating them. + Request shadow to be present for the scriptlet. + +------------------------------------------------------------------- +Sat Jul 30 10:06:22 UTC 2016 - astieger@suse.com + +- Fix CVE-2013-7458: unsafe permissions of command line history + boo#991250, adding CVE-2013-7458.patch + +------------------------------------------------------------------- +Sat Jul 30 09:59:59 UTC 2016 - astieger@suse.com + +- redis 3.2.2 +- Highlight bug fixes: + * Fix Redis server and Sentinel crashes + * Fix GEORADIUS errors in reported entries +- New features: + * slaves support the slave-announce-ip and slave-announce-port + options. + * RDB check utlity is now part of Redis and uses the same RDB code + * redis-check-dump utility is now able to show certain information + about the RDB file including creating version and date. + +------------------------------------------------------------------- +Wed Jun 29 12:14:42 UTC 2016 - rmaliska@suse.com + +- Update to 3.2.1 +* [FIX] Cleaned up spec file. +* [FIX] Critical bug in Sentinel was hopefully fixed. +* [FIX] BITFIELD bugs fixed. +* [FIX] GEO commands fixes on syntax errors and edge cases. +* [NEW] RESOTRE now accepts dumps generated by older Redis versions. +* [NEW] Jemalloc now is configured to save you memory, for a problem a + change in the jemalloc configuration did not really survived when the + 3.2.0 release was finalized. +* [NEW] TTL and TYPE command no longer alter the last access time of a key, for + LRU evictions purposes. A new TOUCH command was introduced *just* to + update the access time of a key. +* [FIX] A bug was fixed in redis-cli, that connected to the instance running on the + port 6379 if there was one, regardless of what was specified. +* [NEW] TCP keep alive is now enabled by default. This should fix most ghost + connections problems without resulting in any practical change in otherwise + sane deployments. +* [FIX] A Sentinel crash that could happen during failovers was fixed. +* [NEW] avg_ttl reporting in INFO improved. +* [NEW] Sentinel: improve handling of known Sentinel instances. +* [NEW] Redis Cluster address update (via gossip section) processing improved + to avoid initiating inwanted handshakes. +* [FIX] Critical bug fixed: There was a problem in the way a cluster instance + loaded the AOF that could cause data written via scripts to be lost during + reshardings. +* [NEW] There is a new very powerful BITFIELD command. Check the documentation + here: http://redis.io/commands/BITFIELD +* [NEW] CONFIG GET is allowed during the loading of the dataset. +* [NEW] The DEBUG command have new features and can show an help with DEBUG HELP. +* [NEW] redis-cli show hits about the commands arguments to the right. +* [NEW] GEORADIUS got a STORE / STOREDIST option to store the result into a target + key (as as orted set) instead of reporting it to the user. +* [NEW] Redis Cluster replicas migration now works in a slightly different way. In + the past a slave could migrate only to a master that used to have slaves + in the past (and if there was still trace of this information). Now instead + if a new slave gets at least a slot, and at least one other master in the + cluster has a slave, then the new master is considered a valid target for + replica migration. So if it will be orphaned and there is a spare slave + it will get one. +* [NEW] CLUSTER SLOTS output now includes the node ID (in a backward compatible + manner). + +------------------------------------------------------------------- +Wed Apr 20 16:53:03 UTC 2016 - mamorales@suse.com + +- Fix installation example in README.SUSE + +------------------------------------------------------------------- +Wed Feb 17 12:17:41 UTC 2016 - eshmarnev@suse.com + +- Update to 3.0.7: +* [FIX] Many fixes to MIGRATE multiple keys implementation. +* [FIX] A Redis Cluster node crash was fixed because of wrong handling of + node->slaveof pointers. +* [FIX] Fix redis-trib rebalance when nodes need to be left empty because + the specified weight is zero. +* [FIX] MIGRATE: Never send -ASK redirections for MIGRATE when there are +* [FIX] Lua debugger crash when printing too deeply nested objects. +* [FIX] Redis-cli implementation of Lua debugging now allows to use the + SCRIPT DEBUG command directly, switching to debugging mode as needed. +* [FIX] Redis-trib is now able to fix more errors. A new CLUSTER subcommand + called BUMPEPOCH was introduced in order to support new modes + for the "fix" subcommand. +* [NEW] Redis proctected mode: this feature improves Redis security and makes + harder to run Redis in a configuration that is unsecure because no + firewalling was used in order to protect Redis from external accesses. +* [NEW] Cluster/Sentinel tests now use OSX leak to perform leak detection + at the end of every unit. +* [NEW] Detect and show server crashes during Cluster/Sentinel tests. +* [NEW] More reliable Cluster/Sentinel test becuase of timing errors and + -LOADING errors. +* [FIX] lua_struct.c/getnum security issue fixed. +* [FIX] Redis Cluster replica migration fixed. +* [FIX] Fix a race condition in processCommand() because of interactions + with freeMemoryIfNeeded(). +* [NEW] Backported from the upcoming Redis 3.2: + MIGRATE now supports an extended multiple-keys pipelined mode, which + is an order of magnitude faster. Redis Cluster now uses this mode + in order to perform reshardings and rebalancings. +* [NEW] Backported from the upcoming Redis 3.2: + Redis Cluster has now support for rebalancing via the redis-trib + rebalance command. Demo here: +* [NEW] Redis Cluster redis-trib.rb new "info" subcommand. +* [NEW] Redis Cluster tests improved. +* [NEW] Log offending memory access address on SIGSEGV/SIGBUS + +------------------------------------------------------------------- +Sun Nov 22 09:18:54 UTC 2015 - mpluskal@suse.com + +- Update to 3.0.5 + * [FIX] MOVE now moves the TTL as well. A bug lasting forever... + finally fixed thanks to Andy Grunwald that reported it. + * [FIX] Fix a false positive in HSTRLEN test. + * [FIX] Fix a bug in redis-cli --pipe mode that was not able to + read back replies from the server incrementally. Now a mass + import will use a lot less memory, and you can use --pipe to + do incremental streaming. + * [FIX] Slave detection of master timeout. + * [NEW] Cluster: redis-trib fix can fix an additional case for + opens lots. + * [NEW] Cluster: redis-trib import support for --copy and + --replace options + +------------------------------------------------------------------- +Thu Sep 24 22:26:22 UTC 2015 - mrueckert@suse.de + +- update to 3.0.4 + Upgrade urgency: HIGH for Redis and Sentinel. However note that in + order to fix certain replication bugs, the + replication internals were modified in a very heavy + way. So while this release is conceptually saner, it + may contain regressions. For this reason, before the + release, QA activities were performed by me (antirez) + and Redis Labs and no evident bug was found. + + - [FIX] A number of bugs related to replication PSYNC and the (yet + experimental) diskless replication feature were fixed. The bugs + could lead to inconsistency between masters and slaves. (Salvatore + Sanfilippo, Oran Agra fixed the issue found by Yuval Inbar) + - [FIX] A replication bug in the context of PSYNC partial + resynchonization was found and fixed. This bug happens even when + diskless replication is off in the case different slaves connect at + different times while the master is creating an RDB file, and later + a partial resynchronization is attempted by a slave that connected + not as the first one. (Salvatore Sanfilippo, Oran Agra) + - [FIX] Chained replication and PSYNC interactions leading to + potential stale chained slaves data set, see issue #2694. (Salvatore + Sanfilippo fixed an issue reported by "GeorgeBJ" user at Github) + - [FIX] redis-cli --scan iteration fixed when returned cursor + overflows 32 bit signed integer. (Ofir Luzon, Yuval Inbar) + - [FIX] Sentinel: fixed a bug during the master switch process, where + for a failed conditional check, the new configuration is rewritten, + during a small window of time, in a corrupted way where the master + is also reported to be one of the slaves. This bug is rare to + trigger but apparently it happens in the wild, and the effect is to + see a replication loop where the master will try to replicate with + itself. A detailed explanation of the bug and its effects can be + found in the commit message here: + https://github.com/antirez/redis/commit/c20218eb5770b2cafb12bc7092313b8358fedc0a. + The bug was found by Jan-Erik Rediger using a static analyzer and + fixed by Salvatore Sanfilippo. + - [FIX] Sentinel lack of arity checks for certain commands. (Rogerio + Goncalves, Salvatore Sanfilippo) + - [NEW] Replication internals rewritten in order to be more resistant + to bugs. The replication handshake in the slave side was rewritten + as a non blocking state machine. (Salvatore Sanfilippo, Oran Agra) + - [NEW] New "replication capabilities" feature introduced in order to + signal from the master to the slave what are the features supported, + so that the master can choose the kind of replication to start + (diskless or not) when master and slave are of different versions. + (Oran Agra, Salvatore Sanfilippo) + - [NEW] Log clients details when SLAVEOF command is received. + (Salvatore Sanfilippo with inputs from Nick Craver and Marc + Gravell). + +------------------------------------------------------------------- +Mon Sep 7 17:42:22 UTC 2015 - mrueckert@suse.de + +- update to 3.0.3 + * [FIX] Fix blocking operations timeout precision when HZ is at + its default value (not increased) and there are thousands + of clients connected at the same time. This bug affected + Sidekiq users that experienced a very long delay for + BLPOP and similar commands to return for timeout. Check + commit b029ff1 for more info. (Salvatore Sanfilippo) + * [FIX] MIGRATE "creating socket: Invalid argument" error fix. + Check issues #2609 and #2612 for more info. + (Salvatore Sanfilippo) + * [FIX] Be able to connect to the master even when the slave is + bound to just the loopback interface and has no valid + public address in the network the master is reacahble. + (Salvatore Sanfilippo) + * [FIX] ZADD with options encoding promotion fixed. (linfangrong) + * [FIX] Reset aof_delayed_fsync on CONFIG RESETSTATS. (Tom Kiemes) + * [FIX] PFCOUNT key parsing in cluster fixed. (MOON_CLJ) + * [FIX] Fix Solaris compilation of Redis 3.0. (Jan-Erik Rediger) + * [NEW] Variadic EXISTS command. Now the command accepts multiple + arguments and returns the total count of existing keys. +- added missing sentinel link + +------------------------------------------------------------------- +Mon Jun 15 11:07:16 UTC 2015 - mrueckert@suse.de + +- also pass the bind address to the redis-cli for shutdown + (boo#835815) + +------------------------------------------------------------------- +Sun Jun 7 02:25:12 UTC 2015 - mrueckert@suse.de + +- update to 3.0.2 + * [FIX] Critical security issue fix by Ben Murphy: + http://t.co/LpGTyZmfS7 + * [FIX] SMOVE reply fixed when src and dst keys are the same. + (Glenn Nethercutt) + * [FIX] Lua cmsgpack lib updated to support str8 type. + (Sebastian Waisbrot) + * [NEW] ZADD support for options: NX, XX, CH. See new doc at + redis.io. (Salvatore Sanfilippo) + * [NEW] Senitnel: CKQUORUM and FLUSHCONFIG commands back ported. + (Salvatore Sanfilippo) + + +------------------------------------------------------------------- +Sat May 16 22:03:00 UTC 2015 - Led + +- update to 3.0.1 + * Sentinel memory leak due to hiredis fixed. + * Sentinel memory leak on duplicated instance. + * Redis crash on Lua reaching output buffer limits. + * Sentinel flushes config on +slave events. + +------------------------------------------------------------------- +Thu Apr 2 11:07:42 UTC 2015 - mrueckert@suse.de + +- update to 3.0.0 + >> What's new in Redis 3.0 compared to Redis 2.8? + + * Redis Cluster: a distributed implementation of a subset of Redis. + * New "embedded string" object encoding resulting in less cache + misses. Big speed gain under certain work loads. + * AOF child -> parent final data transmission to minimize latency + due to "last write" during AOF rewrites. + * Much improved LRU approximation algorithm for keys eviction. + * WAIT command to block waiting for a write to be transmitted + to the specified number of slaves. + * MIGRATE connection caching. Much faster keys migraitons. + * MIGARTE new options COPY and REPLACE. + * CLIENT PAUSE command: stop processing client requests for a + specified amount of time. + * BITCOUNT performance improvements. + * CONFIG SET accepts memory values in different units (for + example you can use "CONFIG SET maxmemory 1gb"). + * Redis log format slightly changed reporting in each line the + role of the instance (master/slave) or if it's a saving child + log. + * INCR performance improvements. + + >> Refactoring changes (no new features nor bug fixes) + + * Blocking operations full refactoring (blocked.c) + * Client output buffer memory tracking refactored. + + for all the details see + /usr/share/doc/packages/redis/00-RELEASENOTES +- refreshed redis-enable-bactrace-on-x86-and-ia64-only.patch to + apply cleanly + +------------------------------------------------------------------- +Wed Apr 1 16:31:16 UTC 2015 - mrueckert@suse.de + +- make sure we do not daemonize + +------------------------------------------------------------------- +Wed Apr 1 15:57:59 UTC 2015 - mrueckert@suse.de + +- finished systemd support + +------------------------------------------------------------------- +Mon Mar 30 19:16:52 UTC 2015 - mrueckert@suse.de + +- update to 2.8.19 + - Don't log admin commands in MONITOR. (antirez) + - List of commands flagged as admin commands modified. (antirez) + - Lua cmsgpack lib updated to latest version. (antirez) + - Add symlink to redis-sentinel during make install (Rhommel + Lamas) + - SORT: Don't sort Set elements if not needed. (antirez) + - Fix zero-ordering SORT when called against lists (Matt + Stancliff) + - Update redis_init_script.tpl (Ben Dowling) + - FIXED redis-benchmark's idle mode.With idle mode shouldn't + create write event (zhanghailei) + - zipmap.c: update comments above (Sun He) + - replaced // comments #2150 (Deepak Verma) + - redis-benchmark AUTH command to be discarded after the first + send #2150 (azure provisioned user) + - sds.c: Correct two spelling mistakes in comments (Sun He) + - sds.c/sdscatvprintf: set va_end to finish va_list cpy (Sun He) + - sds.c: Correct some comments (Sun He) + - Update whatisdoing.sh (Serghei Iakovlev) + - Include stropts only if __sun is defined. (antirez) + - Fix implicit declaration of ioctl on Solaris (Jan-Erik Rediger) + - Silence _BSD_SOURCE warnings in glibc 2.20 and forward (Johan + Bergström) + - Mark whatisdoing.sh as deprecated in top-comment. (antirez) + - getting pid fixes (Serghei Iakovlev) + - sparkline.c: AddSample skip Empty label (Sun He) + - sparkline.c: mov label-ini into the AddSample Function (Sun He) + - Only ignore sigpipe in interactive mode (Jan-Erik Rediger) + - Simplify lua_cmsgpack macro and fix build on old Linux distros. + (antirez) + +------------------------------------------------------------------- +Thu Feb 12 07:41:34 UTC 2015 - lang@b1-systems.de + +- redis requires sudo for the systemv-init script. + As of openSUSE 13.2 sudo is not implicitly included in the dependency tree. + +------------------------------------------------------------------- +Sat Dec 6 02:20:25 UTC 2014 - mrueckert@suse.de + +- update to 2.8.18 + * [FIX] Linenoise updated to be more VT100 compatible. (Salvatore Sanfilippo) + * [FIX] A number of typos fixed inside comments. (Various authors) + * [FIX] redis-cli no longer quits after long timeouts. (Matt Stancliff) + * [FIX] Test framework improved to detect never terminating scripts, cleanup + instances on crashes. (Salvatore Sanfilippo) + * [FIX] PFCOUNT can be used on slaves now. (Salvatore Sanfilippo) + * [FIX] ZSCAN no longer report very small scores as 0. (Matt Stancliff, + Michael Grunder, Salvatore Sanfilippo) + * [FIX] Don't show the ASCII logo if syslog is enabled. Redis is now + an Enterprise Grade product. (Salvatore Sanfilippo) + + * [NEW] EXPERIMENTAL: Diskless replication, for more info check the doc at + http://redis.io/topics/replication. (Salvatore Sanfilippo). + * [NEW] Transparent Huge Pages detection and reporting in logs and + LATENCY DOCTOR output. (Salvatore Sanfilippo) + * [NEW] Many Lua scripting enhancements: Bitops API, cjson upgrade and tests, + cmsgpack upgrade. (Matt Stancliff) + * [NEW] Total and instantaneous Network bandwidth tracking in INFO. + * [NEW] DEBUG POPULATE two args form implemented (old form still works). + The second argument is the key prefix. Default is "key:" (Salvatore + Sanfilippo) + * [NEW] Check that tcp-backlog is matched by /proc/sys/net/core/somaxconn, and + warn about it if not. (Salvatore Sanfilippo) + for the rest see /usr/share/doc/packages/redis/00-RELEASENOTES + +------------------------------------------------------------------- +Sun Nov 09 23:34:00 UTC 2014 - Led + +- fix bashisms in pre script + +------------------------------------------------------------------- +Mon Jul 28 09:10:30 UTC 2014 - mrueckert@suse.de + +- remove unused skip-aof-test.patch + +------------------------------------------------------------------- +Fri Jul 25 14:58:33 UTC 2014 - mrueckert@suse.de + +- update to 2.8.13 + * [FIX] CLIENT KILL minor backward compatibility fixes. + (Salvatore Sanfilippo) + * [FIX] Enable HAVE_ATOMIC for PowerPC. (Matt Stancliff) + * [FIX] More robust PSYNC and AOF rewrites tests. + (Salvatore Sanfilippo) + * [FIX] Solaris build fixed. + (Matt Stancliff, Salvatore Sanfilippo) + * [NEW] The new latency monitoring feature, as documented at + http://redis.io/topics/latency-monitor + (Salvatore Sanfilippo) + * [NEW] The COMMAND command, exposing the Redis command table + as an API. (Matt Stancliff) + * [NEW] Update used memory with C11 __atomic. (Matt Stancliff) +- additional changes from 2.8.12 + * [FIX / BREAKS BACKWARD COMPATIBILITY] Using SELECT inside Lua + scripts no longer makes the selected DB to be set in the + calling client. So Lua can still use SELECT, but the client + calling the script will remain set to the original DB. Thix + fixes an issue with Redis replication of Lua scripts that + called SELECT without reverting the selected DB to the original + one. (Salvatore Sanfilippo) + * [FIX] Sentinel failover was instalbe if the master was detected + as available during the failover (especially during manual + failovers) because of an implementation error (lack of checking + of SRI_PROMOTED flag). (Salvatore Sanfilippo) + * [FIX] Cancel SHUTDOWN if initial AOF is being written. + (Matt Stancliff) + * [FIX] Sentinel: bind source address for outcoming connections. + (Matt Stancliff). + * [FIX] Less timing sensitive Sentinel tests. + (Salvatore Sanfilippo). + * [NEW] redis-cli --intrinsic-latency stopped with SIGINT still + reports stats (Matt Stancliff) + * [NEW] Sentinels broadcast an HELLO message ASAP after a + failover in order to reach a consistent state faster (before it + relied for periodic HELLO messages). (Salvatore Sanfilippo). + * [NEW] Jemalloc updated to 3.6.0. (Salvatore Sanfilippo) + * [NEW] CLIENT LIST speedup. (Salvatore Sanfilippo) + * [NEW] CLIENT LIST new unique incremental ID to every client. + (Salvatore Sanfilippo) + * [NEW] ROLE command added. (Salvatore Sanfilippo) + * [NEW] CLIENT KILL new form to kill by client type and ID (see + doc at redis.io for more info). (Salvatore Sanfilippo) + * [NEW] Sentinel now disconnects clients when instances are + reconfigured (see http://redis.io/topics/sentinel-clients). + (Salvatore Sanfilippo) + * [NEW] Hiredis update to latest version. (Matt Stancliff) + +- additional changes from 2.8.11 + # UPGRADE URGENCY: HIGH if you use Lua scripting, LOW otherwise. + * [FIX] A previous fix for Lua -> Redis numerical precision + enhancement introduced a new problem. In Redis 2.8.10 commands + called from Lua passing a string that "looks like" a very large + number, may actually use as argument the string converted as a + float. This bug is now fixed. + * [FIX] Now commands other than *PUSH* adding elements to a list + will be able to awake clients blocked in a blocking POP + operation. + * [FIX] Cygwin compilation fixes. + +- additional changes from 2.8.10 + # UPGRADE URGENCY: HIGH if you use min-slaves-to-write option. + * [FIX] IMPORTANT! A min-slaves-to-write option active in a slave + totally prevented the slave from acception the master stream of + commands. This release includes testes for + min-slaves-to-write, and a fix for this issue. + * [FIX] Sometimes DEL returned 1 for already expired keys. Fixed. + * [FIX] Fix test false positive because new osx 'leaks' output. + * [FIX] PFCOUNT HLL cache invalidation fixed: no wrong value was + reported but the cache was not used at all, leading to lower + performances. + * [FIX] Accept(2) multiple clients per readable-event invocation, + and better processing of I/O while loading or busy running a + timedout script. Basically now the LOADING / BUSY errors are + reported at a decent speed. + * [FIX] A softwaer watchdog crash fixed. + * [FIX] Fixed a Lua -> Redis numerical precision loss. + * [NEW] Lua scripting engine speed improved. + * [NEW] Sentinel generates one new event for humans to understand + better what is happening during a failover: + +config-update-from. Also the time at which a failover will be + re-attempted is logged. +- additional changes from 2.8.9 + # UPGRADE URGENCY: LOW, only new features introduced, no bugs fixed. + * [NEW] The HyperLogLog data structure. You can read more about + it in this blog post. http://antirez.com/news/75 + * [NEW] The Sorted Set data type has now support for + lexicographic range queries, check the new commands + ZRANGEBYLEX, ZLEXCOUNT and ZREMRANGEBYLEX, which are documented + at http://redis.io. + +- additional changes from 2.8.8 + # UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. There is a + potentially critical bug fix causing data loss in Redis but it + requires a combination of disk full and the use of the SHUTDOWN + command. + * [FIX] Fixed data loss when SHUTDOWN was used with a disk full + condition. + * [FIX] Fixed a memory leak in the SORT syntax error processing. + * [FIX] When Sentinel down-after-milliseconds parameter is + modified at runtime now it gets propagated to all the slaves + and sentinel instances of the master. + * [FIX] `install_server.sh` script finally fixed. + * [FIX] Different fixes to maxclients handling. + * [NEW] Sentinels are now able to send update messages in a + peer-to-peer fashion even if no Redis instances are available. + Now the Sentinel liveness property that the most updated + configuration in a given partition is propagated to all the + Sentinels is extended to partitions without reachable + instances. + * [NEW] Sentinel safety properties are now ensured in a + crash-recovery system model since some state is persisted on + disk before replying to other nodes, and reloaded at startup. + * [NEW] Sentinel now uses CLIENT SETNAME so that it is easy to + identify Sentinels using CLIENT LIST among other clients. + * [NEW] Sentinel failure detection and reconnection code + improved. + * [NEW] Use all 24 bits (instead of 22) for the Redis objects LRU + field. Note that the new LRU algorithm using eviction pools + was not backported from unstable for safery / code maturity + concerns. + * [NEW] Majory speedup for the INFO command (it is now 6 times + faster). + * [NEW] More Sentinel unit tests. + * [NEW] New command DEBUG ERROR returns the specified error. + Example: DEBUG ERROR "LOADING database". This is handy to write + Redis client libraries unit tests. + * [NEW] redis-cli now supports multi-line editing via updated + linenoise lib. + Thanks to Matt Stancliff and Jan-Erik Rediger for the work done + in the context of this release. +- additional changes from 2.8.7 + # UPGRADE URGENCY: LOW for Redis, LOW for Sentinel. However this + release adds new features so users may want to upgrade in order + to exploit the new functionalities. + * [FIX] Sometimes the absolute config file path was obtained in a + wrong way. This happened when there was a "dir" directive + inside the config file and at the same time the configuration + file was given as a relative path to redis-server or + redis-sentinel executables. + * [FIX] redis-cli: Automatically enter --slave mode when SYNC or + PSYNC are called during an interactive session. + * [FIX] Sentinel "IDONTKNOW" error removed as it does not made + sense with the new Sentinel design. This error was actually a + fix for a design error in the first implementation of Sentinel. + * [FIX] Sentinel: added a missing exit() call to abort after + config file checks at startup. This error was introduced with + an improvement in a previous 2.8 release. + * [FIX] BITCOUNT: fixed unaligned access causing issues in sparc + and other archs not capable of dealing with unaligned accesses. + This also makes the code faster in archs where unaligned + accesses are allowed. + * [FIX] Sentinel: better nodes fail over start time + desynchronization to avoid split-brain during the voting + process needed to get authorization to fail over. This means + the system is less likely to need to retry and will fail over + faster. No changes in behavior / correctness. + * [FIX] Force INFO used_memory_peak to match peak memory. This + generated some confusion among users even if it was not an + actual bug. + * [NEW] Sentinel unit tests and framework. More tests needed and + units must be improved in order to have less false positives, + but it is a start and features a debugging console that is + useful to fix tests or to inspect bugs causing tests failures. + * [NEW] New Sentinel events: +/-monitor and +set used to monitor + when an instance to monitor is added or removed, or when a + configuration is modified via SENTINEL SET. + * [NEW] Redis-cli updated to use SCAN instead of random sampling + via RANDOMKEY in order to implement --bigkeys feature. Moreover + the implementation now supports pipelining and reports more + information at the end of the scan. Much faster, much better. A + special thank you to Michael Grunder for this improvement. + * [NEW] redis-cli now supports a new --intrinsic-latency mode + that is able to meter the latency of a system due to kernel / + hypervisor. How to use it is explained at + http://redis.io/topics/latency. + * [NEW] New command BITPOS: find first bit set or clear in a + bitmap. + * [NEW] CONFIG REWRITE calls are now logged. + +------------------------------------------------------------------- +Tue Mar 4 13:51:48 UTC 2014 - mrueckert@suse.de + +- update to 2.8.6 + Redis 2.6 is mostly a strict subset of 2.8. However there are a + few things that you should be aware of: + The following commands changed behavior: + * SORT with ALPHA now sorts according to local collation locale + if no STORE option is used. + * ZADD/ZINCRBY are now able to accept a bigger range of values + as valid scores, that is, all the values you may end having + as a result of calling ZINCRBY multiple times. + * Many errors are now prefixed by a more specific error code + instead of the generic -ERR, for example -WRONGTYPE, -NOAUTH, ... + * PUBLISH called inside Lua scripts is now correctly propagated + to slaves. + The following redis.conf and CONFIG GET / SET parameters changed: + * logfile now uses the empty string in order to log to standard + output, so 'logfile stdout' is now invalid, use 'logfile ""' + instead. + The following INFO fields changed format in a non-backward compatible way: + * The list of slaves in INFO is now in field=value format. + Replication: + Redis 2.8 can be used as slave for Redis 2.6, but doing this is + only a good idea for the short amount of time needed to upgrade + your servers. We suggest to update both master and slaves at + about the same time. + For all the details see + /usr/share/doc/packages/redis/00-RELEASENOTES +- updated redis-conf.patch to apply cleanly again + +------------------------------------------------------------------- +Thu Aug 8 12:50:55 UTC 2013 - mrueckert@suse.de + +- drop skip-aof-test.patch + +------------------------------------------------------------------- +Thu Aug 8 02:07:54 UTC 2013 - mrueckert@suse.de + +- disable skip-aof-test.patch for now: + it seems adding procps to the buildrequires also fixed that test. + +------------------------------------------------------------------- +Wed Aug 7 14:37:30 UTC 2013 - mrueckert@suse.de + +- build require procps to get "ps" which is needed for the cleanup + of the redis processes launched by the testsuite. + +------------------------------------------------------------------- +Wed Aug 7 14:31:17 UTC 2013 - mrueckert@suse.de + +- update to 2.6.14 + UPGRADE URGENCY: HIGH because of the following two issues: + * Lua scripting + Replication + AOF in slaves problem (see Issue #1164). + * AOF + expires possible race condition (see Issue #1079). + + * [FIX] AOF bug: expire could be removed from key on AOF rewrite. + * [FIX] Allow writes from scripts called by AOF loading in read-only slaves. + * [FIX] Sentinel: parse new verison of INFO replication output correctly. + * [NEW] Reset masterauth if an empty string is configured. + + For the changes from 2.6.10-2.6.13 see + /usr/share/doc/packages/redis/00-RELEASENOTES +- refreshed patches: + - redis-conf.patch: + - redis-enable-bactrace-on-x86-and-ia64-only.patch: + just to get rid of fuzz + - skip-aof-test.patch: + can not comment in the array like that. rather remove the + line. + +------------------------------------------------------------------- +Thu Jul 4 16:10:47 UTC 2013 - dvaleev@suse.com + +- enable backtrace for x86 and ia64 only + redis-enable-bactrace-on-x86-and-ia64-only.patch + +------------------------------------------------------------------- +Mon Jun 24 14:15:49 UTC 2013 - vjt@openssl.it + +- Make the logrotate script setuid/setgid to the redis user/group + +------------------------------------------------------------------- +Tue Jan 22 10:47:17 UTC 2013 - mrueckert@suse.de + +- update to 2.6.9 (bnc#798455) + Too many changes to list them here, please refer to + /usr/share/doc/packages/redis/00-RELEASENOTES +- refreshed patches: + redis-conf.patch + skip-aof-test.patch +- dropped patches: + redis-endian.patch + redis-2.4.15-linenoise-cflags.patch + +------------------------------------------------------------------- +Tue Nov 20 07:40:52 UTC 2012 - dimstar@opensuse.org + +- Fix useradd invocation: -o is useless without -u and newer + versions of pwdutils/shadowutils fail on this now. + +------------------------------------------------------------------- +Thu Nov 8 16:12:21 UTC 2012 - vjt@openssl.it + +- Implement a multi-instance setup + * Allow for multiple configuration files of named instances + under /etc/redis + * Each instance has its own data directory + under /var/lib/redis/$INSTANCE + * Each instance has its own PID file + under /var/run/redis/$INSTANCE.pid + * Each instance has its own log files + under /var/log/redis/$INSTANCE.log + * Instances may be started or stopped individually passing a + second argument to the init script + * Do not create an active default.conf, rather use an + .example suffix + +------------------------------------------------------------------- +Mon Jul 23 18:11:50 UTC 2012 - mrueckert@suse.de + +- update to 2.4.15 + too many changes see + /usr/share/doc/packages/redis/00-RELEASENOTES +- added redis-2.4.15-linenoise-cflags.patch + make sure we build the dependency with cflags +- refreshed redis-endian.patch + +------------------------------------------------------------------- +Fri Mar 23 13:35:46 UTC 2012 - dvaleev@suse.com + +- fix ppc and ppc64 build. + disable tests for powerpc for now + +------------------------------------------------------------------- +Thu Nov 24 09:56:41 UTC 2011 - saschpe@suse.de + +- Correct the 'how to get it running' comment in %post + +------------------------------------------------------------------- +Thu Nov 24 09:48:13 UTC 2011 - saschpe@suse.de + +- Don't use runlevel 4 in init script +- Compile with RPM_OPT_FLAGS (PROG env var didn't cut it) +- Remove outdated %clean section, bogus doc package (there are none) + and netcat runtime dependency (for init script?) +- Set license to SDPX style + +------------------------------------------------------------------- +Mon Oct 24 10:48:19 UTC 2011 - asn@cryptomilk.org + +- Updated to 2.4.1. +- Fixed init script. + +------------------------------------------------------------------- +Tue May 24 09:39:19 UTC 2011 - prusnak@opensuse.org + +- updated to 2.2.7 + * Fixed bug #543-2 (the issue was reopened with a completely + different report) that caused Redis to randomly crash on list + push performed against lists with other clients blocked with BLPOP + (or variants). + (changes from 2.2.6) + * Fixed bug #543. If you saw Redis instances crashing on List + operations (only happening with a non-default max entry size + ziplist setting in redis.conf) it was almost certainly this + problem. + * Fixed a bug with replication where SLAVEOF NO ONE caused + a slave to close the connection with all its slaves. + (changes from 2.2.5) + * Fixed a crash occurring when loading an AOF containing + the SPOP command. + +------------------------------------------------------------------- +Fri Apr 15 18:18:56 UTC 2011 - mrueckert@suse.de + +- update to 2.2.4 + * Return value of OBJECT DEBUG against sorted sets fixed, now is + "skiplist". +- additional changes from 2.2.3 + * Fixed issue #503. MONITOR + QUIT (and other combinations) could + crash the server. + * OBJECT command implemented. See http://redis.io/commands/object + * Fixed a problem in redis-cli related to escapes in the form + "\x..". + * Fixed a minor memory leak in redis-cli + * Saved RDB on SIGTERM on archs where it was not working properly. +- additional changes from 2.2.2 + * AOF file descriptor leak after the first rewrite fixed. + * Return value of GETRANGE / SUBSTR is now an empty string if the + interval specified is not valid, or the key does not exist. Was + a null bulk reply before, but this is against the Redis way. +- fix the path to the log file in the conf patch to match the rest + of the package +- created log dir +- changed home dir of the redis user from /var/run/redis to + /var/lib/redis. the old home dir wasnt created anyway. + +------------------------------------------------------------------- +Wed Feb 23 18:10:17 UTC 2011 - jw@novell.com + +- updated to 2.2.1 + +------------------------------------------------------------------- +Mon Feb 21 01:02:57 UTC 2011 - jw@novell.com + +- collecting stuff from Virtualization:Cloud:OpenStack, home:jfding:nosql, home:qik + +------------------------------------------------------------------- +Thu Jan 27 16:18:42 UTC 2011 - seife+obs@b1-systems.com + +- package log directory to fix server start + +------------------------------------------------------------------- +Tue Jan 18 21:08:35 UTC 2011 - asn@cryptomilk.org + +- Added logging to /var/log/redis/redis.log. +- Added log rotation. + +------------------------------------------------------------------- +Thu Jan 13 10:34:35 UTC 2011 - jfding@gmail.com + +- Upgrade to latest stable 2.0.4 + +------------------------------------------------------------------- +Mon Jan 10 16:29:31 CET 2011 - asn@cryptomilk.org + +- Fixed creation of the pid file. + +------------------------------------------------------------------- +Sun Jan 9 23:28:39 CET 2011 - asn@cynapses.org + +- bind only to localhost +- reduce the logging level for production +- silence the init script a bit + +------------------------------------------------------------------- +Mon May 17 14:26:18 UTC 2010 - mrueckert@suse.de + +- dont run as root + +------------------------------------------------------------------- +Mon May 17 14:10:31 UTC 2010 - mrueckert@suse.de + +- update to version 1.2.6 + fixes two critical replication bugs, and a few improvements. + - Fixed Issue 207 + (http://code.google.com/p/redis/issues/detail?id=207) (broken + replication with binary arguments not in the last position with + the MSET command or any other command issued with new + multi-bulk protocol) + - Fixed Issue 174 + (http://code.google.com/p/redis/issues/detail?id=174) (temp + names collisions producing broken slave-side .rdb files) + - Redis-cli backported from Redis master, with interactive mode, + line editing via the linenoise library, auth ability, and much + more. + - ZRANGEBYSCORE now supports WITHSCORES as well (backported from + master) + - A simplified version of redis-stat (from redis tools) added. +- update to version 1.2.5 + fixes a replication bug: multiple slaves connecting to the same + master could lead to random crashes or corruptions. +- use PROF parameter to pass in optflags + +------------------------------------------------------------------- +Sun Mar 7 17:21:53 UTC 2010 - prusnak@suse.cz + +- updated to 1.2.4 +- install config file, more fixes to initscript + +------------------------------------------------------------------- +Fri Mar 5 06:12:24 EST 2010 - pzb@suse.de + +- Add BuildRoot to spec file to enable builds on old distros +- Patch initscript to use netcat instead of nc i + (same command, different package) + +- Update to Redis 1.2.3 + - The example init script was broken for a typo. Fixed. + - Support for large files in 32 bit targets, very important when saving + very large databases or when using the Append Only File (when Redis + was compiled for 64 bit target there was no problem). + - Now 'make 32bit' uses -m32 instead of Apple-specific -arch + - Stack trace fixed for some Linux targets + +------------------------------------------------------------------- +Thu Jan 21 16:32:45 UTC 2010 - prusnak@suse.cz + +- created package diff --git a/redis.hashes b/redis.hashes new file mode 100644 index 0000000..b903999 --- /dev/null +++ b/redis.hashes @@ -0,0 +1,174 @@ +# Redis hashes file. +# +# This file contains SHA1 or SHA256 digests of official tarballs released by +# the Redis project. +# You can use the file in order to verify that the download file is the original +# one created by the Redis team, and not a modified or corrupted file. +# +# This file is located at Github in the following repository: +# https://github.com/antirez/redis-hashes +# +# The file format is the following: +# +# hash +# +# Filename is the tarball name. Algo is the algorithm used, it is "sha1" up +# to a certain release, "sha256" for the following releases. + +# Digest is the output of the hash function, and URL the download URL for the +# specified file. + +hash redis-2.8.0-rc5.tar.gz sha1 bd27589b71a0b406b982485051f32b7c40c9d2c1 http://download.redis.io/releases/redis-2.8.0-rc5.tar.gz +hash redis-2.8.0-rc6.tar.gz sha1 d13db76145a9844e2a3302f561e907056f9e21a0 http://download.redis.io/releases/redis-2.8.0-rc6.tar.gz +hash redis-2.8.0.tar.gz sha1 41fd86128995f06502954dd6d6269c22f5e389f7 http://download.redis.io/releases/redis-2.8.0.tar.gz +hash redis-2.8.1.tar.gz sha1 1bb493318ff6c0c87334eb95640b89a16e4357d8 http://download.redis.io/releases/redis-2.8.1.tar.gz +hash redis-2.8.2.tar.gz sha1 3be038b9d095ce3dece7918aae810d14fe770400 http://download.redis.io/releases/redis-2.8.2.tar.gz +hash redis-2.6.17.tar.gz sha1 b5423e1c423d502074cbd0b21bd4e820409d2003 http://download.redis.io/releases/redis-2.6.17.tar.gz +hash redis-2.8.3.tar.gz sha1 a751371eeed5f5f02965eb34d989c1963dd8d8c7 http://download.redis.io/releases/redis-2.8.3.tar.gz +hash redis-2.8.4.tar.gz sha1 79b156cc9d8bff5a022fdc6d28d5c42999ddcb4f http://download.redis.io/releases/redis-2.8.4.tar.gz +hash redis-2.8.5.tar.gz sha1 f0eb48609ff66ead3c7f06bbe8a8dd1aa7341b73 http://download.redis.io/releases/redis-2.8.5.tar.gz +hash redis-2.8.6.tar.gz sha1 8680046580c75987961241f2e1e417c242b91a49 http://download.redis.io/releases/redis-2.8.6.tar.gz +hash redis-2.8.7.tar.gz sha1 acc369093ec74223e6da207921595187f7e64998 http://download.redis.io/releases/redis-2.8.7.tar.gz +hash redis-2.8.8.tar.gz sha1 aa811f399db58c92c8ec5e48271d307e9ab8eb81 http://download.redis.io/releases/redis-2.8.8.tar.gz +hash redis-2.8.9.tar.gz sha1 003ccdc175816e0a751919cf508f1318e54aac1e http://download.redis.io/releases/redis-2.8.9.tar.gz +hash redis-2.8.10.tar.gz sha1 339ddf82e01a16ad912d1c1d59b02f3fab58d9d9 http://download.redis.io/releases/redis-2.8.10.tar.gz +hash redis-2.8.11.tar.gz sha1 3e3a4603781514f239f040287d3ef1097eb02a76 http://download.redis.io/releases/redis-2.8.11.tar.gz +hash redis-2.8.12.tar.gz sha1 56c86a4f9eccaf29f934433c7c67a175e404b2f6 http://download.redis.io/releases/redis-2.8.12.tar.gz +hash redis-2.8.13.tar.gz sha1 a72925a35849eb2d38a1ea076a3db82072d4ee43 http://download.redis.io/releases/redis-2.8.13.tar.gz +hash redis-2.8.14.tar.gz sha1 fd0edc045f2b53057d7f6ab38e2fe99086c87e8d http://download.redis.io/releases/redis-2.8.14.tar.gz +hash redis-2.8.15.tar.gz sha1 afc0d753cea68a26038775df2dea75a76e3d0e1d http://download.redis.io/releases/redis-2.8.15.tar.gz +hash redis-2.8.16.tar.gz sha1 198045c8291dd832788ac8a17d2e565752499942 http://download.redis.io/releases/redis-2.8.16.tar.gz +hash redis-2.8.17.tar.gz sha1 913479f9d2a283bfaadd1444e17e7bab560e5d1e http://download.redis.io/releases/redis-2.8.17.tar.gz +hash redis-3.0.0-rc1.tar.gz sha1 f0934db86791e32053f8b21ddec5965793edff19 http://download.redis.io/releases/redis-3.0.0-rc1.tar.gz +hash redis-2.8.18.tar.gz sha1 129629262fea2bc60daa542f52457e65e6aa7fd5 http://download.redis.io/releases/redis-2.8.18.tar.gz +hash redis-2.8.19.tar.gz sha1 3e362f4770ac2fdbdce58a5aa951c1967e0facc8 http://download.redis.io/releases/redis-2.8.19.tar.gz +hash redis-3.0.0.tar.gz sha1 c75fd32900187a7c9f9d07c412ea3b3315691c65 http://download.redis.io/releases/redis-3.0.0.tar.gz +hash redis-2.8.20.tar.gz sha1 45f134113fb3d75b8c37f7968e46565a70800091 http://download.redis.io/releases/redis-2.8.20.tar.gz +hash redis-3.0.1.tar.gz sha1 fe1d06599042bfe6a0e738542f302ce9533dde88 http://download.redis.io/releases/redis-3.0.1.tar.gz +hash redis-2.8.21.tar.gz sha1 52f619d3d301fc7ae498a1d4cb4d44ecebc5b0f9 http://download.redis.io/releases/redis-2.8.21.tar.gz +hash redis-3.0.2.tar.gz sha1 a38755fe9a669896f7c5d8cd3ebbf76d59712002 http://download.redis.io/releases/redis-3.0.2.tar.gz +hash redis-3.0.3.tar.gz sha1 0e2d7707327986ae652df717059354b358b83358 http://download.redis.io/releases/redis-3.0.3.tar.gz +hash redis-3.0.4.tar.gz sha1 cccc58b2b8643930840870f17280fcae57ed7675 http://download.redis.io/releases/redis-3.0.4.tar.gz +hash redis-2.8.22.tar.gz sha1 78a70b32cdd3a4ccc58880d1821fb828d091bb36 http://download.redis.io/releases/redis-2.8.22.tar.gz +hash redis-2.8.23.tar.gz sha1 828fc5d4011e6141fabb2ad6ebc193e8f0d08cfa http://download.redis.io/releases/redis-2.8.23.tar.gz +hash redis-3.0.5.tar.gz sha1 ad3ee178c42bfcfd310c72bbddffbbe35db9b4a6 http://download.redis.io/releases/redis-3.0.5.tar.gz +hash redis-3.0.6.tar.gz sha1 4b1c7b1201984bca8f7f9c6c58862f6928cf0a25 http://download.redis.io/releases/redis-3.0.6.tar.gz +hash redis-3.0.7.tar.gz sha1 e56b4b7e033ae8dbf311f9191cf6fdf3ae974d1c http://download.redis.io/releases/redis-3.0.7.tar.gz +hash redis-3.2.0.tar.gz sha1 0c1820931094369c8cc19fc1be62f598bc5961ca http://download.redis.io/releases/redis-3.2.0.tar.gz +hash redis-3.2.1.tar.gz sha1 26c0fc282369121b4e278523fce122910b65fbbf http://download.redis.io/releases/redis-3.2.1.tar.gz +hash redis-3.2.2.tar.gz sha1 3141be9757532139f445bd5f6f4fae293bc33d27 http://download.redis.io/releases/redis-3.2.2.tar.gz +hash redis-3.2.3.tar.gz sha1 92d6d93ef2efc91e595c8bf578bf72baff397507 http://download.redis.io/releases/redis-3.2.3.tar.gz +hash redis-3.2.4.tar.gz sha1 f0fe685cbfdb8c2d8c74613ad8a5a5f33fba40c9 http://download.redis.io/releases/redis-3.2.4.tar.gz +hash redis-3.2.5.tar.gz sha1 6f6333db6111badaa74519d743589ac4635eba7a http://download.redis.io/releases/redis-3.2.5.tar.gz +hash redis-3.2.6.tar.gz sha1 0c7bc5c751bdbc6fabed178db9cdbdd948915d1b http://download.redis.io/releases/redis-3.2.6.tar.gz +hash redis-3.2.7.tar.gz sha1 6889af053020cd72ebb16805ead0ce9b3a69a9ef http://download.redis.io/releases/redis-3.2.7.tar.gz +hash redis-3.2.8.tar.gz sha1 6780d1abb66f33a97aad0edbe020403d0a15b67f http://download.redis.io/releases/redis-3.2.8.tar.gz +hash redis-3.2.9.tar.gz sha256 6eaacfa983b287e440d0839ead20c2231749d5d6b78bbe0e0ffa3a890c59ff26 http://download.redis.io/releases/redis-3.2.9.tar.gz +hash redis-4.0.0.tar.gz sha256 d539ae309295721d5c3ed7298939645b6f86ab5d25fdf2a0352ab575c159df2d http://download.redis.io/releases/redis-4.0.0.tar.gz +hash redis-4.0.1.tar.gz sha256 2049cd6ae9167f258705081a6ef23bb80b7eff9ff3d0d7481e89510f27457591 http://download.redis.io/releases/redis-4.0.1.tar.gz +hash redis-3.2.10.tar.gz sha256 411c604a716104f7f5a326abfad32de9cea10f15f987bec45cf86f315e9e63a0 http://download.redis.io/releases/redis-3.2.10.tar.gz +hash redis-4.0.2.tar.gz sha256 b1a0915dbc91b979d06df1977fe594c3fa9b189f1f3d38743a2948c9f7634813 http://download.redis.io/releases/redis-4.0.2.tar.gz +hash redis-3.2.11.tar.gz sha256 31ae927cab09f90c9ca5954aab7aeecc3bb4da6087d3d12ba0a929ceb54081b5 http://download.redis.io/releases/redis-3.2.11.tar.gz +hash redis-4.0.3.tar.gz sha256 412f2634e55fe19e8826fae47935a8efe1e60ba2a48a8953c65e7a6caa459e41 http://download.redis.io/releases/redis-4.0.3.tar.gz +hash redis-4.0.4.tar.gz sha256 35768145335e874b1b810e23494ad3daa6f442c3dc1d7e3784992ba50799c0cd http://download.redis.io/releases/redis-4.0.4.tar.gz +hash redis-4.0.5.tar.gz sha256 d52bf355b96e20905916482962235e0442634c849934adb034f85362b31ed978 http://download.redis.io/releases/redis-4.0.5.tar.gz +hash redis-4.0.6.tar.gz sha256 769b5d69ec237c3e0481a262ff5306ce30db9b5c8ceb14d1023491ca7be5f6fa http://download.redis.io/releases/redis-4.0.6.tar.gz +hash redis-4.0.7.tar.gz sha256 1bba546d44fb40e1fd8be1a15e1a9cc6484bceeea0bbd52919eebc656661ecd1 http://download.redis.io/releases/redis-4.0.7.tar.gz +hash redis-4.0.8.tar.gz sha256 ff0c38b8c156319249fec61e5018cf5b5fe63a65b61690bec798f4c998c232ad http://download.redis.io/releases/redis-4.0.8.tar.gz +hash redis-4.0.9.tar.gz sha256 df4f73bc318e2f9ffb2d169a922dec57ec7c73dd07bccf875695dbeecd5ec510 http://download.redis.io/releases/redis-4.0.9.tar.gz +hash redis-3.2.12.tar.gz sha256 98c4254ae1be4e452aa7884245471501c9aa657993e0318d88f048093e7f88fd http://download.redis.io/releases/redis-3.2.12.tar.gz +hash redis-4.0.10.tar.gz sha256 1db67435a704f8d18aec9b9637b373c34aa233d65b6e174bdac4c1b161f38ca4 http://download.redis.io/releases/redis-4.0.10.tar.gz +hash redis-5.0-rc4.tar.gz sha256 bfc7a27d3ba990e154e5b56484061f01962d40b7c77b520ed7a940914b267cec http://download.redis.io/releases/redis-5.0-rc4.tar.gz +hash redis-4.0.11.tar.gz sha256 fc53e73ae7586bcdacb4b63875d1ff04f68c5474c1ddeda78f00e5ae2eed1bbb http://download.redis.io/releases/redis-4.0.11.tar.gz +hash 5.0-rc5.tar.gz sha256 d070c8a3514e40da5cef9ec26dfd594df0468c203c36398ef2d359a32502b548 https://github.com/antirez/redis/archive/5.0-rc5.tar.gz +hash redis-5.0-rc6.tar.gz sha256 5e5ffc9184021178c1d89375c5132a2b872a9f77569e8c08ccbdf322acff7ace http://download.redis.io/releases/redis-5.0-rc6.tar.gz +hash redis-5.0.0.tar.gz sha256 70c98b2d0640b2b73c9d8adb4df63bcb62bad34b788fe46d1634b6cf87dc99a4 http://download.redis.io/releases/redis-5.0.0.tar.gz +hash redis-5.0.1.tar.gz sha256 82a67c0eec97f9ad379384c30ec391b269e17a3e4596393c808f02db7595abcb http://download.redis.io/releases/redis-5.0.1.tar.gz +hash redis-5.0.2.tar.gz sha256 937dde6164001c083e87316aa20dad2f8542af089dfcb1cbb64f9c8300cd00ed http://download.redis.io/releases/redis-5.0.2.tar.gz +hash redis-4.0.12.tar.gz sha256 6447259d2eed426a949c9c13f8fdb2d91fb66d9dc915dd50db13b87f46d93162 http://download.redis.io/releases/redis-4.0.12.tar.gz +hash redis-5.0.3.tar.gz sha256 e290b4ddf817b26254a74d5d564095b11f9cd20d8f165459efa53eb63cd93e02 http://download.redis.io/releases/redis-5.0.3.tar.gz +hash redis-4.0.13.tar.gz sha256 17d955227966dcd68590be6139e5fe7f2d19fc4fb7334248a904ea9cdd30c1d4 http://download.redis.io/releases/redis-4.0.13.tar.gz +hash redis-5.0.4.tar.gz sha256 3ce9ceff5a23f60913e1573f6dfcd4aa53b42d4a2789e28fa53ec2bd28c987dd http://download.redis.io/releases/redis-5.0.4.tar.gz +hash redis-4.0.14.tar.gz sha256 1e1e18420a86cfb285933123b04a82e1ebda20bfb0a289472745a087587e93a7 http://download.redis.io/releases/redis-4.0.14.tar.gz +hash redis-3.2.13.tar.gz sha256 862979c9853fdb1d275d9eb9077f34621596fec1843e3e7f2e2f09ce09a387ba http://download.redis.io/releases/redis-3.2.13.tar.gz +hash redis-5.0.5.tar.gz sha256 2139009799d21d8ff94fc40b7f36ac46699b9e1254086299f8d3b223ca54a375 http://download.redis.io/releases/redis-5.0.5.tar.gz +hash redis-5.0.6.tar.gz sha256 6624841267e142c5d5d5be292d705f8fb6070677687c5aad1645421a936d22b3 http://download.redis.io/releases/redis-5.0.6.tar.gz +hash redis-5.0.7.tar.gz sha256 61db74eabf6801f057fd24b590232f2f337d422280fd19486eca03be87d3a82b http://download.redis.io/releases/redis-5.0.7.tar.gz +hash redis-6.0-rc1.tar.gz sha256 3e11d148de0b3c3e573a31b6abb3cba56812aefe3f9a917a445768cc510b5fe3 http://download.redis.io/releases/redis-6.0-rc1.tar.gz +hash redis-6.0-rc2.tar.gz sha256 60dc45d8ab41de59a12d1163f7f79911f289f4d73b5066e027942eddec259a88 http://download.redis.io/releases/redis-6.0-rc2.tar.gz +hash redis-5.0.8.tar.gz sha256 f3c7eac42f433326a8d981b50dba0169fdfaf46abb23fcda2f933a7552ee4ed7 http://download.redis.io/releases/redis-5.0.8.tar.gz +hash redis-6.0-rc3.tar.gz sha256 aa5916b7ee9a7098032cb875f3f0bfb4405f6e2533d7f6284dfbca21f55fc289 http://download.redis.io/releases/redis-6.0-rc3.tar.gz +hash redis-5.0.8.tar.gz sha256 f3c7eac42f433326a8d981b50dba0169fdfaf46abb23fcda2f933a7552ee4ed7 http://download.redis.io/releases/redis-5.0.8.tar.gz +hash redis-6.0-rc4.tar.gz sha256 7fdc37fd9451571e90186115a67d7595d49206f90bd7c2b7505b197fd6544358 http://download.redis.io/releases/redis-6.0-rc4.tar.gz +hash redis-5.0.9.tar.gz sha256 53d0ae164cd33536c3d4b720ae9a128ea6166ebf04ff1add3b85f1242090cb85 http://download.redis.io/releases/redis-5.0.9.tar.gz +hash redis-6.0.0.tar.gz sha256 16d13ec1c3255206deb4818ed444dca6dda1482b551736f0033253c211b788fc http://download.redis.io/releases/redis-6.0.0.tar.gz +hash redis-6.0.1.tar.gz sha256 b8756e430479edc162ba9c44dc89ac394316cd482f2dc6b91bcd5fe12593f273 http://download.redis.io/releases/redis-6.0.1.tar.gz +hash redis-6.0.2.tar.gz sha256 9c37cd4228a57e82e7037094751c63349302b0b86c5e30b778a63a802dfd0109 http://download.redis.io/releases/redis-6.0.2.tar.gz +hash redis-6.0.3.tar.gz sha256 bca46dce81fe92f7b2de4cf8ae41fbc4b94fbd5674def7f12c87e7f9165cbb3a http://download.redis.io/releases/redis-6.0.3.tar.gz +hash redis-6.0.4.tar.gz sha256 3337005a1e0c3aa293c87c313467ea8ac11984921fab08807998ba765c9943de http://download.redis.io/releases/redis-6.0.4.tar.gz +hash redis-6.0.5.tar.gz sha256 42cf86a114d2a451b898fcda96acd4d01062a7dbaaad2801d9164a36f898f596 http://download.redis.io/releases/redis-6.0.5.tar.gz +hash redis-6.0.6.tar.gz sha256 12ad49b163af5ef39466e8d2f7d212a58172116e5b441eebecb4e6ca22363d94 http://download.redis.io/releases/redis-6.0.6.tar.gz +hash redis-6.0.7.tar.gz sha256 c2aaa1a4c7e72c70adedf976fdd5e1d34d395989283dab9d7840e0a304bb2393 http://download.redis.io/releases/redis-6.0.7.tar.gz +hash redis-6.0.8.tar.gz sha256 04fa1fddc39bd1aecb6739dd5dd73858a3515b427acd1e2947a66dadce868d68 http://download.redis.io/releases/redis-6.0.8.tar.gz +hash redis-5.0.10.tar.gz sha256 e30a5e7d1593a715cdda2a82deb90190816d06c9d1dc1ef5b36874878c683382 http://download.redis.io/releases/redis-5.0.10.tar.gz +hash redis-6.0.9.tar.gz sha256 dc2bdcf81c620e9f09cfd12e85d3bc631c897b2db7a55218fd8a65eaa37f86dd http://download.redis.io/releases/redis-6.0.9.tar.gz +hash redis-6.2-rc1.tar.gz sha256 92fc13f57b31cb6425c590b9c6b0bf611450f66b18fe92b9d5893b3a9760c438 http://download.redis.io/releases/redis-6.2-rc1.tar.gz +hash redis-6.0.10.tar.gz sha256 79bbb894f9dceb33ca699ee3ca4a4e1228be7fb5547aeb2f99d921e86c1285bd http://download.redis.io/releases/redis-6.0.10.tar.gz +hash redis-6.2-rc2.tar.gz sha256 7153bbbd751f61ea70e649e0d19be6e7e78da9864527d46d10519e9a03cb0924 http://download.redis.io/releases/redis-6.2-rc2.tar.gz +hash redis-6.2-rc3.tar.gz sha256 f35bba2af553fb58b2068ee581f316cefe0c00041e48fc944bd962e65777851c http://download.redis.io/releases/redis-6.2-rc3.tar.gz +hash redis-5.0.11.tar.gz sha256 418135c453a94aac24c24243b041fb978fcc3ea4e1e1f996c1d64b16ae6ac1aa http://download.redis.io/releases/redis-5.0.11.tar.gz +hash redis-6.2.0.tar.gz sha256 67d624c25d962bd68aff8812a135df85bad07556b8825f3bcd5b522a9932dbca http://download.redis.io/releases/redis-6.2.0.tar.gz +hash redis-6.0.11.tar.gz sha256 c927f2d110e88fda308526a1809a4d7dfcd004319f0de66d40a58a42aec23c5f http://download.redis.io/releases/redis-6.0.11.tar.gz +hash redis-5.0.12.tar.gz sha256 7040eba5910f7c3d38f05ea5a1d88b480488215bdbd2e10ec70d18380108e31e http://download.redis.io/releases/redis-5.0.12.tar.gz +hash redis-6.0.12.tar.gz sha256 f16ad973d19f80f121e53794d5eb48a997e2c6a85b5be41bb3b66750cc17bf6b http://download.redis.io/releases/redis-6.0.12.tar.gz +hash redis-6.2.1.tar.gz sha256 cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520 http://download.redis.io/releases/redis-6.2.1.tar.gz +hash redis-6.2.2.tar.gz sha256 7a260bb74860f1b88c3d5942bf8ba60ca59f121c6dce42d3017bed6add0b9535 http://download.redis.io/releases/redis-6.2.2.tar.gz +hash redis-6.0.13.tar.gz sha256 3049763f4553ddd5a69552f41da3dd7dde9fbc524dbb15e517fee24cc73b790c http://download.redis.io/releases/redis-6.0.13.tar.gz +hash redis-6.2.3.tar.gz sha256 98ed7d532b5e9671f5df0825bb71f0f37483a16546364049384c63db8764512b http://download.redis.io/releases/redis-6.2.3.tar.gz +hash redis-6.0.14.tar.gz sha256 c3e60c928b183ca9fe8e878936a6f8ba99e0441b9b6e04d2412a750ea576c649 http://download.redis.io/releases/redis-6.0.14.tar.gz +hash redis-6.2.4.tar.gz sha256 ba32c406a10fc2c09426e2be2787d74ff204eb3a2e496d87cff76a476b6ae16e http://download.redis.io/releases/redis-6.2.4.tar.gz +hash redis-5.0.13.tar.gz sha256 2b617aa2d6ad66c6a5d99fc8590c6b83b40d391fd1184c6eeab30df31f6a7208 http://download.redis.io/releases/redis-5.0.13.tar.gz +hash redis-6.0.15.tar.gz sha256 4bc295264a95bc94423c162a9eee66135a24a51eefe5f53f18fc9bde5c3a9f74 http://download.redis.io/releases/redis-6.0.15.tar.gz +hash redis-6.2.5.tar.gz sha256 4b9a75709a1b74b3785e20a6c158cab94cf52298aa381eea947a678a60d551ae http://download.redis.io/releases/redis-6.2.5.tar.gz +hash redis-5.0.14.tar.gz sha256 3ea5024766d983249e80d4aa9457c897a9f079957d0fb1f35682df233f997f32 http://download.redis.io/releases/redis-5.0.14.tar.gz +hash redis-6.0.16.tar.gz sha256 3639bbf29aca1a1670de1ab2ce224d6511c63969e7e590d3cdf8f7888184fa19 http://download.redis.io/releases/redis-6.0.16.tar.gz +hash redis-6.2.6.tar.gz sha256 5b2b8b7a50111ef395bf1c1d5be11e6e167ac018125055daa8b5c2317ae131ab http://download.redis.io/releases/redis-6.2.6.tar.gz +hash redis-7.0-rc1.tar.gz sha256 9bd57d3c9ebba9dbbd6cd14b0c263ce151b0044fb6620b556449c2d82e06ef3d http://download.redis.io/releases/redis-7.0-rc1.tar.gz +hash redis-7.0-rc2.tar.gz sha256 ee41f5a9f459b44baefbc021cf5096440f346f3c5fc8a1979a877a2f10603ca3 http://download.redis.io/releases/redis-7.0-rc2.tar.gz +hash redis-7.0-rc3.tar.gz sha256 66b2ecc2e4b53c62940589434ea8af3a85546df131001680ed294028cd84ecdc http://download.redis.io/releases/redis-7.0-rc3.tar.gz +hash redis-6.2.7.tar.gz sha256 b7a79cc3b46d3c6eb52fa37dde34a4a60824079ebdfb3abfbbfa035947c55319 http://download.redis.io/releases/redis-6.2.7.tar.gz +hash redis-7.0.0.tar.gz sha256 284d8bd1fd85d6a55a05ee4e7c31c31977ad56cbf344ed83790beeb148baa720 http://download.redis.io/releases/redis-7.0.0.tar.gz +hash redis-7.0.1.tar.gz sha256 ca1820d527e4759884620be2917079e61e996fa81da5fbe5c07c4a7b507264dc http://download.redis.io/releases/redis-7.0.1.tar.gz +hash redis-7.0.2.tar.gz sha256 5e57eafe7d4ac5ecb6a7d64d6b61db775616dbf903293b3fcc660716dbda5eeb http://download.redis.io/releases/redis-7.0.2.tar.gz +hash redis-7.0.3.tar.gz sha256 2cde7d17214ffe305953da9fff12333e8a72caa57fd4923e4872f6362a208e73 http://download.redis.io/releases/redis-7.0.3.tar.gz +hash redis-7.0.4.tar.gz sha256 f0e65fda74c44a3dd4fa9d512d4d4d833dd0939c934e946a5c622a630d057f2f http://download.redis.io/releases/redis-7.0.4.tar.gz +hash redis-7.0.5.tar.gz sha256 67054cc37b58c125df93bd78000261ec0ef4436a26b40f38262c780e56315cc3 http://download.redis.io/releases/redis-7.0.5.tar.gz +hash redis-6.2.8.tar.gz sha256 f91ab24bcb42673cb853292eb5d43c2017d11d659854808ed6a529c97297fdfe http://download.redis.io/releases/redis-6.2.8.tar.gz +hash redis-7.0.6.tar.gz sha256 7b33a7e890d13e27af1f246acb16312669ad8a1d56ce8f807dfbcd3c09aa7bb3 http://download.redis.io/releases/redis-7.0.6.tar.gz +hash redis-7.0.7.tar.gz sha256 8d327d7e887d1bb308fc37aaf717a0bf79f58129e3739069aaeeae88955ac586 http://download.redis.io/releases/redis-7.0.7.tar.gz +hash redis-7.0.8.tar.gz sha256 06a339e491306783dcf55b97f15a5dbcbdc01ccbde6dc23027c475cab735e914 http://download.redis.io/releases/redis-7.0.8.tar.gz +hash redis-6.2.9.tar.gz sha256 9661b2c6b1cc9bf2999471b37a4d759fa5e747d408142c18af8792ebd8384a2a http://download.redis.io/releases/redis-6.2.9.tar.gz +hash redis-6.0.17.tar.gz sha256 ad50bf7c6bf98d7bf3c626bdd5588368f52c82c8d41869cca024455f651e7bfc http://download.redis.io/releases/redis-6.0.17.tar.gz +hash redis-6.2.10.tar.gz sha256 22684f66d272379b91e3e53693918b535e2a6e54b9d14e1cad171658e0eefeca http://download.redis.io/releases/redis-6.2.10.tar.gz +hash redis-6.0.18.tar.gz sha256 d7b4f2a97fcab96727284092b0a4aa854af47d570803fa0e7a0345359743836e http://download.redis.io/releases/redis-6.0.18.tar.gz +hash redis-6.2.11.tar.gz sha256 8c75fb9cdd01849e92c23f30cb7fe205ea0032a38d11d46af191014e9acc3098 http://download.redis.io/releases/redis-6.2.11.tar.gz +hash redis-7.0.9.tar.gz sha256 f77135c2a47c9151d4028bfea3b34470ab4d324d1484f79a84c6f32a3cfb9f65 http://download.redis.io/releases/redis-7.0.9.tar.gz +hash redis-7.0.10.tar.gz sha256 1dee4c6487341cae7bd6432ff7590906522215a061fdef87c7d040a0cb600131 http://download.redis.io/releases/redis-7.0.10.tar.gz +hash redis-7.2-rc1.tar.gz sha256 b49844a5434bf1cefebc3951dfed1f09172fcdfe82ad4ef7284f6bbe5956f5ea http://download.redis.io/releases/redis-7.2-rc1.tar.gz +hash redis-7.0.11.tar.gz sha256 ce250d1fba042c613de38a15d40889b78f7cb6d5461a27e35017ba39b07221e3 http://download.redis.io/releases/redis-7.0.11.tar.gz +hash redis-6.2.12.tar.gz sha256 75352eef41e97e84bfa94292cbac79e5add5345fc79787df5cbdff703353fb1b http://download.redis.io/releases/redis-6.2.12.tar.gz +hash redis-6.0.19.tar.gz sha256 55e26318c3d9c53a77a6e802f60524afdddd057a2e965cebcf781a0a72f0e3e6 http://download.redis.io/releases/redis-6.0.19.tar.gz +hash redis-7.2-rc2.tar.gz sha256 4e075e79ad18f16c41e18b14ab60e1edfdb6633907fe9a39a34c62f4a758740b http://download.redis.io/releases/redis-7.2-rc2.tar.gz +hash redis-6.0.20.tar.gz sha256 173d4c5f44b5d7186da96c4adc5cb20e8018b50ec3a8dfe0d191dbbab53952f0 http://download.redis.io/releases/redis-6.0.20.tar.gz +hash redis-6.2.13.tar.gz sha256 89ff27c80d420456a721ccfb3beb7cc628d883c53059803513749e13214a23d1 http://download.redis.io/releases/redis-6.2.13.tar.gz +hash redis-7.0.12.tar.gz sha256 9dd83d5b278bb2bf0e39bfeb75c3e8170024edbaf11ba13b7037b2945cf48ab7 http://download.redis.io/releases/redis-7.0.12.tar.gz +hash redis-7.2-rc3.tar.gz sha256 4035e2b146ca1eb43b4188ca30a6d7be1a4d40ac2dfdf58db8f885517bbab41a http://download.redis.io/releases/redis-7.2-rc3.tar.gz +hash redis-7.2.0.tar.gz sha256 8b12e242647635b419a0e1833eda02b65bf64e39eb9e509d9db4888fb3124943 http://download.redis.io/releases/redis-7.2.0.tar.gz +hash redis-7.0.13.tar.gz sha256 97065774d5fb8388eb0d8913458decfcb167d356e40d31dd01cd30c1cc391673 http://download.redis.io/releases/redis-7.0.13.tar.gz +hash redis-7.2.1.tar.gz sha256 5c76d990a1b1c5f949bcd1eed90d0c8a4f70369bdbdcb40288c561ddf88967a4 http://download.redis.io/releases/redis-7.2.1.tar.gz +hash redis-6.2.14.tar.gz sha256 34e74856cbd66fdb3a684fb349d93961d8c7aa668b06f81fd93ff267d09bc277 http://download.redis.io/releases/redis-6.2.14.tar.gz +hash redis-7.0.14.tar.gz sha256 7e1cdf347f4970ea39d5b7fdb19aedec4c21942e202de65bdeb782d38d2f299f http://download.redis.io/releases/redis-7.0.14.tar.gz +hash redis-7.2.2.tar.gz sha256 ca999be08800edc6d265379c4c7aafad92f0ee400692e4e2d69829ab4b4c3d08 http://download.redis.io/releases/redis-7.2.2.tar.gz +hash redis-7.2.3.tar.gz sha256 3e2b196d6eb4ddb9e743088bfc2915ccbb42d40f5a8a3edd8cb69c716ec34be7 http://download.redis.io/releases/redis-7.2.3.tar.gz +hash redis-7.0.15.tar.gz sha256 98066f5363504b26c34dd20fbcc3c957990d764cdf42576c836fc021073f4341 http://download.redis.io/releases/redis-7.0.15.tar.gz +hash redis-7.2.4.tar.gz sha256 8d104c26a154b29fd67d6568b4f375212212ad41e0c2caa3d66480e78dbd3b59 http://download.redis.io/releases/redis-7.2.4.tar.gz diff --git a/redis.logrotate b/redis.logrotate new file mode 100644 index 0000000..f2b29b3 --- /dev/null +++ b/redis.logrotate @@ -0,0 +1,10 @@ +/var/log/redis/*.log { + weekly + rotate 10 + copytruncate + delaycompress + compress + notifempty + missingok + su redis redis +} diff --git a/redis.spec b/redis.spec new file mode 100644 index 0000000..c4161bc --- /dev/null +++ b/redis.spec @@ -0,0 +1,182 @@ +# +# spec file for package redis +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define _data_dir %{_localstatedir}/lib/%{name} +%define _log_dir %{_localstatedir}/log/%{name} +%define _conf_dir %{_sysconfdir}/%{name} +Name: redis +Version: 7.2.4 +Release: 0 +Summary: Persistent key-value database +License: BSD-3-Clause +URL: https://redis.io +Source0: https://download.redis.io/releases/%{name}-%{version}.tar.gz +Source1: %{name}.logrotate +Source2: %{name}.target +Source3: %{name}@.service +Source4: %{name}.tmpfiles.d +Source5: README.SUSE +Source6: %{name}.sysctl +Source7: %{name}-sentinel@.service +Source8: %{name}-sentinel.target +Source9: %{name}-user.conf +Source10: https://raw.githubusercontent.com/redis/redis-hashes/master/README#/redis.hashes +# PATCH-MISSING-TAG -- See https://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines +Patch0: %{name}-conf.patch +Patch3: reproducible.patch +Patch4: ppc-atomic.patch +BuildRequires: jemalloc-devel +BuildRequires: libopenssl-devel >= 1.1.1 +BuildRequires: pkgconfig +BuildRequires: procps +BuildRequires: sysuser-shadow +BuildRequires: sysuser-tools +BuildRequires: tcl +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(systemd) +# there is no tcl-tls package yet, which is said to be needed for testing tls support +Recommends: logrotate +%sysusers_requires + +%description +%{name} is an advanced key-value store. It is similar to memcached but the dataset +is not volatile, and values can be strings, exactly like in memcached, +but also lists, sets, and ordered sets. All this data types can be manipulated +with atomic operations to push/pop elements, add/remove elements, perform server +side union, intersection, difference between sets, and so forth. Redis supports +different kind of sorting abilities. + +%prep +echo "`grep -F %{name}-%{version}.tar.gz %{SOURCE10} | cut -d' ' -f4` %{SOURCE0}" | sha256sum -c +%autosetup -p1 + +%build +export HOST=OBS # for reproducible builds +%make_build CFLAGS="%{optflags}" \ + BUILD_WITH_SYSTEMD=yes \ + BUILD_TLS=yes +%sysusers_generate_pre %{SOURCE9} %{name} + +%install +install -pm0750 -d \ + %{buildroot}%{_sbindir} \ + %{buildroot}%{_log_dir} \ + %{buildroot}%{_data_dir} \ + %{buildroot}%{_conf_dir} \ + %{buildroot}%{_log_dir}/default \ + %{buildroot}%{_data_dir}/default + +install -Dpm0755 src/%{name}-benchmark %{buildroot}%{_bindir}/%{name}-benchmark +install -Dpm0755 src/%{name}-cli %{buildroot}%{_bindir}/%{name}-cli + +install -Dpm0755 src/%{name}-server %{buildroot}%{_sbindir}/%{name}-server + +ln -sfv ../sbin/redis-server %{buildroot}%{_bindir}/%{name}-check-aof +ln -sfv ../sbin/redis-server %{buildroot}%{_bindir}/%{name}-check-rdb +ln -sfv ../sbin/redis-server %{buildroot}%{_sbindir}/%{name}-check-aof +ln -sfv ../sbin/redis-server %{buildroot}%{_sbindir}/%{name}-check-rdb +ln -sfv ../sbin/redis-server %{buildroot}%{_sbindir}/%{name}-sentinel + +perl -p -i -e 's|daemonize yes|daemonize no|g' %{name}.conf +install -Dpm0640 redis.conf %{buildroot}%{_conf_dir}/default.conf.example +install -Dpm0660 sentinel.conf %{buildroot}%{_conf_dir}/sentinel.conf.example + +# some sysctl stuff +install -Dpm0644 %{SOURCE6} %{buildroot}/%{_prefix}/lib/sysctl.d/00-%{name}.conf +%if 0%{?suse_version} > 1500 +mkdir -p %{buildroot}%{_distconfdir}/logrotate.d +install -Dpm0644 %{SOURCE1} %{buildroot}%{_distconfdir}/logrotate.d/%{name} +%else +install -Dpm0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} +%endif +install -Dpm0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.target +install -Dpm0644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}@.service +install -Dpm0644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -Dpm0644 %{SOURCE7} %{buildroot}%{_unitdir}/%{name}-sentinel@.service +install -Dpm0644 %{SOURCE8} %{buildroot}%{_unitdir}/%{name}-sentinel.target + +ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} +cp %{SOURCE5} README.SUSE + +mkdir -p %{buildroot}%{_sysusersdir} +install -pm0644 %{SOURCE9} %{buildroot}%{_sysusersdir}/ + +%check +cat < 1500 +# Prepare for migration to /usr/etc; save any old .rpmsave +for i in logrotate.d/%{name} ; do + test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||: +done +%endif + +%if 0%{?suse_version} > 1500 +%posttrans +# Migration to /usr/etc, restore just created .rpmsave +for i in logrotate.d/%{name} ; do + test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||: +done +%endif + +%post +%tmpfiles_create %{_tmpfilesdir}/%{name}.conf +%service_add_post %{name}.target %{name}@.service %{name}-sentinel.target %{name}-sentinel@.service +echo "See %{_docdir}/%{name}/README.SUSE to continue" + +%preun +%service_del_preun %{name}.target %{name}@.service %{name}-sentinel.target %{name}-sentinel@.service + +%postun +%service_del_postun %{name}.target %{name}@.service %{name}-sentinel.target %{name}-sentinel@.service + +%files +%license COPYING +%doc 00-RELEASENOTES BUGS README.md +%if 0%{?suse_version} > 1500 +%{_distconfdir}/logrotate.d/%{name} +%else +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%endif +%{_prefix}/lib/sysctl.d/00-%{name}.conf +%{_bindir}/%{name}-* +%{_sbindir}/%{name}-* +%{_sbindir}/rc%{name} +%{_tmpfilesdir}/%{name}.conf +%{_sysusersdir}/%{name}-user.conf +%{_unitdir}/%{name}@.service +%{_unitdir}/%{name}.target +%{_unitdir}/%{name}-sentinel@.service +%{_unitdir}/%{name}-sentinel.target +%doc README.SUSE +%config(noreplace) %attr(-,root,%{name}) %{_conf_dir}/ +%dir %attr(0750,%{name},%{name}) %{_data_dir} +%dir %attr(0750,%{name},%{name}) %{_data_dir}/default +%dir %attr(0750,%{name},%{name}) %{_log_dir} +%ghost %dir /run/%{name} + +%changelog diff --git a/redis.sysctl b/redis.sysctl new file mode 100644 index 0000000..2c943ad --- /dev/null +++ b/redis.sysctl @@ -0,0 +1,12 @@ +### remove redis Warnings about + +# WARNING: The TCP backlog setting of 511 cannot be enforced because +# /proc/sys/net/core/somaxconn is set to the lower value of 128. +net.core.somaxconn=512 + +# WARNING overcommit_memory is set to 0! Background save may fail +# under low memory condition. To fix this issue add +# 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or +# run the command 'sysctl -w vm.overcommit_memory=1' for this to take +# effect. +vm.overcommit_memory=1 diff --git a/redis.target b/redis.target new file mode 100644 index 0000000..d57d8a7 --- /dev/null +++ b/redis.target @@ -0,0 +1,3 @@ +[Unit] +Description=Redis target allowing to start/stop all redis@.service instances at once + diff --git a/redis.tmpfiles.d b/redis.tmpfiles.d new file mode 100644 index 0000000..4685a31 --- /dev/null +++ b/redis.tmpfiles.d @@ -0,0 +1,2 @@ +# Type Path Mode UID GID Age Argument +d /run/redis 0755 redis redis - - diff --git a/redis@.service b/redis@.service new file mode 100644 index 0000000..1b7cd89 --- /dev/null +++ b/redis@.service @@ -0,0 +1,30 @@ +[Unit] +Description=Redis instance: %i +After=network.target +PartOf=redis.target + +[Service] +Type=notify +User=redis +Group=redis +PrivateTmp=true +# added automatically, for details please see +# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort +ProtectSystem=full +ProtectHome=true +PrivateDevices=true +ProtectHostname=true +ProtectClock=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true +# end of automatic additions +PIDFile=/run/redis/%i.pid +ExecStart=/usr/sbin/redis-server /etc/redis/%i.conf +LimitNOFILE=10240 +Restart=on-failure + +[Install] +WantedBy=multi-user.target redis.target diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..61cbdbc --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,26 @@ +https://github.com/antirez/redis/pull/4390 + +From 8832af49fa1f4fdd8f9e152f013bb71b343d26dd Mon Sep 17 00:00:00 2001 +From: "Bernhard M. Wiedemann" +Date: Sun, 22 Oct 2017 05:20:38 +0200 +Subject: [PATCH 1/2] Use RELEASENOTES date instead of build date + +in order to make builds reproducible. +See https://reproducible-builds.org/ for why this is good. +--- + src/mkreleasehdr.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: redis-5.0.5/src/mkreleasehdr.sh +=================================================================== +--- redis-5.0.5.orig/src/mkreleasehdr.sh ++++ redis-5.0.5/src/mkreleasehdr.sh +@@ -1,7 +1,7 @@ + #!/bin/sh + GIT_SHA1=`(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1` + GIT_DIRTY=`git diff --no-ext-diff 2> /dev/null | wc -l` +-BUILD_ID=`uname -n`"-"`date +%s` ++BUILD_ID=${HOST:-`uname -n`}"-"`date -r ../00-RELEASENOTES +%s` + if [ -n "$SOURCE_DATE_EPOCH" ]; then + BUILD_ID=$(date -u -d "@$SOURCE_DATE_EPOCH" +%s 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" +%s 2>/dev/null || date -u +%s) + fi