summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--RHEL-24163-1-Report-crypto-errors-back-to-cfg-reload.patch246
-rw-r--r--corosync.spec831
-rw-r--r--sources1
4 files changed, 1079 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..db618ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/corosync-3.1.8.tar.gz
diff --git a/RHEL-24163-1-Report-crypto-errors-back-to-cfg-reload.patch b/RHEL-24163-1-Report-crypto-errors-back-to-cfg-reload.patch
new file mode 100644
index 0000000..77153d9
--- /dev/null
+++ b/RHEL-24163-1-Report-crypto-errors-back-to-cfg-reload.patch
@@ -0,0 +1,246 @@
+From ce03c68394517ea8782a03968e2507a1096e9efe Mon Sep 17 00:00:00 2001
+From: Christine Caulfield <ccaulfie@redhat.com>
+Date: Wed, 31 Jan 2024 10:29:05 +0000
+Subject: [PATCH 1/3] Report crypto errors back to cfg reload
+
+Because crypto changing happens in the 'commit' phase
+of the reload and we can't get sure that knet will
+allow the new parameters, the result gets ignored.
+This can happen in FIPS mode if a non-FIPS cipher
+is requested.
+
+This patch reports the errors back in a cmap key
+so that the command-line can spot those errors
+and report them back to the user.
+
+It also restores the internal values for crypto
+so that subsequent attempts to change things have
+predictable results. Otherwise further attempts can
+do nothing but not report any errors back.
+
+I've also added some error reporting back for the
+knet ping counters using this mechanism.
+
+The alternative to all of this would be to check for FIPS
+in totemconfig.c and then exclude certain options, but this
+would be duplicating code that could easily get out of sync.
+
+This system could also be a useful mechanism for reporting
+back other 'impossible' errors.
+
+Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
+Reviewed-by: Jan Friesse <jfriesse@redhat.com>
+---
+ exec/cfg.c | 3 +++
+ exec/totemconfig.c | 8 ++++++-
+ exec/totemknet.c | 48 +++++++++++++++++++++++++++++++++++-----
+ tools/corosync-cfgtool.c | 31 ++++++++++++++++++++++++++
+ 4 files changed, 83 insertions(+), 7 deletions(-)
+
+diff --git a/exec/cfg.c b/exec/cfg.c
+index fe5f551d..4a3834b0 100644
+--- a/exec/cfg.c
++++ b/exec/cfg.c
+@@ -722,6 +722,9 @@ static void message_handler_req_exec_cfg_reload_config (
+
+ log_printf(LOGSYS_LEVEL_NOTICE, "Config reload requested by node " CS_PRI_NODE_ID, nodeid);
+
++ // Clear this out in case it all goes well
++ icmap_delete("config.reload_error_message");
++
+ icmap_set_uint8("config.totemconfig_reload_in_progress", 1);
+
+ /* Make sure there is no rubbish in this that might be checked, even on error */
+diff --git a/exec/totemconfig.c b/exec/totemconfig.c
+index a6394a2f..505424e3 100644
+--- a/exec/totemconfig.c
++++ b/exec/totemconfig.c
+@@ -2439,7 +2439,13 @@ int totemconfig_commit_new_params(
+ totempg_reconfigure();
+
+ free(new_interfaces);
+- return res; /* On a reload this is ignored */
++
++ /*
++ * On a reload this return is ignored because it's too late to do anything about it,
++ * but errors are reported back via cmap.
++ */
++ return res;
++
+ }
+
+ static void add_totem_config_notification(struct totem_config *totem_config)
+diff --git a/exec/totemknet.c b/exec/totemknet.c
+index f280a094..916f4f8b 100644
+--- a/exec/totemknet.c
++++ b/exec/totemknet.c
+@@ -93,6 +93,8 @@ static int setup_nozzle(void *knet_context);
+ struct totemknet_instance {
+ struct crypto_instance *crypto_inst;
+
++ struct knet_handle_crypto_cfg last_good_crypto_cfg;
++
+ qb_loop_t *poll_handle;
+
+ knet_handle_t knet_handle;
+@@ -995,6 +997,7 @@ static void totemknet_refresh_config(
+ }
+
+ for (i=0; i<num_nodes; i++) {
++ int linkerr = 0;
+ for (link_no = 0; link_no < INTERFACE_MAX; link_no++) {
+ if (host_ids[i] == instance->our_nodeid || !instance->totem_config->interfaces[link_no].configured) {
+ continue;
+@@ -1006,19 +1009,25 @@ static void totemknet_refresh_config(
+ instance->totem_config->interfaces[link_no].knet_ping_precision);
+ if (err) {
+ KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_ERROR, "knet_link_set_ping_timers for node " CS_PRI_NODE_ID " link %d failed", host_ids[i], link_no);
++ linkerr = err;
+ }
+ err = knet_link_set_pong_count(instance->knet_handle, host_ids[i], link_no,
+ instance->totem_config->interfaces[link_no].knet_pong_count);
+ if (err) {
+ KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_ERROR, "knet_link_set_pong_count for node " CS_PRI_NODE_ID " link %d failed",host_ids[i], link_no);
++ linkerr = err;
+ }
+ err = knet_link_set_priority(instance->knet_handle, host_ids[i], link_no,
+ instance->totem_config->interfaces[link_no].knet_link_priority);
+ if (err) {
+ KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_ERROR, "knet_link_set_priority for node " CS_PRI_NODE_ID " link %d failed", host_ids[i], link_no);
++ linkerr = err;
+ }
+
+ }
++ if (linkerr) {
++ icmap_set_string("config.reload_error_message", "Failed to set knet ping timers(2)");
++ }
+ }
+
+ /* Log levels get reconfigured from logconfig.c as that happens last in the reload */
+@@ -1086,6 +1095,10 @@ static int totemknet_set_knet_crypto(struct totemknet_instance *instance)
+
+ /* use_config will be called later when all nodes are synced */
+ res = knet_handle_crypto_set_config(instance->knet_handle, &crypto_cfg, instance->totem_config->crypto_index);
++ if (res == 0) {
++ /* Keep a copy in case it fails in future */
++ memcpy(&instance->last_good_crypto_cfg, &crypto_cfg, sizeof(crypto_cfg));
++ }
+ if (res == -1) {
+ knet_log_printf(LOGSYS_LEVEL_ERROR, "knet_handle_crypto_set_config (index %d) failed: %s", instance->totem_config->crypto_index, strerror(errno));
+ goto exit_error;
+@@ -1112,8 +1125,24 @@ static int totemknet_set_knet_crypto(struct totemknet_instance *instance)
+ }
+ #endif
+
+-
+ exit_error:
++#ifdef HAVE_KNET_CRYPTO_RECONF
++ if (res) {
++ icmap_set_string("config.reload_error_message", "Failed to set crypto parameters");
++
++ /* Restore the old values in cmap & totem_config */
++ icmap_set_string("totem.crypto_cipher", instance->last_good_crypto_cfg.crypto_cipher_type);
++ icmap_set_string("totem.crypto_hash", instance->last_good_crypto_cfg.crypto_hash_type);
++ icmap_set_string("totem.crypto_model", instance->last_good_crypto_cfg.crypto_model);
++
++ memcpy(instance->totem_config->crypto_hash_type, instance->last_good_crypto_cfg.crypto_hash_type,
++ sizeof(instance->last_good_crypto_cfg.crypto_hash_type));
++ memcpy(instance->totem_config->crypto_cipher_type, instance->last_good_crypto_cfg.crypto_cipher_type,
++ sizeof(instance->last_good_crypto_cfg.crypto_cipher_type));
++ memcpy(instance->totem_config->crypto_model, instance->last_good_crypto_cfg.crypto_model,
++ sizeof(instance->last_good_crypto_cfg.crypto_model));
++ }
++#endif
+ return res;
+ }
+
+@@ -1656,6 +1685,9 @@ int totemknet_member_add (
+ log_flush_messages(instance);
+ errno = saved_errno;
+ KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_ERROR, "knet_link_set_ping_timers for nodeid " CS_PRI_NODE_ID ", link %d failed", member->nodeid, link_no);
++
++ icmap_set_string("config.reload_error_message", "Failed to set knet ping timers");
++
+ return -1;
+ }
+ err = knet_link_set_pong_count(instance->knet_handle, member->nodeid, link_no,
+@@ -1666,6 +1698,7 @@ int totemknet_member_add (
+ log_flush_messages(instance);
+ errno = saved_errno;
+ KNET_LOGSYS_PERROR(errno, LOGSYS_LEVEL_ERROR, "knet_link_set_pong_count for nodeid " CS_PRI_NODE_ID ", link %d failed", member->nodeid, link_no);
++ icmap_set_string("config.reload_error_message", "Failed to set knet pong count");
+ return -1;
+ }
+ }
+@@ -1774,11 +1807,14 @@ int totemknet_reconfigure (
+ /* Flip crypto_index */
+ totem_config->crypto_index = 3-totem_config->crypto_index;
+ res = totemknet_set_knet_crypto(instance);
+-
+- knet_log_printf(LOG_INFO, "kronosnet crypto reconfigured on index %d: %s/%s/%s", totem_config->crypto_index,
+- totem_config->crypto_model,
+- totem_config->crypto_cipher_type,
+- totem_config->crypto_hash_type);
++ if (res == 0) {
++ knet_log_printf(LOG_INFO, "kronosnet crypto reconfigured on index %d: %s/%s/%s", totem_config->crypto_index,
++ totem_config->crypto_model,
++ totem_config->crypto_cipher_type,
++ totem_config->crypto_hash_type);
++ } else {
++ icmap_set_string("config.reload_error_message", "Failed to set knet crypto");
++ }
+ }
+ return (res);
+ }
+diff --git a/tools/corosync-cfgtool.c b/tools/corosync-cfgtool.c
+index d04d5bea..d35f6d90 100644
+--- a/tools/corosync-cfgtool.c
++++ b/tools/corosync-cfgtool.c
+@@ -332,6 +332,33 @@ nodestatusget_do (enum user_action action, int brief)
+ return rc;
+ }
+
++
++static int check_for_reload_errors(void)
++{
++ cmap_handle_t cmap_handle;
++ cs_error_t result;
++ char *str;
++ int res;
++
++ result = cmap_initialize (&cmap_handle);
++ if (result != CS_OK) {
++ fprintf (stderr, "Could not initialize corosync cmap API error %d\n", result);
++ exit (EXIT_FAILURE);
++ }
++
++ result = cmap_get_string(cmap_handle, "config.reload_error_message", &str);
++ if (result == CS_OK) {
++ printf("ERROR from reload: %s - see syslog for more information\n", str);
++ free(str);
++ res = 1;
++ }
++ else {
++ res = 0;
++ }
++ cmap_finalize(cmap_handle);
++ return res;
++}
++
+ static int reload_config_do (void)
+ {
+ cs_error_t result;
+@@ -358,6 +385,10 @@ static int reload_config_do (void)
+
+ (void)corosync_cfg_finalize (handle);
+
++ if ((rc = check_for_reload_errors())) {
++ fprintf(stderr, "Errors in appying config, corosync.conf might not match the running system\n");
++ }
++
+ return (rc);
+ }
+
+--
+2.39.3
+
diff --git a/corosync.spec b/corosync.spec
new file mode 100644
index 0000000..d7d9417
--- /dev/null
+++ b/corosync.spec
@@ -0,0 +1,831 @@
+# Conditionals
+# Invoke "rpmbuild --without <feature>" or "rpmbuild --with <feature>"
+# to disable or enable specific features
+%bcond_with watchdog
+%bcond_with monitoring
+%bcond_without snmp
+%bcond_without dbus
+%bcond_without systemd
+%bcond_without xmlconf
+%bcond_without nozzle
+%bcond_without vqsim
+%bcond_without runautogen
+%bcond_without userflags
+
+%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}
+%global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
+
+Name: corosync
+Summary: The Corosync Cluster Engine and Application Programming Interfaces
+Version: 3.1.8
+Release: 2%{?gitver}%{?dist}
+License: BSD
+URL: http://corosync.github.io/corosync/
+Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz
+
+Patch0: RHEL-24163-1-Report-crypto-errors-back-to-cfg-reload.patch
+
+# Runtime bits
+# The automatic dependency overridden in favor of explicit version lock
+Requires: corosynclib%{?_isa} = %{version}-%{release}
+
+# Support crypto reload
+Requires: libknet1 >= 1.18
+# NSS crypto plugin should be always installed
+Requires: libknet1-crypto-nss-plugin >= 1.18
+
+# Build bits
+BuildRequires: gcc
+BuildRequires: groff
+BuildRequires: libqb-devel
+BuildRequires: libknet1-devel >= 1.18
+BuildRequires: zlib-devel
+%if %{with runautogen}
+BuildRequires: autoconf automake libtool
+%endif
+%if %{with monitoring}
+BuildRequires: libstatgrab-devel
+%endif
+%if %{with snmp}
+BuildRequires: net-snmp-devel
+%endif
+%if %{with dbus}
+BuildRequires: dbus-devel
+%endif
+%if %{with nozzle}
+BuildRequires: libnozzle1-devel
+%endif
+%if %{with systemd}
+%{?systemd_requires}
+BuildRequires: systemd
+BuildRequires: systemd-devel
+%else
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/chkconfig
+%endif
+%if %{with xmlconf}
+Requires: libxslt
+%endif
+%if %{with vqsim}
+BuildRequires: readline-devel
+%endif
+BuildRequires: make
+
+%prep
+%setup -q -n %{name}-%{version}%{?gittarver}
+
+%patch0 -p1 -b .RHEL-24163-1
+
+%build
+%if %{with runautogen}
+./autogen.sh
+%endif
+
+%{configure} \
+%if %{with watchdog}
+ --enable-watchdog \
+%endif
+%if %{with monitoring}
+ --enable-monitoring \
+%endif
+%if %{with snmp}
+ --enable-snmp \
+%endif
+%if %{with dbus}
+ --enable-dbus \
+%endif
+%if %{with systemd}
+ --enable-systemd \
+%endif
+%if %{with xmlconf}
+ --enable-xmlconf \
+%endif
+%if %{with nozzle}
+ --enable-nozzle \
+%endif
+%if %{with vqsim}
+ --enable-vqsim \
+%endif
+%if %{with userflags}
+ --enable-user-flags \
+%endif
+ --with-initddir=%{_initrddir} \
+ --with-systemddir=%{_unitdir} \
+ --docdir=%{_docdir}
+
+%make_build
+
+%install
+%make_install
+
+%if %{with dbus}
+mkdir -p -m 0700 %{buildroot}/%{_sysconfdir}/dbus-1/system.d
+install -m 644 %{_builddir}/%{name}-%{version}%{?gittarver}/conf/corosync-signals.conf %{buildroot}/%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf
+%endif
+
+## tree fixup
+# drop static libs
+rm -f %{buildroot}%{_libdir}/*.a
+rm -f %{buildroot}%{_libdir}/*.la
+# drop docs and html docs for now
+rm -rf %{buildroot}%{_docdir}/*
+# /etc/sysconfig/corosync-notifyd
+mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
+install -m 644 tools/corosync-notifyd.sysconfig.example \
+ %{buildroot}%{_sysconfdir}/sysconfig/corosync-notifyd
+# /etc/sysconfig/corosync
+install -m 644 init/corosync.sysconfig.example \
+ %{buildroot}%{_sysconfdir}/sysconfig/corosync
+
+%description
+This package contains the Corosync Cluster Engine Executive, several default
+APIs and libraries, default configuration files, and an init script.
+
+%post
+%if %{with systemd} && 0%{?systemd_post:1}
+%systemd_post corosync.service
+%else
+if [ $1 -eq 1 ]; then
+ /sbin/chkconfig --add corosync || :
+fi
+%endif
+
+%preun
+%if %{with systemd} && 0%{?systemd_preun:1}
+%systemd_preun corosync.service
+%else
+if [ $1 -eq 0 ]; then
+ /sbin/service corosync stop &>/dev/null || :
+ /sbin/chkconfig --del corosync || :
+fi
+%endif
+
+%postun
+%if %{with systemd} && 0%{?systemd_postun:1}
+%systemd_postun corosync.service
+%endif
+
+%files
+%doc LICENSE
+%{_sbindir}/corosync
+%{_sbindir}/corosync-keygen
+%{_sbindir}/corosync-cmapctl
+%{_sbindir}/corosync-cfgtool
+%{_sbindir}/corosync-cpgtool
+%{_sbindir}/corosync-quorumtool
+%{_sbindir}/corosync-notifyd
+%{_bindir}/corosync-blackbox
+%if %{with xmlconf}
+%{_bindir}/corosync-xmlproc
+%dir %{_datadir}/corosync
+%{_datadir}/corosync/xml2conf.xsl
+%{_mandir}/man8/corosync-xmlproc.8*
+%{_mandir}/man5/corosync.xml.5*
+%endif
+%dir %{_sysconfdir}/corosync
+%dir %{_sysconfdir}/corosync/uidgid.d
+%config(noreplace) %{_sysconfdir}/corosync/corosync.conf.example
+%config(noreplace) %{_sysconfdir}/sysconfig/corosync-notifyd
+%config(noreplace) %{_sysconfdir}/sysconfig/corosync
+%config(noreplace) %{_sysconfdir}/logrotate.d/corosync
+%if %{with dbus}
+%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf
+%endif
+%if %{with snmp}
+%{_datadir}/snmp/mibs/COROSYNC-MIB.txt
+%endif
+%if %{with systemd}
+%{_unitdir}/corosync.service
+%{_unitdir}/corosync-notifyd.service
+%else
+%{_initrddir}/corosync
+%{_initrddir}/corosync-notifyd
+%endif
+%dir %{_localstatedir}/lib/corosync
+%dir %{_localstatedir}/log/cluster
+%{_mandir}/man7/corosync_overview.7*
+%{_mandir}/man8/corosync.8*
+%{_mandir}/man8/corosync-blackbox.8*
+%{_mandir}/man8/corosync-cmapctl.8*
+%{_mandir}/man8/corosync-keygen.8*
+%{_mandir}/man8/corosync-cfgtool.8*
+%{_mandir}/man8/corosync-cpgtool.8*
+%{_mandir}/man8/corosync-notifyd.8*
+%{_mandir}/man8/corosync-quorumtool.8*
+%{_mandir}/man5/corosync.conf.5*
+%{_mandir}/man5/votequorum.5*
+%{_mandir}/man7/cmap_keys.7*
+
+# library
+#
+%package -n corosynclib
+Summary: The Corosync Cluster Engine Libraries
+
+%description -n corosynclib
+This package contains corosync libraries.
+
+%files -n corosynclib
+%doc LICENSE
+%{_libdir}/libcfg.so.*
+%{_libdir}/libcpg.so.*
+%{_libdir}/libcmap.so.*
+%{_libdir}/libquorum.so.*
+%{_libdir}/libvotequorum.so.*
+%{_libdir}/libsam.so.*
+%{_libdir}/libcorosync_common.so.*
+
+%ldconfig_scriptlets -n corosynclib
+
+%package -n corosynclib-devel
+Summary: The Corosync Cluster Engine Development Kit
+Requires: corosynclib%{?_isa} = %{version}-%{release}
+Requires: pkgconfig
+Provides: corosync-devel = %{version}-%{release}
+Provides: corosync-devel%{?_isa} = %{version}-%{release}
+
+%description -n corosynclib-devel
+This package contains include files and man pages used to develop using
+The Corosync Cluster Engine APIs.
+
+%files -n corosynclib-devel
+%doc LICENSE
+%dir %{_includedir}/corosync/
+%{_includedir}/corosync/corodefs.h
+%{_includedir}/corosync/cfg.h
+%{_includedir}/corosync/cmap.h
+%{_includedir}/corosync/corotypes.h
+%{_includedir}/corosync/cpg.h
+%{_includedir}/corosync/hdb.h
+%{_includedir}/corosync/sam.h
+%{_includedir}/corosync/quorum.h
+%{_includedir}/corosync/votequorum.h
+%{_libdir}/libcfg.so
+%{_libdir}/libcpg.so
+%{_libdir}/libcmap.so
+%{_libdir}/libquorum.so
+%{_libdir}/libvotequorum.so
+%{_libdir}/libsam.so
+%{_libdir}/libcorosync_common.so
+%{_libdir}/pkgconfig/*.pc
+%{_mandir}/man3/cpg_*3*
+%{_mandir}/man3/quorum_*3*
+%{_mandir}/man3/votequorum_*3*
+%{_mandir}/man3/sam_*3*
+%{_mandir}/man3/cmap_*3*
+
+%if %{with vqsim}
+%package -n corosync-vqsim
+Summary: The Corosync Cluster Engine - Votequorum Simulator
+Requires: corosynclib%{?_isa} = %{version}-%{release}
+Requires: pkgconfig
+
+%description -n corosync-vqsim
+A command-line simulator for the corosync votequorum subsystem.
+It uses the same code as the corosync quorum system but forks
+them into subprocesses to simulate nodes.
+Nodes can be added and removed as well as partitioned (to simulate
+network splits)
+
+%files -n corosync-vqsim
+%doc LICENSE
+%{_bindir}/corosync-vqsim
+%{_mandir}/man8/corosync-vqsim.8*
+%endif
+
+%changelog
+* Tue May 21 2024 Jan Friesse <jfriesse@redhat.com> - 3.1.8-2
+- Resolves: RHEL-24163
+
+- Report crypto errors back to cfg reload (RHEL-24163)
+
+* Wed Nov 15 2023 Jan Friesse <jfriesse@redhat.com> - 3.1.8-1
+- Resolves: RHEL-15264
+
+- New upstream release (RHEL-15264)
+
+* Tue Nov 15 2022 Jan Friesse <jfriesse@redhat.com> - 3.1.7-1
+- Resolves: rhbz#2135861
+
+- New upstream release (rhbz#2135861)
+
+* Thu Mar 31 2022 Jan Friesse <jfriesse@redhat.com> - 3.1.5-4
+- Resolves: rhbz#2070623
+
+- logrotate: Use copytruncate method by default (rhbz#2070623)
+- merge upstream commit 04362046c4a9d7307feb5b68341d567b7d0b94d6 (rhbz#2070623)
+
+* Thu Nov 25 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.5-3
+- Resolves: rhbz#2024652
+- Resolves: rhbz#2024657
+
+- totem: Add cancel_hold_on_retransmit config option (rhbz#2024652)
+- merge upstream commit cdf72925db5a81e546ca8e8d7d8291ee1fc77be4 (rhbz#2024652)
+- totemsrp: Switch totempg buffers at the right time (rhbz#2024657)
+- merge upstream commit e7a82370a7b5d3ca342d5e42e25763fa2c938739 (rhbz#2024657)
+
+* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.1.5-2
+- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
+ Related: rhbz#1991688
+
+* Wed Aug 04 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.5-1
+- Related: rhbz#1948974
+
+- New upstream release (rhbz#1948974)
+
+* Fri Jul 23 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.4-3
+- Related: rhbz#1948974
+
+- Add support for cgroup v2 and auto mode (rhbz#1948974)
+
+* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 3.1.4-2
+- Rebuilt for RHEL 9 BETA for openssl 3.0
+ Related: rhbz#1971065
+
+* Thu Jun 03 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.4-1
+- Related: rhbz#1948974
+- Resolves: rhbz#1967485
+
+- New upstream release (rhbz#1948974)
+- stats: fix crash when iterating over deleted keys (rhbz#1967485)
+
+* Fri May 21 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.3-1
+- Resolves: rhbz#1948974
+
+- New upstream release
+
+* Wed Apr 21 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.2-1
+- Related: rhbz#1948974
+
+- New upstream release
+
+* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 3.1.1-2
+- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
+
+* Wed Mar 31 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.1-1
+- New upstream release
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Mon Nov 02 2020 Jan Friesse <jfriesse@redhat.com> - 3.1.0-2
+- Add isa version of corosync-devel
+- Add release to corosync-devel version to match autogenerated
+ corosynclib-devel provides
+
+* Tue Oct 20 2020 Jan Friesse <jfriesse@redhat.com> - 3.1.0-1
+- New upstream release
+
+* Thu Aug 27 2020 Josef Řídký <jridky@redhat.com> - 3.0.4-6
+- Rebuilt for new net-snmp release
+
+* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 3.0.4-4
+- Use make macros
+- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
+
+* Wed May 13 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.4-3
+- Fix typo in the changelog
+
+* Wed May 13 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.4-2
+- Rebuild for new libqb
+
+* Thu Apr 23 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.4-1
+- New upstream release
+
+* Fri Mar 27 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.3-3
+- Add CI tests
+- Enable gating
+
+* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Mon Nov 25 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.3-1
+- New upstream release
+
+* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Wed Jun 12 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.2-1
+- New upstream release
+
+* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Tue Jan 15 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.1-1
+- New upstream release
+
+* Fri Dec 14 2018 Jan Friesse <jfriesse@redhat.com> - 3.0.0-1
+- New upstream release
+
+* Fri Dec 7 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.5-1
+- New upstream release
+
+* Tue Dec 4 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.4-2
+- Add libknet1-crypto-nss-plugin dependency
+
+* Tue Nov 20 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.4-1
+- New upstream release
+
+* Thu Aug 16 2018 Jan Pokorný <jpokorny+rpm-corosync@redhat.com> - 2.99.3-3
+- Rebuild again, since the previous one was so unfortunate it got affected
+ with binutils (2.31.1-3.fc29) producing non-monotonically increasing
+ section offsets causing unprepared eu-strip to damage the binary
+ (related: rhbz#1609577)
+- Apply patch to prevent redundancy in systemd journal
+
+* Tue Jul 24 2018 Adam Williamson <awilliam@redhat.com> - 2.99.3-2
+- Rebuild for new net-snmp
+
+* Fri Jul 13 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.3-1
+- New upstream release
+
+* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.99.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Mon Apr 30 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.2-1
+- New upstream release
+
+* Fri Mar 16 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.1-1
+- New upstream release
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Fri Jan 19 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.4.3-2
+- Rebuild to fix upgradepath
+
+* Fri Oct 20 2017 Jan Friesse <jfriesse@redhat.com> - 2.4.3-1
+- New upstream release
+
+* Mon Oct 09 2017 Troy Dawson <tdawson@redhat.com> - 2.4.2-7
+- Cleanup spec file conditionals
+
+* Mon Oct 02 2017 Troy Dawson <tdawson@redhat.com> - 2.4.2-6
+- Bump to rebuild on newer binutils
+
+* Wed Aug 23 2017 Adam Williamson <awilliam@redhat.com> - 2.4.2-5
+- Disable RDMA on 32-bit ARM (#1484155)
+
+* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Nov 7 2016 Jan Friesse <jfriesse@redhat.com> - 2.4.2-1
+- New upstream release
+
+* Thu Aug 4 2016 Jan Friesse <jfriesse@redhat.com> - 2.4.1-1
+- New upstream release
+
+* Thu Jun 30 2016 Jan Friesse <jfriesse@redhat.com> - 2.4.0-1
+- New upstream release
+
+* Thu Jun 16 2016 Jan Friesse <jfriesse@redhat.com> - 2.3.6-1
+- New upstream release
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Jul 01 2015 Jan Friesse <jfriesse@redhat.com> - 2.3.5-1
+- New upstream release
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Tue Aug 26 2014 Jan Friesse <jfriesse@redhat.com> - 2.3.4-1
+- New upstream release
+
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Tue Jan 14 2014 Jan Friesse <jfriesse@redhat.com> - 2.3.3-1
+- New upstream release
+
+* Mon Sep 16 2013 Jan Friesse <jfriesse@redhat.com> - 2.3.2-1
+- New upstream release
+
+* Mon Aug 19 2013 Jan Friesse <jfriesse@redhat.com> 2.3.1-3
+- Resolves: rhbz#998362
+
+- Fix scheduler pause-detection timeout (rhbz#998362)
+- merge upstream commit 2740cfd1eac60714601c74df2137fe588b607866 (rhbz#998362)
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Wed Jul 10 2013 Jan Friesse <jfriesse@redhat.com> - 2.3.1-1
+- New upstream release
+- Fix incorrect dates in specfile changelog section
+
+* Mon Mar 25 2013 Jan Friesse <jfriesse@redhat.com> - 2.3.0-3
+- Resolves: rhbz#925185
+
+- Run autogen by default
+
+* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Fri Jan 18 2013 Jan Friesse <jfriesse@redhat.com> - 2.3.0-1
+- New upstream release
+
+* Wed Dec 12 2012 Jan Friesse <jfriesse@redhat.com> - 2.2.0-1
+- New upstream release
+
+* Thu Oct 11 2012 Jan Friesse <jfriesse@redhat.com> - 2.1.0-1
+- New upstream release
+
+* Fri Aug 3 2012 Steven Dake <sdake@redhat.com> - 2.0.1-3
+- add groff as a BuildRequires as it is no longer installed in the buildroot
+
+* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue May 22 2012 Jan Friesse <jfriesse@redhat.com> - 2.0.1-1
+- New upstream release
+
+* Tue Apr 17 2012 Fabio M. Di Nitto <fdinitto@redhat.com> - 2.0.0-2
+- Backport IPCS fix from master (ack by Steven)
+
+* Tue Apr 10 2012 Jan Friesse <jfriesse@redhat.com> - 2.0.0-1
+- New upstream release
+
+* Thu Apr 05 2012 Karsten Hopp <karsten@redhat.com> 1.99.9-1.1
+- bump release and rebuild on PPC
+
+* Tue Mar 27 2012 Jan Friesse <jfriesse@redhat.com> - 1.99.9-1
+- New upstream release
+
+* Fri Mar 16 2012 Jan Friesse <jfriesse@redhat.com> - 1.99.8-1
+- New upstream release
+
+* Tue Mar 6 2012 Jan Friesse <jfriesse@redhat.com> - 1.99.7-1
+- New upstream release
+
+* Tue Feb 28 2012 Jan Friesse <jfriesse@redhat.com> - 1.99.6-1
+- New upstream release
+
+* Wed Feb 22 2012 Jan Friesse <jfriesse@redhat.com> - 1.99.5-1
+- New upstream release
+
+* Tue Feb 14 2012 Jan Friesse <jfriesse@redhat.com> - 1.99.4-1
+- New upstream release
+
+* Tue Feb 14 2012 Jan Friesse <jfriesse@redhat.com> - 1.99.3-1
+- New upstream release
+
+* Tue Feb 7 2012 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.99.2-1
+- New upstream release
+- Re-enable xmlconfig bits
+- Ship cmap man pages
+- Add workaround to usrmove breakage!!
+
+* Thu Feb 2 2012 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.99.1-2
+- Add proper Obsoltes on openais/cman/clusterlib
+
+* Wed Feb 1 2012 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.99.1-1
+- New upstream release
+- Temporary disable xml config (broken upstream tarball)
+
+* Tue Jan 24 2012 Jan Friesse <jfriesse@redhat.com> - 1.99.0-1
+- New upstream release
+
+* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Thu Oct 06 2011 Jan Friesse <jfriesse@redhat.com> - 1.4.2-1
+- New upstream release
+
+* Thu Sep 08 2011 Jan Friesse <jfriesse@redhat.com> - 1.4.1-2
+- Add upstream fixes
+
+* Tue Jul 26 2011 Jan Friesse <jfriesse@redhat.com> - 1.4.1-1
+- New upstream release
+
+* Wed Jul 20 2011 Jan Friesse <jfriesse@redhat.com> - 1.4.0-2
+- Change attributes of cluster log directory
+
+* Tue Jul 19 2011 Jan Friesse <jfriesse@redhat.com> - 1.4.0-1
+- New upstream release
+- Resync spec file with upstream changes
+
+* Fri Jul 08 2011 Jan Friesse <jfriesse@redhat.com> - 1.3.2-1
+- New upstream release
+
+* Tue May 10 2011 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.3.1-1
+- New upstream release
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Thu Dec 2 2010 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.3.0-1
+- New upstream release
+- drop upstream patch revision-2770.patch now included in release
+- update spec file to ship corosync-blackbox
+
+* Thu Sep 2 2010 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.2.8-1
+- New upstream release
+
+* Thu Jul 29 2010 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.2.7-1
+- New upstream release
+
+* Fri Jul 9 2010 Dan Horák <dan[at]danny.cz> - 1.2.6-2
+- no InfiniBand stack on s390(x)
+
+* Mon Jul 5 2010 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.2.6-1
+- New upstream release
+- Resync spec file with upstream changes
+
+* Tue May 25 2010 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.2.3-1
+- New upstream release
+- Rediff revision 2770 patch
+
+* Mon May 17 2010 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.2.2-1
+- New upstream release
+- Add upstream trunk revision 2770 to add cpg_model_initialize api.
+- Fix URL and Source0 entries.
+- Add workaround to broken 1.2.2 Makefile with make -j.
+
+* Wed Mar 24 2010 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.2.1-1
+- New upstream release
+
+* Tue Dec 8 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.2.0-1
+- New upstream release
+- Use global instead of define
+- Update Source0 url
+- Use more name macro around
+- Cleanup install section. Init script is now installed by upstream
+- Cleanup whitespace
+- Don't deadlock between package upgrade and corosync condrestart
+- Ship service.d config directory
+- Fix Conflicts vs Requires
+- Ship new sam library and man pages
+
+* Fri Oct 23 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.1.2-1
+- New upstream release fixes major regression on specific loads
+
+* Wed Oct 21 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.1.1-1
+- New upstream release
+
+* Fri Sep 25 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.1.0-1
+- New upstream release
+- spec file updates:
+ * enable IB support
+ * explicitly define built-in features at configure time
+
+* Tue Sep 22 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.0.1-1
+- New upstream release
+- spec file updates:
+ * use proper configure macro
+
+* Tue Jul 28 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.0.0-3
+- spec file updates:
+ * more consistent use of macros across the board
+ * fix directory ownership
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Jul 8 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.0.0-1
+- New upstream release
+
+* Thu Jul 2 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.100-1
+- New upstream release
+
+* Sat Jun 20 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.98-1
+- New upstream release
+- spec file updates:
+ * Drop corosync-trunk patch and alpha tag.
+ * Fix alphatag vs buildtrunk handling.
+ * Drop requirement on ais user/group and stop creating them.
+ * New config file locations from upstream: /etc/corosync/corosync.conf.
+
+* Wed Jun 10 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.97-1.svn2233
+- spec file updates:
+ * Update to svn version 2233 to include library linking fixes
+
+* Wed Jun 10 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.97-1.svn2232
+- New upstream release
+- spec file updates:
+ * Drop pkgconfig fix that's now upstream
+ * Update to svn version 2232
+ * Define buildtrunk if we are using svn snapshots
+ * BuildRequires: nss-devel to enable nss crypto for network communication
+ * Force autogen invokation if buildtrunk is defined
+ * Whitespace cleanup
+ * Stop shipping corosync.conf in favour of a generic example
+ * Update file list
+
+* Mon Mar 30 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.95-2
+- Backport svn commit 1913 to fix pkgconfig files generation
+ and unbreak lvm2 build.
+
+* Tue Mar 24 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.95-1
+- New upstream release
+- spec file updates:
+ * Drop alpha tag
+ * Drop local patches (no longer required)
+ * Allow to build from svn trunk by supporting rpmbuild --with buildtrunk
+ * BuildRequires autoconf automake if building from trunk
+ * Execute autogen.sh if building from trunk and if no configure is available
+ * Switch to use rpm configure macro and set standard install paths
+ * Build invokation now supports _smp_mflags
+ * Remove install section for docs and use proper doc macro instead
+ * Add tree fixup bits to drop static libs and html docs (only for now)
+ * Add LICENSE file to all subpackages
+ * libraries have moved to libdir. Drop ld.so.conf.d corosync file
+ * Update BuildRoot usage to preferred versions/names
+
+* Tue Mar 10 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.94-5.svn1797
+- Update the corosync-trunk patch for real this time.
+
+* Tue Mar 10 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.94-4.svn1797
+- Import fixes from upstream:
+ * Cleanup logsys format init around to use default settings (1795)
+ * logsys_format_set should use its own internal copy of format_buffer (1796)
+ * Add logsys_format_get to logsys API (1797)
+- Cherry pick svn1807 to unbreak CPG.
+
+* Mon Mar 9 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.94-3.svn1794
+- Import fixes from upstream:
+ * Add reserve/release feature to totem message queue space (1793)
+ * Fix CG shutdown (1794)
+
+* Fri Mar 6 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.94-2.svn1792
+- Import fixes from upstream:
+ * Fix uninitialized memory. Spotted by valgrind (1788)
+ * Fix logsys_set_format by updating the right bits (1789)
+ * logsys: re-add support for timestamp (1790)
+ * Fix cpg crash (1791)
+ * Allow logsys_format_set to reset to default (1792)
+
+* Tue Mar 3 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.94-1
+- New upstream release.
+- Drop obsolete patches.
+- Add soname bump patch that was missing from upstream.
+
+* Wed Feb 25 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.93-4
+- Add Makefile fix to install all corosync tools (commit r1780)
+
+* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.93-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Mon Feb 23 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.93-2
+- Rename gcc-4.4 patch to match svn commit (r1767).
+- Backport patch from trunk (commit r1774) to fix quorum engine.
+
+* Thu Feb 19 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.93-1
+- New upstream release.
+- Drop alphatag from spec file.
+- Drop trunk patch.
+- Update Provides for corosynclib-devel.
+- Backport gcc-4.4 build fix from trunk.
+
+* Mon Feb 2 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.92-7.svn1756
+- Update to svn trunk at revision 1756 from upstream.
+- Add support pkgconfig to devel package.
+- Tidy up spec files by re-organazing sections according to packages.
+- Split libraries from corosync to corosynclib.
+- Rename corosync-devel to corosynclib-devel.
+- Comply with multiarch requirements (libraries).
+
+* Tue Jan 27 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.92-6.svn1750
+- Update to svn trunk at revision 1750 from upstream.
+- Include new quorum service in the packaging.
+
+* Mon Dec 15 2008 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.92-5.svn1709
+- Update to svn trunk at revision 1709 from upstream.
+- Update spec file to include new include files.
+
+* Wed Dec 10 2008 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.92-4.svn1707
+- Update to svn trunk at revision 1707 from upstream.
+- Update spec file to include new lcrso services and include file.
+
+* Mon Oct 13 2008 Dennis Gilmore <dennis@ausil.us> - 0.92-3
+- remove ExclusiveArch line
+
+* Wed Sep 24 2008 Steven Dake <sdake@redhat.com> - 0.92-2
+- Add conflicts for openais and openais-devel packages older then 0.90.
+
+* Wed Sep 24 2008 Steven Dake <sdake@redhat.com> - 0.92-1
+- New upstream release corosync-0.92.
+
+* Sun Aug 24 2008 Steven Dake <sdake@redhat.com> - 0.91-3
+- move logsys_overview.8.* to devel package.
+- move shared libs to main package.
+
+* Wed Aug 20 2008 Steven Dake <sdake@redhat.com> - 0.91-2
+- use /sbin/service instead of calling init script directly.
+- put corosync-objctl man page in the main package.
+- change all initrddir to initddir for fedora 10 guidelines.
+
+* Thu Aug 14 2008 Steven Dake <sdake@redhat.com> - 0.91-1
+- First upstream packaged version of corosync for rawhide review.
diff --git a/sources b/sources
new file mode 100644
index 0000000..e38ea68
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c79b8d13b2a6e6ad29b23869aedf18e4 corosync-3.1.8.tar.gz