Tuesday, August 29, 2023

Re: UPDATE: redis-7.2.0

On Mon, 28 Aug 2023 22:31:42 +0200, Rafael Sadowski
<rafael@sizeofvoid.org> wrote:

> Simple update redis to 7.2.0. Lightly tested on amd64.
> I think this needs more tests from redis users!

What's the motivation for switch to the 7.x branch?

If I'm not mistaken, the project changed quite a bit in the 7.x
branch (related to antirez stepping down?).
For instance there was a couple of vulnerabilities that affected only
the 7.x branch, and they also happened to be the most critical. I'm
afraid newer is not always better.


>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/redis/Makefile,v
> retrieving revision 1.134
> diff -u -p -u -p -r1.134 Makefile
> --- Makefile 11 Jul 2023 01:40:18 -0000 1.134
> +++ Makefile 29 Aug 2023 05:20:23 -0000
> @@ -1,6 +1,6 @@
> COMMENT = persistent key-value database
>
> -DISTNAME = redis-6.2.13
> +DISTNAME = redis-7.2.0
> CATEGORIES = databases
> HOMEPAGE = https://redis.io/
>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/databases/redis/distinfo,v
> retrieving revision 1.105
> diff -u -p -u -p -r1.105 distinfo
> --- distinfo 11 Jul 2023 01:40:18 -0000 1.105
> +++ distinfo 29 Aug 2023 05:20:23 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (redis-6.2.13.tar.gz) =
> if8nyA1CBFanIcz7O+t8xijYg8UwWYA1E3SeEyFKI9E= -SIZE
> (redis-6.2.13.tar.gz) = 2496004 +SHA256 (redis-7.2.0.tar.gz) =
> ixLiQmR2NbQZoOGDPtoCtlv2TjnrnlCdnbSIj7MSSUM= +SIZE
> (redis-7.2.0.tar.gz) = 3381269 Index: patches/patch-deps_Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/redis/patches/patch-deps_Makefile,v
> retrieving revision 1.16
> diff -u -p -u -p -r1.16 patch-deps_Makefile
> --- patches/patch-deps_Makefile 11 Jul 2023 01:40:18
> -0000 1.16 +++ patches/patch-deps_Makefile 29 Aug 2023
> 05:20:23 -0000 @@ -1,7 +1,7 @@
> Index: deps/Makefile
> --- deps/Makefile.orig
> +++ deps/Makefile
> -@@ -49,19 +49,16 @@ ifeq ($(BUILD_TLS),yes)
> +@@ -51,19 +51,16 @@ ifneq (,$(filter $(BUILD_TLS),yes module))
> endif
>
> hiredis: .make-prerequisites
> @@ -21,7 +21,7 @@ Index: deps/Makefile
> cd hdr_histogram && $(MAKE)
>
> .PHONY: hdr_histogram
> -@@ -85,7 +82,6 @@ AR=ar
> +@@ -98,7 +95,6 @@ AR=ar
> ARFLAGS=rc
>
> lua: .make-prerequisites
> Index: patches/patch-deps_hiredis_Makefile
> ===================================================================
> RCS file:
> /cvs/ports/databases/redis/patches/patch-deps_hiredis_Makefile,v
> retrieving revision 1.12 diff -u -p -u -p -r1.12
> patch-deps_hiredis_Makefile ---
> patches/patch-deps_hiredis_Makefile 11 Mar 2022 18:31:43
> -0000 1.12 +++ patches/patch-deps_hiredis_Makefile 29
> Aug 2023 05:20:23 -0000 @@ -1,21 +1,12 @@ Index: deps/hiredis/Makefile
> --- deps/hiredis/Makefile.orig
> +++ deps/hiredis/Makefile
> -@@ -76,7 +76,7 @@ ifeq ($(USE_SSL),1)
> - CFLAGS+=-DHIREDIS_TEST_SSL
> - endif
> -
> --ifeq ($(uname_S),Linux)
> -+ifneq (,filter Linux OpenBSD,$(uname_S))
> - ifdef OPENSSL_PREFIX
> - CFLAGS+=-I$(OPENSSL_PREFIX)/include
> - SSL_LDFLAGS+=-L$(OPENSSL_PREFIX)/lib -lssl -lcrypto
> -@@ -263,7 +263,7 @@ $(SSL_PKGCONFNAME): hiredis_ssl.h
> +@@ -307,7 +307,7 @@ $(SSL_PKGCONFNAME): hiredis_ssl.h
> @echo Libs.private: -lssl -lcrypto >> $@
>
> - install: $(DYLIBNAME) $(STLIBNAME) $(PKGCONFNAME)
> + install: $(DYLIBNAME) $(STLIBNAME) $(PKGCONFNAME) $(SSL_INSTALL)
> - mkdir -p $(INSTALL_INCLUDE_PATH)
> $(INSTALL_INCLUDE_PATH)/adapters $(INSTALL_LIBRARY_PATH)
> + $(INSTALL_DIR) $(INSTALL_INCLUDE_PATH)
> $(INSTALL_INCLUDE_PATH)/adapters $(INSTALL_LIBRARY_PATH)
> - $(INSTALL) hiredis.h async.h read.h sds.h alloc.h
> $(INSTALL_INCLUDE_PATH)
> + $(INSTALL) hiredis.h async.h read.h sds.h alloc.h
> sockcompat.h $(INSTALL_INCLUDE_PATH) $(INSTALL) adapters/*.h
> $(INSTALL_INCLUDE_PATH)/adapters $(INSTALL) $(DYLIBNAME)
> $(INSTALL_LIBRARY_PATH)/$(DYLIB_MINOR_NAME) Index:
> patches/patch-deps_linenoise_linenoise_c
> ===================================================================
> RCS file:
> /cvs/ports/databases/redis/patches/patch-deps_linenoise_linenoise_c,v
> retrieving revision 1.3 diff -u -p -u -p -r1.3
> patch-deps_linenoise_linenoise_c ---
> patches/patch-deps_linenoise_linenoise_c 11 Mar 2022 18:31:43
> -0000 1.3 +++ patches/patch-deps_linenoise_linenoise_c
> 29 Aug 2023 05:20:23 -0000 @@ -7,7 +7,7 @@
> https://github.com/antirez/linenoise/pul Index:
> deps/linenoise/linenoise.c --- deps/linenoise/linenoise.c.orig +++
> deps/linenoise/linenoise.c -@@ -819,7 +819,7 @@ static int
> linenoiseEdit(int stdin_fd, int stdout_fd, +@@ -822,7 +822,7 @@
> static int linenoiseEdit(int stdin_fd, int stdout_fd, if
> (write(l.ofd,prompt,l.plen) == -1) return -1; while(1) {
> Index: patches/patch-redis_conf
> ===================================================================
> RCS file: /cvs/ports/databases/redis/patches/patch-redis_conf,v
> retrieving revision 1.30
> diff -u -p -u -p -r1.30 patch-redis_conf
> --- patches/patch-redis_conf 28 Apr 2022 03:02:36 -0000
> 1.30 +++ patches/patch-redis_conf 29 Aug 2023 05:20:23 -0000
> @@ -7,7 +7,7 @@ Main changes in this file:
> Index: redis.conf
> --- redis.conf.orig
> +++ redis.conf
> -@@ -112,8 +112,8 @@ tcp-backlog 511
> +@@ -152,8 +152,8 @@ tcp-backlog 511
> # incoming connections. There is no default, so Redis will not
> listen # on a unix socket when not specified.
> #
> @@ -18,7 +18,7 @@ Index: redis.conf
>
> # Close the connection after a client is idle for N seconds (0 to
> disable) timeout 0
> -@@ -184,6 +184,7 @@ tcp-keepalive 300
> +@@ -234,6 +234,7 @@ tcp-keepalive 300
> # of these, and will not implicitly use the system wide
> configuration. #
> # tls-ca-cert-file ca.crt
> @@ -26,7 +26,7 @@ Index: redis.conf
> # tls-ca-cert-dir /etc/ssl/certs
>
> # By default, clients (including replica servers) on a TLS port are
> required -@@ -217,14 +218,14 @@ tcp-keepalive 300
> +@@ -267,14 +268,14 @@ tcp-keepalive 300
> #
> # tls-protocols "TLSv1.2 TLSv1.3"
>
> @@ -43,7 +43,7 @@ Index: redis.conf
> # information about the syntax of this string, and specifically for
> TLSv1.3 # ciphersuites.
> #
> -@@ -254,9 +255,9 @@ tcp-keepalive 300
> +@@ -304,9 +305,9 @@ tcp-keepalive 300
> ################################# GENERAL
> #####################################
> # By default Redis does not run as a daemon. Use 'yes' if you need
> it. @@ -55,7 +55,7 @@ Index: redis.conf
>
> # If you run Redis from upstart or systemd, Redis can interact with
> your # supervision tree. Options:
> -@@ -281,14 +282,14 @@ daemonize no
> +@@ -331,14 +332,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 @@ -72,7 +72,7 @@ Index: redis.conf
>
> # Specify the server verbosity level.
> # This can be one of:
> -@@ -301,17 +302,18 @@ loglevel notice
> +@@ -352,17 +353,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 @@ -96,7 +96,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:
> -@@ -453,7 +455,7 @@ rdb-del-sync-files no
> +@@ -507,7 +509,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.
> @@ -105,7 +105,7 @@ Index: redis.conf
>
> ################################# REPLICATION
> #################################
> -@@ -965,6 +967,7 @@ acllog-max-len 128
> +@@ -1098,6 +1100,7 @@ acllog-max-len 128
> # limit accordingly in case of very large clusters.
> #
> # maxclients 10000
> Index: patches/patch-sentinel_conf
> ===================================================================
> RCS file: /cvs/ports/databases/redis/patches/patch-sentinel_conf,v
> retrieving revision 1.10
> diff -u -p -u -p -r1.10 patch-sentinel_conf
> --- patches/patch-sentinel_conf 11 Mar 2022 18:31:43
> -0000 1.10 +++ patches/patch-sentinel_conf 29 Aug 2023
> 05:20:23 -0000 @@ -1,7 +1,7 @@
> Index: sentinel.conf
> --- sentinel.conf.orig
> +++ sentinel.conf
> -@@ -21,14 +21,14 @@
> +@@ -10,14 +10,14 @@ protected-mode no
> port 26379
>
> # By default Redis Sentinel does not run as a daemon. Use 'yes' if
> you need it. @@ -17,9 +17,9 @@ Index: sentinel.conf
> -pidfile /var/run/redis-sentinel.pid
> +pidfile /var/run/redis/redis-sentinel.pid
>
> - # 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 -@@ -261,7 +261,7 @@ sentinel failover-timeout mymaster
> 180000
> + # Specify the server verbosity level.
> + # This can be one of:
> +@@ -269,7 +269,7 @@ sentinel failover-timeout mymaster 180000
> #
> # Example:
> #
> @@ -28,7 +28,7 @@ Index: sentinel.conf
>
> # CLIENTS RECONFIGURATION SCRIPT
> #
> -@@ -286,7 +286,7 @@ sentinel failover-timeout mymaster 180000
> +@@ -294,7 +294,7 @@ sentinel failover-timeout mymaster 180000
> #
> # Example:
> #
> Index: patches/patch-src_Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/redis/patches/patch-src_Makefile,v
> retrieving revision 1.45
> diff -u -p -u -p -r1.45 patch-src_Makefile
> --- patches/patch-src_Makefile 28 Apr 2022 03:02:36
> -0000 1.45 +++ patches/patch-src_Makefile 29 Aug 2023
> 05:20:23 -0000 @@ -5,25 +5,25 @@ Changes in this file:
> Index: src/Makefile
> --- src/Makefile.orig
> +++ src/Makefile
> -@@ -66,7 +66,7 @@ ifneq (,$(filter aarch64 armv,$(uname_M)))
> - CFLAGS+=-funwind-tables
> - else
> - ifneq (,$(findstring armv,$(uname_M)))
> +@@ -72,7 +72,7 @@ endif
> +
> + # To get ARM stack traces if Redis crashes we need a special C flag.
> + ifneq (,$(filter aarch64 armv%,$(uname_M)))
> - CFLAGS+=-funwind-tables
> -+# CFLAGS+=-funwind-tables
> - endif
> ++ #CFLAGS+=-funwind-tables
> endif
>
> -@@ -97,7 +97,7 @@ DEBUG=-g -ggdb
> + # Backwards compatibility for selecting an allocator
> +@@ -123,7 +123,7 @@ DEBUG=-g -ggdb
>
> # Linux ARM32 needs -latomic at linking time
> ifneq (,$(findstring armv,$(uname_M)))
> - FINAL_LIBS+=-latomic
> -+# FINAL_LIBS+=-latomic
> ++ #FINAL_LIBS+=-latomic
> endif
>
> ifeq ($(uname_S),SunOS)
> -@@ -390,7 +390,7 @@ distclean: clean
> +@@ -459,7 +459,7 @@ distclean: clean
> .PHONY: distclean
>
> test: $(REDIS_SERVER_NAME) $(REDIS_CHECK_AOF_NAME)
> $(REDIS_CLI_NAME) $(REDIS_BENCHMARK_NAME) @@ -32,8 +32,8 @@ Index:
> src/Makefile
> test-modules: $(REDIS_SERVER_NAME)
> @(cd ..; ./runtest-moduleapi)
> -@@ -433,7 +433,7 @@ src/help.h:
> - @../utils/generate-command-help.rb > help.h
> +@@ -502,7 +502,7 @@ helgrind:
> + $(MAKE) OPTIMIZATION="-O0" MALLOC="libc"
> CFLAGS="-D__ATOMIC_VAR_FORCE_SYNC_MACROS"
> REDIS_CFLAGS="-I/usr/local/include" REDIS_LDFLAGS="-L/usr/local/lib"
> install: all
> - @mkdir -p $(INSTALL_BIN)
> Index: patches/patch-src_config_c
> ===================================================================
> RCS file: /cvs/ports/databases/redis/patches/patch-src_config_c,v
> retrieving revision 1.9
> diff -u -p -u -p -r1.9 patch-src_config_c
> --- patches/patch-src_config_c 11 Mar 2022 18:31:43
> -0000 1.9 +++ patches/patch-src_config_c 29 Aug 2023
> 05:20:23 -0000 @@ -3,7 +3,7 @@ Recognize LOG_DAEMON as a valid
> facility Index: src/config.c
> --- src/config.c.orig
> +++ src/config.c
> -@@ -56,6 +56,7 @@ configEnum maxmemory_policy_enum[] = {
> +@@ -63,6 +63,7 @@ configEnum maxmemory_policy_enum[] = {
> };
>
> configEnum syslog_facility_enum[] = {
> Index: patches/patch-src_server_h
> ===================================================================
> RCS file: /cvs/ports/databases/redis/patches/patch-src_server_h,v
> retrieving revision 1.9
> diff -u -p -u -p -r1.9 patch-src_server_h
> --- patches/patch-src_server_h 17 Jan 2023 00:30:17
> -0000 1.9 +++ patches/patch-src_server_h 29 Aug 2023
> 05:20:23 -0000 @@ -1,12 +1,12 @@
> Index: src/server.h
> --- src/server.h.orig
> +++ src/server.h
> -@@ -114,7 +114,7 @@ typedef long long ustime_t; /* microsecond time
> type. +@@ -128,7 +128,7 @@ struct hdr_histogram;
> #define RDB_EOF_MARK_SIZE 40
> #define CONFIG_REPL_BACKLOG_MIN_SIZE (1024*16) /* 16k */
> #define CONFIG_BGSAVE_RETRY_DELAY 5 /* Wait a few secs before
> trying again. */ -#define CONFIG_DEFAULT_PID_FILE "/var/run/redis.pid"
> +#define CONFIG_DEFAULT_PID_FILE "/var/run/redis/redis.pid"
> - #define CONFIG_DEFAULT_CLUSTER_CONFIG_FILE "nodes.conf"
> - #define CONFIG_DEFAULT_UNIX_SOCKET_PERM 0
> - #define CONFIG_DEFAULT_LOGFILE ""
> + #define CONFIG_DEFAULT_BINDADDR_COUNT 2
> + #define CONFIG_DEFAULT_BINDADDR { "*", "-::*" }
> + #define NET_HOST_STR_LEN 256 /* Longest valid hostname */
> Index: patches/patch-tests_test_helper_tcl
> ===================================================================
> RCS file:
> /cvs/ports/databases/redis/patches/patch-tests_test_helper_tcl,v
> retrieving revision 1.4 diff -u -p -u -p -r1.4
> patch-tests_test_helper_tcl ---
> patches/patch-tests_test_helper_tcl 11 Mar 2022 18:31:43
> -0000 1.4 +++ patches/patch-tests_test_helper_tcl 29
> Aug 2023 05:20:23 -0000 @@ -6,8 +6,8 @@ rdb child didn't terminate
> Index: tests/test_helper.tcl --- tests/test_helper.tcl.orig
> +++ tests/test_helper.tcl
> -@@ -38,7 +38,6 @@ set ::all_tests {
> - unit/acl
> +@@ -42,7 +42,6 @@ set ::all_tests {
> + unit/acl-v2
> unit/latency-monitor
> integration/block-repl
> - integration/replication

No comments:

Post a Comment