diff --git a/.corosync.metadata b/.corosync.metadata index 123abd6..d7f1cf0 100644 --- a/.corosync.metadata +++ b/.corosync.metadata @@ -1,2 +1,2 @@ -761fe353b2cbead7a8572bfb6b84fe5d2fc8d9d6 SOURCES/corosync-3.1.0.tar.gz +8773d5c75bdfafb2a7c330154596417d5f242306 SOURCES/corosync-3.1.4.tar.gz 63e882d0bebed3f75436da0606fe7acbeabf1b25 SOURCES/spausedd-20201112.tar.gz diff --git a/.gitignore b/.gitignore index a64a5a1..9885ee3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/corosync-3.1.0.tar.gz +SOURCES/corosync-3.1.4.tar.gz SOURCES/spausedd-20201112.tar.gz diff --git a/SOURCES/bz1896493-1-totemknet-Check-both-cipher-and-hash-for-crypto.patch b/SOURCES/bz1896493-1-totemknet-Check-both-cipher-and-hash-for-crypto.patch deleted file mode 100644 index 99da8ff..0000000 --- a/SOURCES/bz1896493-1-totemknet-Check-both-cipher-and-hash-for-crypto.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 4a2f48b17b06638d3d3adcae683aff1639351434 Mon Sep 17 00:00:00 2001 -From: Jan Friesse -Date: Tue, 10 Nov 2020 18:10:17 +0100 -Subject: [PATCH] totemknet: Check both cipher and hash for crypto - -Previously only crypto cipher was used as a way to find out if crypto is -enabled or disabled. - -This usually works ok until cipher is set to none and hash to some other -value (like sha1). Such config is perfectly valid and it was not -supported correctly. - -As a solution, check both cipher and hash. - -Signed-off-by: Jan Friesse -Reviewed-by: Fabio M. Di Nitto -Reviewed-by: Christine Caulfield ---- - exec/totemknet.c | 18 +++++++++++++----- - 1 file changed, 13 insertions(+), 5 deletions(-) - -diff --git a/exec/totemknet.c b/exec/totemknet.c -index c6a1649d..0834e8e4 100644 ---- a/exec/totemknet.c -+++ b/exec/totemknet.c -@@ -905,6 +905,14 @@ static void totemknet_add_config_notifications(struct totemknet_instance *instan - LEAVE(); - } - -+static int totemknet_is_crypto_enabled(const struct totemknet_instance *instance) -+{ -+ -+ return (!(strcmp(instance->totem_config->crypto_cipher_type, "none") == 0 && -+ strcmp(instance->totem_config->crypto_hash_type, "none") == 0)); -+ -+} -+ - static int totemknet_set_knet_crypto(struct totemknet_instance *instance) - { - struct knet_handle_crypto_cfg crypto_cfg; -@@ -927,7 +935,7 @@ static int totemknet_set_knet_crypto(struct totemknet_instance *instance) - ); - - /* If crypto is being disabled we need to explicitly allow cleartext traffic in knet */ -- if (strcmp(instance->totem_config->crypto_cipher_type, "none") == 0) { -+ if (!totemknet_is_crypto_enabled(instance)) { - res = knet_handle_crypto_rx_clear_traffic(instance->knet_handle, KNET_CRYPTO_RX_ALLOW_CLEAR_TRAFFIC); - if (res) { - knet_log_printf(LOGSYS_LEVEL_ERROR, "knet_handle_crypto_rx_clear_traffic(ALLOW) failed %s", strerror(errno)); -@@ -1108,7 +1116,7 @@ int totemknet_initialize ( - - /* Enable crypto if requested */ - #ifdef HAVE_KNET_CRYPTO_RECONF -- if (strcmp(instance->totem_config->crypto_cipher_type, "none") != 0) { -+ if (totemknet_is_crypto_enabled(instance)) { - res = totemknet_set_knet_crypto(instance); - if (res == 0) { - res = knet_handle_crypto_use_config(instance->knet_handle, totem_config->crypto_index); -@@ -1134,7 +1142,7 @@ int totemknet_initialize ( - } - } - #else -- if (strcmp(instance->totem_config->crypto_cipher_type, "none") != 0) { -+ if (totemknet_is_crypto_enabled(instance)) { - res = totemknet_set_knet_crypto(instance); - if (res) { - knet_log_printf(LOG_DEBUG, "Failed to set up knet crypto"); -@@ -1616,7 +1624,7 @@ int totemknet_crypto_reconfigure_phase ( - switch (phase) { - case CRYPTO_RECONFIG_PHASE_ACTIVATE: - config_to_use = totem_config->crypto_index; -- if (strcmp(instance->totem_config->crypto_cipher_type, "none") == 0) { -+ if (!totemknet_is_crypto_enabled(instance)) { - config_to_use = 0; /* we are clearing it */ - } - -@@ -1647,7 +1655,7 @@ int totemknet_crypto_reconfigure_phase ( - } - - /* If crypto is enabled then disable all cleartext reception */ -- if (strcmp(instance->totem_config->crypto_cipher_type, "none") != 0) { -+ if (totemknet_is_crypto_enabled(instance)) { - res = knet_handle_crypto_rx_clear_traffic(instance->knet_handle, KNET_CRYPTO_RX_DISALLOW_CLEAR_TRAFFIC); - if (res) { - knet_log_printf(LOGSYS_LEVEL_ERROR, "knet_handle_crypto_rx_clear_traffic(DISALLOW) failed %s", strerror(errno)); --- -2.18.2 - diff --git a/SOURCES/bz1946623-1-knet-pass-correct-handle-to-knet_handle_compress.patch b/SOURCES/bz1946623-1-knet-pass-correct-handle-to-knet_handle_compress.patch deleted file mode 100644 index c8bd7f0..0000000 --- a/SOURCES/bz1946623-1-knet-pass-correct-handle-to-knet_handle_compress.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit aa326fb8f87fa0e2db6901db2ccb93cd582dd44f -Author: Fabio M. Di Nitto -Date: Tue Apr 6 13:06:05 2021 +0200 - - knet: pass correct handle to knet_handle_compress - - totemknet_configure_compression was using knet_context - just to gather the knet handle / instance. - - On first time config knet_contex is not initialized till - much later in the code, passing some random garbage pointers - to knet_handle_compress, that would crash later trying - to acquire a mutex lock. - - Signed-off-by: Fabio M. Di Nitto - Reviewed-by: Jan Friesse - -diff --git a/exec/totemknet.c b/exec/totemknet.c -index 0834e8e..e895256 100644 ---- a/exec/totemknet.c -+++ b/exec/totemknet.c -@@ -197,7 +197,7 @@ int totemknet_member_list_rebind_ip ( - - - static int totemknet_configure_compression ( -- void *knet_context, -+ struct totemknet_instance *instance, - struct totem_config *totem_config); - - static void totemknet_start_merge_detect_timeout( -@@ -1154,7 +1154,7 @@ int totemknet_initialize ( - /* Set up compression */ - if (strcmp(totem_config->knet_compression_model, "none") != 0) { - /* Not fatal, but will log */ -- (void)totemknet_configure_compression(knet_context, totem_config); -+ (void)totemknet_configure_compression(instance, totem_config); - } - - knet_handle_setfwd(instance->knet_handle, 1); -@@ -1557,10 +1557,9 @@ int totemknet_member_list_rebind_ip ( - - - static int totemknet_configure_compression ( -- void *knet_context, -+ struct totemknet_instance *instance, - struct totem_config *totem_config) - { -- struct totemknet_instance *instance = (struct totemknet_instance *)knet_context; - struct knet_handle_compress_cfg compress_cfg; - int res = 0; - -@@ -1584,7 +1583,7 @@ int totemknet_reconfigure ( - struct totemknet_instance *instance = (struct totemknet_instance *)knet_context; - int res = 0; - -- (void)totemknet_configure_compression(knet_context, totem_config); -+ (void)totemknet_configure_compression(instance, totem_config); - - #ifdef HAVE_LIBNOZZLE - /* Set up nozzle device(s). Return code is ignored, because inability diff --git a/SPECS/corosync.spec b/SPECS/corosync.spec index 56b6cde..69abb7c 100644 --- a/SPECS/corosync.spec +++ b/SPECS/corosync.spec @@ -22,15 +22,12 @@ Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces -Version: 3.1.0 -Release: 5%{?gitver}%{?dist} +Version: 3.1.4 +Release: 1%{?gitver}%{?dist} License: BSD URL: http://corosync.github.io/corosync/ Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz -Patch0: bz1896493-1-totemknet-Check-both-cipher-and-hash-for-crypto.patch -Patch1: bz1946623-1-knet-pass-correct-handle-to-knet_handle_compress.patch - %if %{with spausedd} Source1: https://github.com/jfriesse/spausedd/releases/download/%{spausedd_version}/spausedd-%{spausedd_version}.tar.gz # VMGuestLib exists only for x86_64 architecture @@ -94,9 +91,6 @@ BuildRequires: pkgconfig(vmguestlib) %setup -q -n %{name}-%{version}%{?gittarver} %endif -%patch0 -p1 -b .bz1896493-1 -%patch1 -p1 -b .bz1946623-1 - %build %if %{with runautogen} ./autogen.sh @@ -395,6 +389,18 @@ fi %endif %changelog +* Thu Jun 03 2021 Jan Friesse 3.1.4-1 +- Related: rhbz#1948973 +- Resolves: rhbz#1962139 + +- New upstream release (rhbz#1948973) +- stats: fix crash when iterating over deleted keys (rhbz#1962139) + +* Fri May 21 2021 Jan Friesse 3.1.3-1 +- Resolves: rhbz#1948973 + +- New upstream release (rhbz#1948973) + * Fri Apr 30 2021 Jan Friesse 3.1.0-5 - Resolves: rhbz#1954432