Hi, Here's a diff to update to the latest redis release. Changelogs: https://github.com/redis/redis/releases/tag/6.2.2 https://github.com/redis/redis/releases/tag/6.2.3
6.2.2 Upgrade urgency: HIGH, if you're using ACL and pub/sub, CONFIG REWRITE, or suffering from performance regression. see below. 6.2.3 Upgrade urgency: SECURITY, Contains fixes to security issues that affect authenticated client connections. LOW otherwise. Integer overflow in STRALGO LCS command (CVE-2021-29477): An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result in remote code execution. The integer overflow bug exists in all versions of Redis starting with 6.0. A test has been failing since 6.2.2: !!! WARNING The following tests failed: *** [err]: client tracking don't cause eviction feedback loop in tests/unit/maxmemory.tcl Expected '0' to be between to '200' and '300' (context: type eval line 48 cmd {assert_range [r dbsize] 200 300} proc ::test) Cleanup: may take some time... OK And while there take maintainership. Test reports/comments? OK? Cheers, Daniel Index: Makefile =================================================================== RCS file: /cvs/ports/databases/redis/Makefile,v retrieving revision 1.121 diff -u -p -r1.121 Makefile --- Makefile 16 Mar 2021 21:18:38 -0000 1.121 +++ Makefile 4 May 2021 13:57:43 -0000 @@ -2,10 +2,11 @@ COMMENT = persistent key-value database -DISTNAME = redis-6.2.1 +DISTNAME = redis-6.2.3 CATEGORIES = databases HOMEPAGE = https://redis.io/ -REVISION = 0 + +MAINTAINER = Daniel Jakots <o...@chown.me> # BSD PERMIT_PACKAGE = Yes Index: distinfo =================================================================== RCS file: /cvs/ports/databases/redis/distinfo,v retrieving revision 1.94 diff -u -p -r1.94 distinfo --- distinfo 6 Mar 2021 17:42:12 -0000 1.94 +++ distinfo 4 May 2021 13:57:43 -0000 @@ -1,2 +1,2 @@ -SHA256 (redis-6.2.1.tar.gz) = zSIlBQEsziCyVoL8qTHsk70hrpLLSr/nQs97dqqQdSA= -SIZE (redis-6.2.1.tar.gz) = 2438367 +SHA256 (redis-6.2.3.tar.gz) = mO19UytelnH13wglu3Hw83SDoWVGNkBJOExj24dkUSs= +SIZE (redis-6.2.3.tar.gz) = 2456050 Index: patches/patch-redis_conf =================================================================== RCS file: /cvs/ports/databases/redis/patches/patch-redis_conf,v retrieving revision 1.26 diff -u -p -r1.26 patch-redis_conf --- patches/patch-redis_conf 16 Mar 2021 21:18:38 -0000 1.26 +++ patches/patch-redis_conf 4 May 2021 13:57:43 -0000 @@ -24,7 +24,7 @@ Index: redis.conf # Close the connection after a client is idle for N seconds (0 to disable) timeout 0 -@@ -172,6 +172,7 @@ tcp-keepalive 300 +@@ -182,6 +182,7 @@ tcp-keepalive 300 # of these, and will not implicitly use the system wide configuration. # # tls-ca-cert-file ca.crt @@ -32,7 +32,7 @@ Index: redis.conf # tls-ca-cert-dir /etc/ssl/certs # By default, clients (including replica servers) on a TLS port are required -@@ -205,14 +206,14 @@ tcp-keepalive 300 +@@ -215,14 +216,14 @@ tcp-keepalive 300 # # tls-protocols "TLSv1.2 TLSv1.3" @@ -49,7 +49,7 @@ Index: redis.conf # information about the syntax of this string, and specifically for TLSv1.3 # ciphersuites. # -@@ -242,9 +243,9 @@ tcp-keepalive 300 +@@ -252,9 +253,9 @@ tcp-keepalive 300 ################################# GENERAL ##################################### # By default Redis does not run as a daemon. Use 'yes' if you need it. @@ -61,7 +61,7 @@ Index: redis.conf # If you run Redis from upstart or systemd, Redis can interact with your # supervision tree. Options: -@@ -269,14 +270,14 @@ daemonize no +@@ -279,14 +280,14 @@ daemonize no # # When the server runs non daemonized, no pid file is created if none is # specified in the configuration. When the server is daemonized, the pid file @@ -78,7 +78,7 @@ Index: redis.conf # Specify the server verbosity level. # This can be one of: -@@ -289,17 +290,18 @@ loglevel notice +@@ -299,17 +300,18 @@ 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 @@ -102,7 +102,7 @@ Index: redis.conf # To disable the built in crash log, which will possibly produce cleaner core # dumps when they are needed, uncomment the following: -@@ -441,7 +443,7 @@ rdb-del-sync-files no +@@ -451,7 +453,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. @@ -111,7 +111,7 @@ Index: redis.conf ################################# REPLICATION ################################# -@@ -941,6 +943,7 @@ acllog-max-len 128 +@@ -963,6 +965,7 @@ acllog-max-len 128 # limit accordingly in case of very large clusters. # # maxclients 10000 Index: patches/patch-src_Makefile =================================================================== RCS file: /cvs/ports/databases/redis/patches/patch-src_Makefile,v retrieving revision 1.40 diff -u -p -r1.40 patch-src_Makefile --- patches/patch-src_Makefile 16 Mar 2021 21:18:38 -0000 1.40 +++ patches/patch-src_Makefile 4 May 2021 13:57:43 -0000 @@ -16,16 +16,16 @@ Index: src/Makefile endif endif -@@ -98,7 +98,7 @@ ifneq (,$(filter aarch64 armv,$(uname_M))) - FINAL_LIBS+=-latomic - else +@@ -95,7 +95,7 @@ DEBUG=-g -ggdb + + # Linux ARM32 needs -latomic at linking time ifneq (,$(findstring armv,$(uname_M))) - FINAL_LIBS+=-latomic +# FINAL_LIBS+=-latomic endif - endif -@@ -376,7 +376,7 @@ distclean: clean + ifeq ($(uname_S),SunOS) +@@ -380,7 +380,7 @@ distclean: clean .PHONY: distclean test: $(REDIS_SERVER_NAME) $(REDIS_CHECK_AOF_NAME) $(REDIS_CLI_NAME) $(REDIS_BENCHMARK_NAME) @@ -34,12 +34,12 @@ Index: src/Makefile test-sentinel: $(REDIS_SENTINEL_NAME) $(REDIS_CLI_NAME) @(cd ..; ./runtest-sentinel) -@@ -416,7 +416,7 @@ src/help.h: +@@ -420,7 +420,7 @@ src/help.h: @../utils/generate-command-help.rb > help.h install: all - @mkdir -p $(INSTALL_BIN) + $(INSTALL_DIR) $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_SERVER_NAME) $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_BENCHMARK_NAME) $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_CLI_NAME) $(INSTALL_BIN) + $(call MAKE_INSTALL,$(REDIS_SERVER_NAME),$(INSTALL_BIN)) + $(call MAKE_INSTALL,$(REDIS_BENCHMARK_NAME),$(INSTALL_BIN)) + $(call MAKE_INSTALL,$(REDIS_CLI_NAME),$(INSTALL_BIN)) Index: patches/patch-src_debug_c =================================================================== RCS file: patches/patch-src_debug_c diff -N patches/patch-src_debug_c --- patches/patch-src_debug_c 17 Mar 2021 06:25:55 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$OpenBSD: patch-src_debug_c,v 1.6 2021/03/17 06:25:55 tb Exp $ - -time_t is long long on OpenBSD -https://github.com/redis/redis/pull/8662 - -Index: src/debug.c ---- src/debug.c.orig -+++ src/debug.c -@@ -473,7 +473,7 @@ NULL - } else if (!strcasecmp(c->argv[1]->ptr,"segfault")) { - *((char*)-1) = 'x'; - } else if (!strcasecmp(c->argv[1]->ptr,"panic")) { -- serverPanic("DEBUG PANIC called at Unix time %ld", time(NULL)); -+ serverPanic("DEBUG PANIC called at Unix time %lld", (long long)time(NULL)); - } else if (!strcasecmp(c->argv[1]->ptr,"restart") || - !strcasecmp(c->argv[1]->ptr,"crash-and-recover")) - { Index: patches/patch-src_networking_c =================================================================== RCS file: patches/patch-src_networking_c diff -N patches/patch-src_networking_c --- patches/patch-src_networking_c 17 Mar 2021 06:25:55 -0000 1.8 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$OpenBSD: patch-src_networking_c,v 1.8 2021/03/17 06:25:55 tb Exp $ - -time_t is long long, so use llabs to avoid truncation -https://github.com/redis/redis/pull/8662 - -Index: src/networking.c ---- src/networking.c.orig -+++ src/networking.c -@@ -3007,7 +3007,7 @@ void securityWarningCommand(client *c) { - static time_t logged_time; - time_t now = time(NULL); - -- if (labs(now-logged_time) > 60) { -+ if (llabs(now-logged_time) > 60) { - serverLog(LL_WARNING,"Possible SECURITY ATTACK detected. It looks like somebody is sending POST or Host: commands to Redis. This is likely due to an attacker attempting to use Cross Protocol Scripting to compromise your Redis instance. Connection aborted."); - logged_time = now; - } Index: patches/patch-src_tls_c =================================================================== RCS file: patches/patch-src_tls_c diff -N patches/patch-src_tls_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_tls_c 4 May 2021 13:57:43 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: src/tls.c +--- src/tls.c.orig ++++ src/tls.c +@@ -174,7 +174,7 @@ void tlsCleanup(void) { + redis_tls_client_ctx = NULL; + } + +- #if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + OPENSSL_cleanup(); + #endif + }