diff -Nru corosync-3.1.6/ChangeLog corosync-3.1.7/ChangeLog --- corosync-3.1.6/ChangeLog 2021-11-15 10:13:18.000000000 +0000 +++ corosync-3.1.7/ChangeLog 2022-11-15 16:42:02.000000000 +0000 @@ -1,3 +1,113 @@ +2022-10-24 Jan Friesse + + totemconfig: Add support for knet_mtu + totem.knet_mtu is new configuration option which allows setting + of automatic or manual knet MTU. + + Also reload of totem.knet_pmtud_interval is fixed now, so it works when + key is deleted (and set back default value). + + Reviewed-by: Christine Caulfield + +2022-07-27 Jan Friesse + + configure: Modernize configure.ac a bit + ... to make 2.71 happy. Also increase minimum version to 2.69 (10 years + old version so should be compatible enough). + + Reviewed-by: Fabio M. Di Nitto + +2022-03-31 Christine Caulfield + + log: Configure knet logging to the same as corosync + Before this, all knet messages, including debug, were sent + over the pipe from knet to corosync and filtered in corosync. + This was obviously a waste, so now we tell knet the logging + level we need from it and so only get the messages that the + user has requested. + + Reviewed-by: Jan Friesse + +2022-03-30 Jan Friesse + + logrotate: Use copytruncate method by default + The reopen lograte method has two main problems: + 1. It does fail when corosync is not running (solvable by + adding "|| true") + 2. If (for some reason, like SELinux) cfgtool -L fails, logrotate + fails and corosync keeps logging into old file. Added "|| true" + makes situation even worse because logrotate removes file but + corosync keeps logging into it. + + Solution is to install copytruncate logrotate snip by default (and + keep reopen config file only for reference). + + Reviewed-by: Christine Caulfield + +2022-03-08 Andreas Grueninger + + totemconfig: Check uname return value correctly + uname in Solaris/Illumos returns non-negative value when succesful. + + Reviewed-by: Jan Friesse + +2022-02-01 Jan Friesse + + totempg: Fix alignment handling + Some platforms requires aligned memory access. For such platforms, + special code was added using address modulo 4 to check if aligning is + needed or not. This may be problem for 64 bits platforms. Also check in + app_deliver_fn was incorrect and always true. + + Solution is to use modulo sizeof pointer and add parentheses to fix the + check in app_deliver_fn function. + + Reviewed-by: Christine Caulfield + +2022-01-05 Jan Friesse + + pkgconfig: Export corosysconfdir + Useful for external code to easily tell where corosync.conf + is (in case someone configured it for /usr/local/etc, ...) + + E.g. pacemaker's crm_report collects corosync.conf, and some + of its testing tools generate a corosync.conf for a test cluster. + + Reviewed-by: Fabio M. Di Nitto + +2022-01-03 Ferenc Wágner + + Remove bashism from configure script + This was the real problem behind 384d168: Debian experimental now + sports a dash with LINENO support, so configure does not fall back to + using bash instead, choking on such bash-only constructs. Unfortunately + this didn't bail out cleanly, just unexpectedly set link_all_deplibs to + no, and the error message + + ./configure: 13158: test: yes: unexpected operator + + stayed unnoticed in the logs. Actually, link_all_deplibs=no is the + default in Debian, reducing overlinking and causing confusion overall, + see https://debbugs.gnu.org/db/13/13920.html for example. + + I think being explicit about used interfaces has its merit, so now that + Corosync has it, it might be advantageous to disable link_all_deplibs + by default across the board (after this patch re-enables it as a side + effect). + + Reviewed-by: Jan Friesse + +2021-11-24 Jan Friesse + + totemudpu: Don't block local socketpair + Commit to drop packets from unlisted IPs made ifdown case not working + because msg_name is unset for socketpair. + + solution is to drop packets from unlisted IPs only when bind state is + BIND_STATE_REGULAR. + + Reviewed-by: Christine Caulfield + 2021-11-10 Jan Friesse build: Add explicit dependency for used libraries diff -Nru corosync-3.1.6/conf/logrotate/corosync-reopen.in corosync-3.1.7/conf/logrotate/corosync-reopen.in --- corosync-3.1.6/conf/logrotate/corosync-reopen.in 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/conf/logrotate/corosync-reopen.in 2022-11-15 16:10:27.000000000 +0000 @@ -1,3 +1,8 @@ +# This logrotate method has two main problems and it's kept only for reference: +# 1. It does fail when corosync is not running (solvable by adding "|| true") +# 2. If (for some reason) cfgtool -L fails, logrotate fails and corosync keeps +# logging into old file. Added "|| true" makes situation even worse +# because logrotate removes file but corosync keeps logging into it. @LOGDIR@/corosync.log { missingok compress diff -Nru corosync-3.1.6/conf/logrotate/Makefile.am corosync-3.1.7/conf/logrotate/Makefile.am --- corosync-3.1.6/conf/logrotate/Makefile.am 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/conf/logrotate/Makefile.am 2022-11-15 16:10:27.000000000 +0000 @@ -34,16 +34,9 @@ EXTRA_DIST = corosync-reopen.in corosync-copytruncate.in -if HAVE_QB_LOG_FILE_REOPEN -corosync: corosync-reopen.in - $(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \ - -e 's#@''SBINDIR@#$(sbindir)#g' \ - $< > $@ -else corosync: corosync-copytruncate.in $(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \ $< > $@ -endif logrotatecorosyncdir = ${LOGROTATEDIR} logrotatecorosync_DATA = corosync diff -Nru corosync-3.1.6/conf/logrotate/Makefile.in corosync-3.1.7/conf/logrotate/Makefile.in --- corosync-3.1.6/conf/logrotate/Makefile.in 2021-11-15 10:12:54.000000000 +0000 +++ corosync-3.1.7/conf/logrotate/Makefile.in 2022-11-15 16:41:40.000000000 +0000 @@ -556,13 +556,9 @@ uninstall-am uninstall-logrotatecorosyncDATA -@HAVE_QB_LOG_FILE_REOPEN_TRUE@corosync: corosync-reopen.in -@HAVE_QB_LOG_FILE_REOPEN_TRUE@ $(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \ -@HAVE_QB_LOG_FILE_REOPEN_TRUE@ -e 's#@''SBINDIR@#$(sbindir)#g' \ -@HAVE_QB_LOG_FILE_REOPEN_TRUE@ $< > $@ -@HAVE_QB_LOG_FILE_REOPEN_FALSE@corosync: corosync-copytruncate.in -@HAVE_QB_LOG_FILE_REOPEN_FALSE@ $(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \ -@HAVE_QB_LOG_FILE_REOPEN_FALSE@ $< > $@ +corosync: corosync-copytruncate.in + $(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \ + $< > $@ clean-local: rm -f corosync diff -Nru corosync-3.1.6/configure corosync-3.1.7/configure --- corosync-3.1.6/configure 2021-11-15 10:12:52.000000000 +0000 +++ corosync-3.1.7/configure 2022-11-15 16:41:38.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for corosync 3.1.6. +# Generated by GNU Autoconf 2.69 for corosync 3.1.7. # # Report bugs to . # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='corosync' PACKAGE_TARNAME='corosync' -PACKAGE_VERSION='3.1.6' -PACKAGE_STRING='corosync 3.1.6' +PACKAGE_VERSION='3.1.7' +PACKAGE_STRING='corosync 3.1.7' PACKAGE_BUGREPORT='users@clusterlabs.org' PACKAGE_URL='' @@ -1423,7 +1423,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures corosync 3.1.6 to adapt to many kinds of systems. +\`configure' configures corosync 3.1.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1493,7 +1493,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of corosync 3.1.6:";; + short | recursive ) echo "Configuration of corosync 3.1.7:";; esac cat <<\_ACEOF @@ -1653,7 +1653,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -corosync configure 3.1.6 +corosync configure 3.1.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2263,7 +2263,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by corosync $as_me 3.1.6, which was +It was created by corosync $as_me 3.1.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4442,7 +4442,7 @@ # Define the identity of the package. PACKAGE='corosync' - VERSION='3.1.6' + VERSION='3.1.7' cat >>confdefs.h <<_ACEOF @@ -11880,7 +11880,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: enable inter-library dependencies: $enable_interlib_deps" >&5 $as_echo "$as_me: enable inter-library dependencies: $enable_interlib_deps" >&6;} -if test "${enable_interlib_deps}" == "yes"; then +if test "x${enable_interlib_deps}" = "xyes"; then link_all_deplibs=yes link_all_deplibs_CXX=yes else @@ -13490,118 +13490,6 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } if ${ac_cv_header_sys_wait_h+:} false; then : @@ -17654,7 +17542,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by corosync $as_me 3.1.6, which was +This file was extended by corosync $as_me 3.1.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17720,7 +17608,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -corosync config.status 3.1.6 +corosync config.status 3.1.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru corosync-3.1.6/configure.ac corosync-3.1.7/configure.ac --- corosync-3.1.6/configure.ac 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/configure.ac 2022-11-15 16:10:27.000000000 +0000 @@ -2,10 +2,10 @@ # Process this file with autoconf to produce a configure script. # bootstrap / init -AC_PREREQ([2.61]) +AC_PREREQ([2.69]) AC_INIT([corosync], - m4_esyscmd([build-aux/git-version-gen .tarball-version .gitarchivever]), + [m4_esyscmd([build-aux/git-version-gen .tarball-version .gitarchivever])], [users@clusterlabs.org]) AC_USE_SYSTEM_EXTENSIONS @@ -18,7 +18,7 @@ AM_SILENT_RULES([yes]) AC_CONFIG_SRCDIR([lib/cpg.c]) -AC_CONFIG_HEADER([include/corosync/config.h]) +AC_CONFIG_HEADERS([include/corosync/config.h]) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_HOST @@ -29,12 +29,12 @@ #Enable inter-library dependencies AC_ARG_ENABLE(interlib-deps, - [AC_HELP_STRING([--disable-interlib-deps ],[disable inter-library dependencies (might break builds)])], + [AS_HELP_STRING([--disable-interlib-deps ],[disable inter-library dependencies (might break builds)])], [enable_interlib_deps="$enableval"], [enable_interlib_deps="yes"]) AC_MSG_NOTICE([enable inter-library dependencies: $enable_interlib_deps]) -if test "${enable_interlib_deps}" == "yes"; then +if test "x${enable_interlib_deps}" = "xyes"; then link_all_deplibs=yes link_all_deplibs_CXX=yes else @@ -86,7 +86,7 @@ sinclude(corosync-default.m4) AC_PROG_CC -AC_PROG_CC_C99 +m4_version_prereq([2.70], [:], [AC_PROG_CC_C99]) if test "x$ac_cv_prog_cc_c99" = "xno"; then AC_MSG_ERROR(["C99 support is required"]) fi @@ -111,7 +111,6 @@ # Checks for header files. AC_HEADER_DIRENT -AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stdint.h \ stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h \ @@ -647,7 +646,7 @@ save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS -fPIE" LDFLAGS="$LDFLAGS -pie" - AC_TRY_RUN([static int foo[30000]; int main () { return 0; }], + AC_RUN_IFELSE([AC_LANG_SOURCE([[static int foo[30000]; int main () { return 0; }]])], [ap_cv_cc_pie=yes], [ap_cv_cc_pie=no], [ap_cv_cc_pie=yes]) CFLAGS=$save_CFLAGS LDFLAGS=$save_LDFLAGS @@ -662,7 +661,7 @@ AC_CACHE_CHECK([whether $CC accepts RELRO flags], [ap_cv_cc_relro], [ save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-z,relro" - AC_TRY_RUN([static int foo[30000]; int main () { return 0; }], + AC_RUN_IFELSE([AC_LANG_SOURCE([[static int foo[30000]; int main () { return 0; }]])], [ap_cv_cc_relro=yes], [ap_cv_cc_relro=no], [ap_cv_cc_relro=yes]) LDFLAGS=$save_LDFLAGS ]) @@ -674,7 +673,7 @@ AC_CACHE_CHECK([whether $CC accepts BINDNOW flags], [ap_cv_cc_bindnow], [ save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-z,now" - AC_TRY_RUN([static int foo[30000]; int main () { return 0; }], + AC_RUN_IFELSE([AC_LANG_SOURCE([[static int foo[30000]; int main () { return 0; }]])], [ap_cv_cc_bindnow=yes], [ap_cv_cc_bindnow=no], [ap_cv_cc_bindnow=yes]) LDFLAGS=$save_LDFLAGS ]) @@ -687,7 +686,7 @@ AC_CACHE_CHECK([whether $CC accepts "--as-needed"], [ap_cv_cc_as_needed], [ save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--as-needed" - AC_TRY_RUN([static int foo[30000]; int main () { return 0; }], + AC_RUN_IFELSE([AC_LANG_SOURCE([[static int foo[30000]; int main () { return 0; }]])], [ap_cv_cc_as_needed=yes], [ap_cv_cc_as_needed=no], [ap_cv_cc_as_needed=yes]) LDFLAGS=$save_LDFLAGS ]) @@ -696,7 +695,7 @@ save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.versions" echo "CONFTEST { };" >conftest.versions - AC_TRY_RUN([static int foo[30000]; int main () { return 0; }], + AC_RUN_IFELSE([AC_LANG_SOURCE([[static int foo[30000]; int main () { return 0; }]])], [ap_cv_cc_version_script=yes], [ap_cv_cc_version_script=no], [ap_cv_cc_version_script=yes]) rm -f conftest.versions LDFLAGS=$save_LDFLAGS diff -Nru corosync-3.1.6/debian/changelog corosync-3.1.7/debian/changelog --- corosync-3.1.6/debian/changelog 2022-07-19 09:16:37.000000000 +0000 +++ corosync-3.1.7/debian/changelog 2023-01-25 20:08:20.000000000 +0000 @@ -1,3 +1,40 @@ +corosync (3.1.7-1ubuntu1) lunar; urgency=medium + + * Merge with Debian unstable (LP: #1993393). Remaining changes: + - d/t/quorumtool: search for localhost instead of node1 + - d/p/Make-the-example-config-valid.patch: comment out the node name + in config file. With this, we will keep the same behavior as we + have in Bionic which is using the output of "uname -n" as the node + name (LP #1874719). + - d/p/lp1918735/0001-allow_knet_handle_fallback_default_yes.patch: + Retry knet_handle_new without privileged flag (LP #1918735). + - d/control: corosync binary depends on libqb-dev + (LP #1677684) + * Dropped + - d/t/control: add allow-stderr restriction + [Not needed anymore] + - d/control: corosync binary depends on libqb-dev + (LP #1677684) + [The qb-blackbox was moved from libqb-dev to libqb-tools] + * Added: + - d/control: corosync recommends libqb-tools (LP #1677684). + corosync-blackbox relies on libqb-tools. + + -- Lucas Kanashiro Wed, 25 Jan 2023 17:08:20 -0300 + +corosync (3.1.7-1) unstable; urgency=medium + + * [f3d69c9] New upstream release (3.1.7) + * [7ca438c] Delete upstream patch, refresh the rest + * [36863f4] Update Standards-Version to 4.6.2 (no changes required) + * [02c7690] Update copyright of the packaging + * [ae14a7c] Adapt Lintian overrides to new message format + * [7732c89] The initscript-dir variable has long fallen out of use + * [faafc6e] New patch: Revert "logrotate: Use copytruncate method by default" + * [cab0938] Add logrotate autopkgtest + + -- Ferenc Wágner Sun, 15 Jan 2023 15:00:42 +0100 + corosync (3.1.6-2ubuntu1) kinetic; urgency=medium * Merge with Debian unstable. Remaining changes: diff -Nru corosync-3.1.6/debian/control corosync-3.1.7/debian/control --- corosync-3.1.6/debian/control 2022-07-19 09:16:37.000000000 +0000 +++ corosync-3.1.7/debian/control 2023-01-25 20:08:20.000000000 +0000 @@ -6,7 +6,7 @@ Uploaders: Adrian Vondendriesch , Ferenc Wágner , -Standards-Version: 4.6.0 +Standards-Version: 4.6.2 Build-Depends: debhelper-compat (= 13), dctrl-tools, @@ -55,9 +55,10 @@ ${misc:Depends}, lsb-base (>= 3.0-6), adduser, - xsltproc, + xsltproc +Recommends: # corosync-blackbox: qb-blackbox dependency (LP: #1677684) - libqb-dev + libqb-tools Description: cluster engine daemon and utilities ${S:X-Common-Description} . diff -Nru corosync-3.1.6/debian/copyright corosync-3.1.7/debian/copyright --- corosync-3.1.6/debian/copyright 2022-07-19 09:06:21.000000000 +0000 +++ corosync-3.1.7/debian/copyright 2023-01-25 20:05:23.000000000 +0000 @@ -26,7 +26,7 @@ 2011-2014 Martin Loschwitz 2014 Wookey 2015 Richard B Winters - 2015-2018 Ferenc Wágner + 2015-2023 Ferenc Wágner License: BSD-3-clause License: BSD-3-clause diff -Nru corosync-3.1.6/debian/corosync.lintian-overrides corosync-3.1.7/debian/corosync.lintian-overrides --- corosync-3.1.6/debian/corosync.lintian-overrides 2022-07-19 09:06:21.000000000 +0000 +++ corosync-3.1.7/debian/corosync.lintian-overrides 2023-01-25 20:05:23.000000000 +0000 @@ -1,2 +1,2 @@ # This file contains configuration instructions as well -package-contains-upstream-installation-documentation usr/share/doc/corosync/INSTALL.gz +package-contains-upstream-installation-documentation [usr/share/doc/corosync/INSTALL.gz] diff -Nru corosync-3.1.6/debian/libcorosync-common4.lintian-overrides corosync-3.1.7/debian/libcorosync-common4.lintian-overrides --- corosync-3.1.6/debian/libcorosync-common4.lintian-overrides 2022-07-19 09:08:42.000000000 +0000 +++ corosync-3.1.7/debian/libcorosync-common4.lintian-overrides 2023-01-25 20:05:23.000000000 +0000 @@ -1,2 +1,2 @@ # This tiny library does not even need libc -shared-library-lacks-prerequisites usr/lib/*/libcorosync_common.so.4.0.0 +shared-library-lacks-prerequisites [usr/lib/*/libcorosync_common.so.4.0.0] diff -Nru corosync-3.1.6/debian/patches/Fix-various-typos-in-ChangeLog.patch corosync-3.1.7/debian/patches/Fix-various-typos-in-ChangeLog.patch --- corosync-3.1.6/debian/patches/Fix-various-typos-in-ChangeLog.patch 2022-07-19 09:06:21.000000000 +0000 +++ corosync-3.1.7/debian/patches/Fix-various-typos-in-ChangeLog.patch 2023-01-25 20:05:23.000000000 +0000 @@ -10,10 +10,10 @@ 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog -index dc43cdb..2462508 100644 +index 4d7ded3..20ce87c 100644 --- a/ChangeLog +++ b/ChangeLog -@@ -9739,7 +9739,7 @@ +@@ -9849,7 +9849,7 @@ 2012-02-07 Fabio M. Di Nitto @@ -22,7 +22,7 @@ Reviewed-by: Christine Caulfield 2012-02-07 Angus Salkeld -@@ -9924,7 +9924,7 @@ +@@ -10034,7 +10034,7 @@ Honor exec_init_fn call exec_init_fn now either returns NULL (success) or a string which indicates @@ -31,7 +31,7 @@ occurs, corosync will exit. This patch adds ykd and makes other suggestions from Fabio Di Nitto. -@@ -11288,7 +11288,7 @@ +@@ -11398,7 +11398,7 @@ start 5 nodes randomly at about same time, start 5 nodes randomly at about same time, wait 10 seconds and attempt to send a message. If message blocks @@ -40,7 +40,7 @@ cyclng the nodes and see if the TRY_AGAIN state becomes unblocked. If it doesn't the test case has failed -@@ -11679,7 +11679,7 @@ +@@ -11789,7 +11789,7 @@ is these last messages should be delivered after a transitional configuration to maintain SAFE agreement. We don't have support for SAFE atm, so it is probably safe just to throw these messages away. Without @@ -49,7 +49,7 @@ Tested-by: Tim Beale Reviewed-by: Jan Friesse -@@ -19427,7 +19427,7 @@ +@@ -19537,7 +19537,7 @@ 2007-08-11 Steven Dake @@ -58,7 +58,7 @@ git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1420 fd59a12c-fef9-0310-b244-a6a79926bd2f Allow make doxygen to work properly -@@ -19770,7 +19770,7 @@ +@@ -19880,7 +19880,7 @@ 2006-11-10 Steven Dake @@ -67,7 +67,7 @@ git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1299 fd59a12c-fef9-0310-b244-a6a79926bd2f Recovery algorithms described in this document. -@@ -25944,13 +25944,13 @@ +@@ -26054,13 +26054,13 @@ 2004-07-12 Steven Dake diff -Nru corosync-3.1.6/debian/patches/Remove-bashism-from-configure-script.patch corosync-3.1.7/debian/patches/Remove-bashism-from-configure-script.patch --- corosync-3.1.6/debian/patches/Remove-bashism-from-configure-script.patch 2022-07-19 09:08:42.000000000 +0000 +++ corosync-3.1.7/debian/patches/Remove-bashism-from-configure-script.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -From: =?utf-8?q?Ferenc_W=C3=A1gner?= -Date: Sat, 4 Dec 2021 15:36:36 +0100 -Subject: Remove bashism from configure script -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 8bit - -This was the real problem behind 384d168: Debian experimental now -sports a dash with LINENO support, so configure does not fall back to -using bash instead, choking on such bash-only constructs. Unfortunately -this didn't bail out cleanly, just unexpectedly set link_all_deplibs to -no, and the error message - -./configure: 13158: test: yes: unexpected operator - -stayed unnoticed in the logs. Actually, link_all_deplibs=no is the -default in Debian, reducing overlinking and causing confusion overall, -see https://debbugs.gnu.org/db/13/13920.html for example. - -I think being explicit about used interfaces has its merit, so now that -Corosync has it, it might be advantageous to disable link_all_deplibs -by default across the board (after this patch re-enables it as a side -effect). - -Signed-off-by: Ferenc Wágner -Reviewed-by: Jan Friesse - -Closes: #998785 ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index f32e0de..c36e9ee 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -34,7 +34,7 @@ AC_ARG_ENABLE(interlib-deps, - [enable_interlib_deps="yes"]) - - AC_MSG_NOTICE([enable inter-library dependencies: $enable_interlib_deps]) --if test "${enable_interlib_deps}" == "yes"; then -+if test "x${enable_interlib_deps}" = "xyes"; then - link_all_deplibs=yes - link_all_deplibs_CXX=yes - else diff -Nru corosync-3.1.6/debian/patches/Revert-logrotate-Use-copytruncate-method-by-default.patch corosync-3.1.7/debian/patches/Revert-logrotate-Use-copytruncate-method-by-default.patch --- corosync-3.1.6/debian/patches/Revert-logrotate-Use-copytruncate-method-by-default.patch 1970-01-01 00:00:00.000000000 +0000 +++ corosync-3.1.7/debian/patches/Revert-logrotate-Use-copytruncate-method-by-default.patch 2023-01-25 20:05:23.000000000 +0000 @@ -0,0 +1,49 @@ +From: =?utf-8?q?Ferenc_W=C3=A1gner?= +Date: Sun, 15 Jan 2023 11:44:31 +0100 +Subject: Revert "logrotate: Use copytruncate method by default" + +This reverts commit 04362046c4a9d7307feb5b68341d567b7d0b94d6. + +The copytruncate documentation says that it should not be used to avoid +losing logging data. The drawbacks mentioned in the reverted commit are +not relevant, because they involve hiding problems which should be fixed +at their respective origins instead. +--- + conf/logrotate/Makefile.am | 7 +++++++ + conf/logrotate/corosync-reopen.in | 5 ----- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/conf/logrotate/Makefile.am b/conf/logrotate/Makefile.am +index 35efa2d..4f7b753 100644 +--- a/conf/logrotate/Makefile.am ++++ b/conf/logrotate/Makefile.am +@@ -34,9 +34,16 @@ MAINTAINERCLEANFILES = Makefile.in + + EXTRA_DIST = corosync-reopen.in corosync-copytruncate.in + ++if HAVE_QB_LOG_FILE_REOPEN ++corosync: corosync-reopen.in ++ $(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \ ++ -e 's#@''SBINDIR@#$(sbindir)#g' \ ++ $< > $@ ++else + corosync: corosync-copytruncate.in + $(SED) -e 's#@''LOGDIR@#${LOGDIR}#g' \ + $< > $@ ++endif + + logrotatecorosyncdir = ${LOGROTATEDIR} + logrotatecorosync_DATA = corosync +diff --git a/conf/logrotate/corosync-reopen.in b/conf/logrotate/corosync-reopen.in +index 730fb74..839c5da 100644 +--- a/conf/logrotate/corosync-reopen.in ++++ b/conf/logrotate/corosync-reopen.in +@@ -1,8 +1,3 @@ +-# This logrotate method has two main problems and it's kept only for reference: +-# 1. It does fail when corosync is not running (solvable by adding "|| true") +-# 2. If (for some reason) cfgtool -L fails, logrotate fails and corosync keeps +-# logging into old file. Added "|| true" makes situation even worse +-# because logrotate removes file but corosync keeps logging into it. + @LOGDIR@/corosync.log { + missingok + compress diff -Nru corosync-3.1.6/debian/patches/series corosync-3.1.7/debian/patches/series --- corosync-3.1.6/debian/patches/series 2022-07-19 09:15:58.000000000 +0000 +++ corosync-3.1.7/debian/patches/series 2023-01-25 20:08:20.000000000 +0000 @@ -1,5 +1,5 @@ Fix-various-typos-in-ChangeLog.patch Enable-PrivateTmp-in-the-systemd-service-files.patch Make-the-example-config-valid.patch -Remove-bashism-from-configure-script.patch +Revert-logrotate-Use-copytruncate-method-by-default.patch lp1918735/0001-allow_knet_handle_fallback_default_yes.patch diff -Nru corosync-3.1.6/debian/rules corosync-3.1.7/debian/rules --- corosync-3.1.6/debian/rules 2022-07-19 09:06:21.000000000 +0000 +++ corosync-3.1.7/debian/rules 2023-01-25 20:05:23.000000000 +0000 @@ -16,9 +16,6 @@ ifneq ($(wildcard /usr/include/systemd/sd-daemon.h),) enable-systemd=--enable-systemd -initscript-dir=usr/share/corosync -else -initscript-dir=etc/init.d endif %: diff -Nru corosync-3.1.6/debian/tests/control corosync-3.1.7/debian/tests/control --- corosync-3.1.6/debian/tests/control 2022-07-19 09:16:37.000000000 +0000 +++ corosync-3.1.7/debian/tests/control 2023-01-25 20:08:20.000000000 +0000 @@ -1,3 +1,7 @@ Depends: @ -Restrictions: needs-root, isolation-container, allow-stderr +Restrictions: needs-root, isolation-container Tests: cfgtool quorumtool + +Depends: @, logrotate +Restrictions: allow-stderr, needs-root, isolation-container +Tests: logrotate diff -Nru corosync-3.1.6/debian/tests/logrotate corosync-3.1.7/debian/tests/logrotate --- corosync-3.1.6/debian/tests/logrotate 1970-01-01 00:00:00.000000000 +0000 +++ corosync-3.1.7/debian/tests/logrotate 2023-01-25 20:05:23.000000000 +0000 @@ -0,0 +1,19 @@ +#!/bin/sh + +set -ex + +OUTPUT="${AUTOPKGTEST_ARTIFACTS:-.}/logrotate.txt" + +LOG="/var/log/corosync/corosync.log" + +logrotate --force --log "$OUTPUT" /etc/logrotate.d/corosync +cat "$OUTPUT" +grep -q "rotating log $LOG," "$OUTPUT" + +[ -e "$LOG" ] +! [ -s "$LOG" ] + +# Reload config to generate logs +corosync-cfgtool -R + +grep -q 'Config reload requested' "$LOG" diff -Nru corosync-3.1.6/exec/coroparse.c corosync-3.1.7/exec/coroparse.c --- corosync-3.1.6/exec/coroparse.c 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/exec/coroparse.c 2022-11-15 16:10:27.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Red Hat, Inc. + * Copyright (c) 2006-2022 Red Hat, Inc. * * All rights reserved. * @@ -121,6 +121,7 @@ int knet_ping_precision; int knet_pong_count; int knet_pmtud_interval; + unsigned int knet_mtu; char *knet_transport; struct qb_list_head logger_subsys_items_head; @@ -729,6 +730,7 @@ (strcmp(path, "totem.max_messages") == 0) || (strcmp(path, "totem.miss_count_const") == 0) || (strcmp(path, "totem.knet_pmtud_interval") == 0) || + (strcmp(path, "totem.knet_mtu") == 0) || (strcmp(path, "totem.knet_compression_threshold") == 0) || (strcmp(path, "totem.netmtu") == 0)) { val_type = ICMAP_VALUETYPE_UINT32; diff -Nru corosync-3.1.6/exec/logconfig.c corosync-3.1.7/exec/logconfig.c --- corosync-3.1.6/exec/logconfig.c 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/exec/logconfig.c 2022-11-15 16:10:27.000000000 +0000 @@ -52,6 +52,7 @@ #include "util.h" #include "logconfig.h" +#include "totemknet.h" static char error_string_response[512]; @@ -623,6 +624,9 @@ #endif logsys_config_apply(); + + /* Reconfigure knet logging */ + totemknet_configure_log_level(); return 0; parse_error: diff -Nru corosync-3.1.6/exec/logsys.c corosync-3.1.7/exec/logsys.c --- corosync-3.1.6/exec/logsys.c 2021-11-09 10:33:02.000000000 +0000 +++ corosync-3.1.7/exec/logsys.c 2022-11-15 16:10:27.000000000 +0000 @@ -803,6 +803,23 @@ } } +extern int logsys_config_debug_get ( + const char *subsys) +{ + int debug_level = logsys_loggers[0].debug; + int i; + + if (subsys != NULL) { + pthread_mutex_lock (&logsys_config_mutex); + i = _logsys_config_subsys_get_unlocked (subsys); + if (i >= 0) { + debug_level = logsys_loggers[i].debug; + } + pthread_mutex_unlock (&logsys_config_mutex); + } + return debug_level; +} + int logsys_config_debug_set ( const char *subsys, unsigned int debug) diff -Nru corosync-3.1.6/exec/totemconfig.c corosync-3.1.7/exec/totemconfig.c --- corosync-3.1.6/exec/totemconfig.c 2021-11-09 10:33:02.000000000 +0000 +++ corosync-3.1.7/exec/totemconfig.c 2022-11-15 16:10:27.000000000 +0000 @@ -1,6 +1,6 @@ /* * Copyright (c) 2002-2005 MontaVista Software, Inc. - * Copyright (c) 2006-2019 Red Hat, Inc. + * Copyright (c) 2006-2022 Red Hat, Inc. * * All rights reserved. * @@ -91,6 +91,7 @@ #define KNET_PING_PRECISION 2048 #define KNET_PONG_COUNT 2 #define KNET_PMTUD_INTERVAL 30 +#define KNET_MTU 0 #define KNET_DEFAULT_TRANSPORT KNET_TRANSPORT_UDP #define DEFAULT_PORT 5405 @@ -137,6 +138,8 @@ return &totem_config->miss_count_const; if (strcmp(param_name, "totem.knet_pmtud_interval") == 0) return &totem_config->knet_pmtud_interval; + if (strcmp(param_name, "totem.knet_mtu") == 0) + return &totem_config->knet_mtu; if (strcmp(param_name, "totem.knet_compression_threshold") == 0) return &totem_config->knet_compression_threshold; if (strcmp(param_name, "totem.knet_compression_level") == 0) @@ -335,6 +338,7 @@ totem_volatile_config_set_uint32_value(totem_config, temp_map, "totem.miss_count_const", deleted_key, MISS_COUNT_CONST, 0); totem_volatile_config_set_uint32_value(totem_config, temp_map, "totem.knet_pmtud_interval", deleted_key, KNET_PMTUD_INTERVAL, 0); + totem_volatile_config_set_uint32_value(totem_config, temp_map, "totem.knet_mtu", deleted_key, KNET_MTU, 0); totem_volatile_config_set_uint32_value(totem_config, temp_map, "totem.token_retransmit", deleted_key, (int)(totem_config->token_timeout / (totem_config->token_retransmits_before_loss_const + 0.2)), 0); @@ -737,7 +741,7 @@ } res = uname(&utsname); - if (res) { + if (res < 0) { return -1; } node = utsname.nodename; diff -Nru corosync-3.1.6/exec/totemknet.c corosync-3.1.7/exec/totemknet.c --- corosync-3.1.6/exec/totemknet.c 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/exec/totemknet.c 2022-11-15 16:10:27.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2020 Red Hat, Inc. + * Copyright (c) 2016-2022 Red Hat, Inc. * * All rights reserved. * @@ -885,6 +885,36 @@ #endif } +void totemknet_configure_log_level() +{ + int logsys_log_mode; + int knet_log_mode = KNET_LOG_INFO; + uint8_t s; + + if (!global_instance || !global_instance->knet_handle) { + return; + } + + /* Reconfigure logging level */ + logsys_log_mode = logsys_config_debug_get("KNET"); + + switch (logsys_log_mode) { + case LOGSYS_DEBUG_OFF: + knet_log_mode = KNET_LOG_INFO; + break; + case LOGSYS_DEBUG_ON: + knet_log_mode = KNET_LOG_DEBUG; + break; + case LOGSYS_DEBUG_TRACE: + knet_log_mode = KNET_LOG_DEBUG; + break; + } + log_printf (LOGSYS_LEVEL_DEBUG, "totemknet setting log level %s", knet_log_get_loglevel_name(knet_log_mode)); + for (s = 0; sknet_handle, s, knet_log_mode); + } +} + /* NOTE: this relies on the fact that totem_reload_notify() is called first */ static void totemknet_refresh_config( @@ -895,7 +925,7 @@ void *user_data) { uint8_t reloading; - uint32_t value; + int after_reload; uint32_t link_no; size_t num_nodes; knet_node_id_t host_ids[KNET_MAX_HOST]; @@ -913,18 +943,27 @@ return; } - knet_set_access_list_config(instance); + after_reload = (strcmp(key_name, "config.totemconfig_reload_in_progress") == 0); - if (icmap_get_uint32("totem.knet_pmtud_interval", &value) == CS_OK) { + knet_set_access_list_config(instance); - instance->totem_config->knet_pmtud_interval = value; - knet_log_printf (LOGSYS_LEVEL_DEBUG, "knet_pmtud_interval now %d", value); + if (strcmp(key_name, "totem.knet_pmtud_interval") == 0 || after_reload) { + knet_log_printf (LOGSYS_LEVEL_DEBUG, "knet_pmtud_interval now %u", + instance->totem_config->knet_pmtud_interval); err = knet_handle_pmtud_setfreq(instance->knet_handle, instance->totem_config->knet_pmtud_interval); if (err) { KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_WARNING, "knet_handle_pmtud_setfreq failed"); } } + if (strcmp(key_name, "totem.knet_mtu") == 0 || after_reload) { + knet_log_printf (LOGSYS_LEVEL_DEBUG, "knet_mtu now %u", instance->totem_config->knet_mtu); + err = knet_handle_pmtud_set(instance->knet_handle, instance->totem_config->knet_mtu); + if (err) { + KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_WARNING, "knet_handle_pmtud failed"); + } + } + /* Configure link parameters for each node */ err = knet_host_get_host_list(instance->knet_handle, host_ids, &num_nodes); if (err != 0) { @@ -958,6 +997,7 @@ } } + /* Log levels get reconfigured from logconfig.c as that happens last in the reload */ LEAVE(); } @@ -1182,6 +1222,10 @@ if (res) { KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_WARNING, "knet_handle_pmtud_setfreq failed"); } + res = knet_handle_pmtud_set(instance->knet_handle, instance->totem_config->knet_mtu); + if (res) { + KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_WARNING, "knet_handle_pmtud_set failed"); + } res = knet_handle_enable_filter(instance->knet_handle, instance, dst_host_filter_callback_fn); if (res) { KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_WARNING, "knet_handle_enable_filter failed"); @@ -1200,6 +1244,9 @@ } global_instance = instance; + /* Setup knet logging level */ + totemknet_configure_log_level(); + /* Get an fd into knet */ instance->knet_fd = 0; res = knet_handle_add_datafd(instance->knet_handle, &instance->knet_fd, &channel); diff -Nru corosync-3.1.6/exec/totemknet.h corosync-3.1.7/exec/totemknet.h --- corosync-3.1.6/exec/totemknet.h 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/exec/totemknet.h 2022-11-15 16:10:27.000000000 +0000 @@ -154,4 +154,6 @@ extern void totemknet_stats_clear ( void *knet_context); +extern void totemknet_configure_log_level (void); + #endif /* TOTEMKNET_H_DEFINED */ diff -Nru corosync-3.1.6/exec/totempg.c corosync-3.1.7/exec/totempg.c --- corosync-3.1.6/exec/totempg.c 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/exec/totempg.c 2022-11-15 16:10:27.000000000 +0000 @@ -424,7 +424,7 @@ /* * Align data structure for not i386 or x86_64 */ - if ((size_t)msg % 4 != 0) { + if ((size_t)msg % sizeof(char *) != 0) { aligned_msg = alloca(msg_len); memcpy(aligned_msg, msg, msg_len); } else { @@ -466,7 +466,7 @@ /* * Align data structure for not i386 or x86_64 */ - if ((size_t)iovec->iov_base % 4 != 0) { + if ((size_t)iovec->iov_base % sizeof(char *) != 0) { iovec_aligned.iov_base = alloca(iovec->iov_len); memcpy(iovec_aligned.iov_base, iovec->iov_base, iovec->iov_len); iovec_aligned.iov_len = iovec->iov_len; @@ -551,7 +551,7 @@ /* * Align data structure for not i386 or x86_64 */ - if ((char *)iovec->iov_base + adjust_iovec % 4 != 0) { + if ((uintptr_t)((char *)iovec->iov_base + adjust_iovec) % (sizeof(char *)) != 0) { /* * Deal with misalignment */ diff -Nru corosync-3.1.6/exec/totemudpu.c corosync-3.1.7/exec/totemudpu.c --- corosync-3.1.6/exec/totemudpu.c 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/exec/totemudpu.c 2022-11-15 16:10:27.000000000 +0000 @@ -540,6 +540,7 @@ } if (instance->totem_config->block_unlisted_ips && + instance->netif_bind_state == BIND_STATE_REGULAR && find_member_by_sockaddr(instance, (const struct sockaddr *)&system_from) == NULL) { log_printf(instance->totemudpu_log_level_debug, "Packet rejected from %s", totemip_sa_print((const struct sockaddr *)&system_from)); diff -Nru corosync-3.1.6/include/corosync/logsys.h corosync-3.1.7/include/corosync/logsys.h --- corosync-3.1.6/include/corosync/logsys.h 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/include/corosync/logsys.h 2022-11-15 16:10:27.000000000 +0000 @@ -196,6 +196,15 @@ const char *subsys, unsigned int value); +/** + * @brief Return the debug flag for this subsys + * + * @param subsys + * @return LOGSYS_DEBUG_OFF | LOGSYS_DEBUG_ON | LOGSYS_DEBUG_TRACE + */ +extern int logsys_config_debug_get ( + const char *subsys); + /* * External API - helpers * diff -Nru corosync-3.1.6/include/corosync/totem/totem.h corosync-3.1.7/include/corosync/totem/totem.h --- corosync-3.1.6/include/corosync/totem/totem.h 2021-11-09 10:33:02.000000000 +0000 +++ corosync-3.1.7/include/corosync/totem/totem.h 2022-11-15 16:10:27.000000000 +0000 @@ -1,6 +1,6 @@ /* * Copyright (c) 2005 MontaVista Software, Inc. - * Copyright (c) 2006-2012 Red Hat, Inc. + * Copyright (c) 2006-2022 Red Hat, Inc. * * Author: Steven Dake (sdake@redhat.com) * @@ -167,6 +167,7 @@ unsigned int node_id; unsigned int clear_node_high_bit; unsigned int knet_pmtud_interval; + unsigned int knet_mtu; /* * key information diff -Nru corosync-3.1.6/man/corosync.conf.5 corosync-3.1.7/man/corosync.conf.5 --- corosync-3.1.6/man/corosync.conf.5 2021-11-09 10:33:02.000000000 +0000 +++ corosync-3.1.7/man/corosync.conf.5 2022-11-15 16:10:27.000000000 +0000 @@ -1,6 +1,6 @@ .\"/* .\" * Copyright (c) 2005 MontaVista Software, Inc. -.\" * Copyright (c) 2006-2021 Red Hat, Inc. +.\" * Copyright (c) 2006-2022 Red Hat, Inc. .\" * .\" * All rights reserved. .\" * @@ -32,7 +32,7 @@ .\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" * THE POSSIBILITY OF SUCH DAMAGE. .\" */ -.TH COROSYNC_CONF 5 2021-08-11 "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" +.TH COROSYNC_CONF 5 2022-10-20 "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" .SH NAME corosync.conf - corosync executive configuration file @@ -273,8 +273,15 @@ .TP netmtu -This specifies the network maximum transmit unit. To set this value beyond -1500, the regular frame MTU, requires ethernet devices that support large, or +This specifies maximum packet length sent by corosync. It's mainly for the UDPU +(and UDP) transport, where it specifies the network maximum transmit size, but +can be used also with the KNET transport, where it defines the maximum length of packets +passed to the knet layer. To specify the network MTU manually for KNET, use the +.B knet_mtu +option. + +For UDPU (and UDP), setting this value beyond 1500, the regular frame MTU, +requires ethernet devices that support large, or also called jumbo, frames. If any device in the network doesn't support large frames, the protocol will not operate properly. The hosts must also have their mtu size set from 1500 to whatever frame size is specified here. @@ -293,7 +300,7 @@ Choose hardware carefully if intending to use large frame support. -The default is 1500. +The default is 1500 for UDPU (and UDP) and 65536 for the KNET transport. .TP transport @@ -569,6 +576,15 @@ Value in seconds, default: 30 .TP +knet_mtu +Switch between manual and automatic MTU discovery. A value of 0 means +automatic, other values set a manual MTU. +In a setup with multiple interfaces, please specify +the lowest MTU of the selected interfaces. + +The default value is 0. + +.TP block_unlisted_ips Allow UDPU and KNET to drop packets from IP addresses that are not known (nodes which don't exist in the nodelist) to corosync. diff -Nru corosync-3.1.6/pkgconfig/corosync.pc.in corosync-3.1.7/pkgconfig/corosync.pc.in --- corosync-3.1.6/pkgconfig/corosync.pc.in 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/pkgconfig/corosync.pc.in 2022-11-15 16:10:27.000000000 +0000 @@ -3,6 +3,7 @@ libdir=@LIBDIR@ includedir=${prefix}/include logdir=@LOGDIR@ +corosysconfdir=@COROSYSCONFDIR@ Name: corosync Version: @LIBVERSION@ diff -Nru corosync-3.1.6/pkgconfig/Makefile.am corosync-3.1.7/pkgconfig/Makefile.am --- corosync-3.1.6/pkgconfig/Makefile.am 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/pkgconfig/Makefile.am 2022-11-15 16:10:27.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009 Red Hat, Inc. +# Copyright (c) 2009-2022 Red Hat, Inc. # # All rights reserved. # @@ -63,6 +63,7 @@ -e 's#@''LIBDIR@#$(libdir)#g' \ -e 's#@''LIBVERSION@#$(VERSION)#g' \ -e 's#@''LOGDIR@#$(LOGDIR)#g' \ + -e 's#@''COROSYSCONFDIR@#$(COROSYSCONFDIR)#g' \ $< > $@-t chmod a-w $@-t mv $@-t $@ diff -Nru corosync-3.1.6/pkgconfig/Makefile.in corosync-3.1.7/pkgconfig/Makefile.in --- corosync-3.1.6/pkgconfig/Makefile.in 2021-11-15 10:12:54.000000000 +0000 +++ corosync-3.1.7/pkgconfig/Makefile.in 2022-11-15 16:41:41.000000000 +0000 @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (c) 2009 Red Hat, Inc. +# Copyright (c) 2009-2022 Red Hat, Inc. # # All rights reserved. # @@ -578,6 +578,7 @@ -e 's#@''LIBDIR@#$(libdir)#g' \ -e 's#@''LIBVERSION@#$(VERSION)#g' \ -e 's#@''LOGDIR@#$(LOGDIR)#g' \ + -e 's#@''COROSYSCONFDIR@#$(COROSYSCONFDIR)#g' \ $< > $@-t chmod a-w $@-t mv $@-t $@ diff -Nru corosync-3.1.6/.tarball-version corosync-3.1.7/.tarball-version --- corosync-3.1.6/.tarball-version 2021-11-15 10:13:18.000000000 +0000 +++ corosync-3.1.7/.tarball-version 2022-11-15 16:42:02.000000000 +0000 @@ -1 +1 @@ -3.1.6 +3.1.7 diff -Nru corosync-3.1.6/.version corosync-3.1.7/.version --- corosync-3.1.6/.version 2021-11-15 10:13:15.000000000 +0000 +++ corosync-3.1.7/.version 2022-11-15 16:42:00.000000000 +0000 @@ -1 +1 @@ -3.1.6 +3.1.7 diff -Nru corosync-3.1.6/vqsim/vqmain.c corosync-3.1.7/vqsim/vqmain.c --- corosync-3.1.6/vqsim/vqmain.c 2021-09-13 07:15:12.000000000 +0000 +++ corosync-3.1.7/vqsim/vqmain.c 2022-11-15 16:10:27.000000000 +0000 @@ -26,6 +26,7 @@ extern int coroparse_configparse (icmap_map_t config_map, const char **error_string); extern int corosync_log_config_read (const char **error_string); static int stdin_read_fn(int32_t fd, int32_t revents, void *data); +void totemknet_configure_log_level(void); /* 'Keep the compiler happy' time */ const char *corosync_get_config_file(void); @@ -270,6 +271,11 @@ return 0; } +/* Dummy routine to keep the linker happy */ +void totemknet_configure_log_level(void) +{ + +} static int read_corosync_conf(void) {