Compare commits

...

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

5 changed files with 73 additions and 145 deletions

View File

@ -0,0 +1 @@
3a585369099f1213714c5f4cb1962624285c50fd SOURCES/corosync-qdevice-3.0.4.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/corosync-qdevice-3.0.2.tar.gz SOURCES/corosync-qdevice-3.0.4.tar.gz

View File

@ -1,41 +0,0 @@
From 4331c7d5650a8bf44c16512419f1954d0ef96df5 Mon Sep 17 00:00:00 2001
From: Jan Friesse <jfriesse@redhat.com>
Date: Mon, 20 Mar 2023 11:01:46 +0100
Subject: [PATCH] qdevice: Destroy non blocking client on failure
This fixes regression introduced in patch
8217e33e86bca79dc307e112f0c0c4a278f9a568 which made qdevice assert when
PR_GetError in nss_sock_non_blocking_client_try_next called by
qdevice_model_net_pre_poll_loop returns error other than
PR_IN_PROGRESS_ERROR. This is usually not happening - only way to get
such error seems to be to ifdown ALL network interfaces other than
loopback and returned error is then PR_NETWORK_UNREACHABLE_ERROR
(-5980).
Fix is rather simple (and present in pre
8217e33e86bca79dc307e112f0c0c4a278f9a568) - just call
nss_sock_non_blocking_client_destroy.
Signed-off-by: Jan Friesse <jfriesse@redhat.com>
---
qdevices/qdevice-model-net.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/qdevices/qdevice-model-net.c b/qdevices/qdevice-model-net.c
index afcc649..f63e4bd 100644
--- a/qdevices/qdevice-model-net.c
+++ b/qdevices/qdevice-model-net.c
@@ -211,6 +211,10 @@ qdevice_model_net_pre_poll_loop(struct qdevice_instance *instance)
res = nss_sock_non_blocking_client_try_next(&net_instance->non_blocking_client);
if (res == -1) {
log_nss(LOG_ERR, "Can't connect to qnetd host");
+ /*
+ * To prevent adding non_blocking_client into loop but still keep loop running
+ */
+ nss_sock_non_blocking_client_destroy(&net_instance->non_blocking_client);
}
res = qdevice_net_socket_add_to_main_poll_loop(net_instance);
--
2.39.1

View File

@ -0,0 +1 @@
u coroqnetd - 'User for corosync-qnetd' - -

View File

@ -3,34 +3,24 @@
# to disable or enable specific features # to disable or enable specific features
%bcond_without userflags %bcond_without userflags
%bcond_with runautogen %bcond_with runautogen
%bcond_without systemd
%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}
%global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
Name: corosync-qdevice Name: corosync-qdevice
Summary: The Corosync Cluster Engine Qdevice Summary: The Corosync Cluster Engine Qdevice
Version: 3.0.2 Version: 3.0.4
Release: 2%{?gitver}%{?dist} Release: 1%{?gitver}%{?dist}
License: BSD License: BSD-3-Clause
URL: https://github.com/corosync/corosync-qdevice URL: https://github.com/corosync/corosync-qdevice
Source0: https://github.com/corosync/corosync-qdevice/releases/download/v%{version}%{?gittarver}/%{name}-%{version}%{?gittarver}.tar.gz Source0: https://github.com/corosync/corosync-qdevice/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: corosync-qnetd.sysusers.conf
Patch0: bz2181322-1-qdevice-Destroy-non-blocking-client-on-failure.patch
# Runtime bits # Runtime bits
Requires: corosync >= 2.4.0 Requires: corosync >= 2.4.0
Requires: corosynclib >= 2.4.0 Requires: corosynclib >= 2.4.0
Requires: nss-tools Requires: nss-tools
%if %{with systemd}
%{?systemd_requires} %{?systemd_requires}
BuildRequires: systemd BuildRequires: systemd
BuildRequires: systemd-devel BuildRequires: systemd-devel
%else
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
%endif
# Build bits # Build bits
BuildRequires: gcc BuildRequires: gcc
@ -43,11 +33,12 @@ BuildRequires: nss-devel
%if %{with runautogen} %if %{with runautogen}
BuildRequires: autoconf automake libtool BuildRequires: autoconf automake libtool
%endif %endif
BuildRequires: make
BuildRequires: git
BuildRequires: systemd-rpm-macros
%prep %prep
%setup -q -n %{name}-%{version}%{?gittarver} %autosetup -S git_am
%patch0 -p1 -b .bz2181322-1
%build %build
%if %{with runautogen} %if %{with runautogen}
@ -58,19 +49,17 @@ BuildRequires: autoconf automake libtool
%if %{with userflags} %if %{with userflags}
--enable-user-flags \ --enable-user-flags \
%endif %endif
%if %{with systemd}
--enable-systemd \ --enable-systemd \
%endif
--enable-qdevices \ --enable-qdevices \
--enable-qnetd \ --enable-qnetd \
--with-initddir=%{_initrddir} \ --with-initddir=%{_initrddir} \
--with-systemddir=%{_unitdir} \ --with-systemddir=%{_unitdir} \
--docdir=%{_docdir} --docdir=%{_docdir}
make %{_smp_mflags} %make_build
%install %install
make install DESTDIR=%{buildroot} %make_install
## tree fixup ## tree fixup
# drop docs and html docs for now # drop docs and html docs for now
@ -83,41 +72,23 @@ install -p -m 644 init/corosync-qdevice.sysconfig.example \
install -p -m 644 init/corosync-qnetd.sysconfig.example \ install -p -m 644 init/corosync-qnetd.sysconfig.example \
%{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd %{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd
%if %{with systemd}
sed -i -e 's/^#User=/User=/' \ sed -i -e 's/^#User=/User=/' \
%{buildroot}%{_unitdir}/corosync-qnetd.service %{buildroot}%{_unitdir}/corosync-qnetd.service
%else
sed -i -e 's/^COROSYNC_QNETD_RUNAS=""$/COROSYNC_QNETD_RUNAS="coroqnetd"/' \ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/corosync-qnetd.conf
%{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd
%endif
%description %description
This package contains the Corosync Cluster Engine Qdevice, script for creating This package contains the Corosync Cluster Engine Qdevice, script for creating
NSS certificates and an init script. NSS certificates and an init script.
%post %post
%if %{with systemd} && 0%{?systemd_post:1}
%systemd_post corosync-qdevice.service %systemd_post corosync-qdevice.service
%else
if [ $1 -eq 1 ]; then
/sbin/chkconfig --add corosync-qdevice || :
fi
%endif
%preun %preun
%if %{with systemd} && 0%{?systemd_preun:1}
%systemd_preun corosync-qdevice.service %systemd_preun corosync-qdevice.service
%else
if [ $1 -eq 0 ]; then
/sbin/service corosync-qdevice stop &>/dev/null || :
/sbin/chkconfig --del corosync-qdevice || :
fi
%endif
%postun %postun
%if %{with systemd} && 0%{?systemd_postun:1}
%systemd_postun corosync-qdevice.service %systemd_postun corosync-qdevice.service
%endif
%files %files
%license LICENSE %license LICENSE
@ -128,11 +99,7 @@ fi
%{_sbindir}/corosync-qdevice-net-certutil %{_sbindir}/corosync-qdevice-net-certutil
%{_sbindir}/corosync-qdevice-tool %{_sbindir}/corosync-qdevice-tool
%config(noreplace) %{_sysconfdir}/sysconfig/corosync-qdevice %config(noreplace) %{_sysconfdir}/sysconfig/corosync-qdevice
%if %{with systemd}
%{_unitdir}/corosync-qdevice.service %{_unitdir}/corosync-qdevice.service
%else
%{_initrddir}/corosync-qdevice
%endif
%{_mandir}/man8/corosync-qdevice-tool.8* %{_mandir}/man8/corosync-qdevice-tool.8*
%{_mandir}/man8/corosync-qdevice-net-certutil.8* %{_mandir}/man8/corosync-qdevice-net-certutil.8*
%{_mandir}/man8/corosync-qdevice.8* %{_mandir}/man8/corosync-qdevice.8*
@ -152,45 +119,26 @@ The Corosync Cluster Engine Qdevice
%package -n corosync-qnetd %package -n corosync-qnetd
Summary: The Corosync Cluster Engine Qdevice Network Daemon Summary: The Corosync Cluster Engine Qdevice Network Daemon
Requires: nss-tools Requires: nss-tools
Requires(pre): shadow-utils
%if %{with systemd}
%{?systemd_requires} %{?systemd_requires}
%endif
%{?sysusers_requires_compat}
%description -n corosync-qnetd %description -n corosync-qnetd
This package contains the Corosync Cluster Engine Qdevice Network Daemon, This package contains the Corosync Cluster Engine Qdevice Network Daemon,
script for creating NSS certificates and an init script. script for creating NSS certificates and an init script.
%pre -n corosync-qnetd %pre -n corosync-qnetd
getent group coroqnetd >/dev/null || groupadd -r coroqnetd %sysusers_create_compat %{SOURCE1}
getent passwd coroqnetd >/dev/null || \
useradd -r -g coroqnetd -d / -s /sbin/nologin -c "User for corosync-qnetd" coroqnetd
exit 0
%post -n corosync-qnetd %post -n corosync-qnetd
%if %{with systemd} && 0%{?systemd_post:1}
%systemd_post corosync-qnetd.service %systemd_post corosync-qnetd.service
%else
if [ $1 -eq 1 ]; then
/sbin/chkconfig --add corosync-qnetd || :
fi
%endif
%preun -n corosync-qnetd %preun -n corosync-qnetd
%if %{with systemd} && 0%{?systemd_preun:1}
%systemd_preun corosync-qnetd.service %systemd_preun corosync-qnetd.service
%else
if [ $1 -eq 0 ]; then
/sbin/service corosync-qnetd stop &>/dev/null || :
/sbin/chkconfig --del corosync-qnetd || :
fi
%endif
%postun -n corosync-qnetd %postun -n corosync-qnetd
%if %{with systemd} && 0%{?systemd_postun:1}
%systemd_postun corosync-qnetd.service %systemd_postun corosync-qnetd.service
%endif
%files -n corosync-qnetd %files -n corosync-qnetd
%license LICENSE %license LICENSE
@ -200,75 +148,94 @@ fi
%{_bindir}/corosync-qnetd-certutil %{_bindir}/corosync-qnetd-certutil
%{_bindir}/corosync-qnetd-tool %{_bindir}/corosync-qnetd-tool
%config(noreplace) %{_sysconfdir}/sysconfig/corosync-qnetd %config(noreplace) %{_sysconfdir}/sysconfig/corosync-qnetd
%if %{with systemd}
%{_unitdir}/corosync-qnetd.service %{_unitdir}/corosync-qnetd.service
%else
%{_initrddir}/corosync-qnetd
%endif
%{_mandir}/man8/corosync-qnetd-tool.8* %{_mandir}/man8/corosync-qnetd-tool.8*
%{_mandir}/man8/corosync-qnetd-certutil.8* %{_mandir}/man8/corosync-qnetd-certutil.8*
%{_mandir}/man8/corosync-qnetd.8* %{_mandir}/man8/corosync-qnetd.8*
%{_sysusersdir}/corosync-qnetd.conf
%changelog %changelog
* Thu Mar 23 2023 Jan Friesse <jfriesse@redhat.com> - 3.0.2-2 * Tue Nov 25 2025 Jan Friesse <jfriesse@redhat.com> - 3.0.4-1
- Resolves: rhbz#2181322 - Resolves: RHEL-123650
- Resolves: RHEL-67471
- qdevice: Destroy non blocking client on failure (rhbz#2181322) - New upstream release (RHEL-123650)
- merge upstream commit 4331c7d5650a8bf44c16512419f1954d0ef96df5 (rhbz#2181322) - Support for running corosync-qnetd-tool and corosync-qdevice-tool
as a non-root user (RHEL-67471)
* Tue Feb 18 2025 Jan Friesse <jfriesse@redhat.com> - 3.0.2-3
- Resolves: RHEL-7637
- Add support for sysusers.d functionality (RHEL-7637)
* Thu Mar 23 2023 Jan Friesse <jfriesse@redhat.com> - 3.0.2-2
- Resolves: rhbz#2180045
- qdevice: Destroy non blocking client on failure (rhbz#2180045)
- merge upstream commit 4331c7d5650a8bf44c16512419f1954d0ef96df5 (rhbz#2180045)
* Thu Nov 03 2022 Jan Friesse <jfriesse@redhat.com> - 3.0.2-1 * Thu Nov 03 2022 Jan Friesse <jfriesse@redhat.com> - 3.0.2-1
- Resolves: rhbz#2135862 - Resolves: rhbz#2135863
- New upstream release - New upstream release
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.1-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.1-3
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Nov 23 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.1-1 * Mon Nov 23 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.1-1
- Resolves: rhbz#1752386
- Resolves: rhbz#1879351
- New upstream release - New upstream release
* Fri Apr 24 2020 Jan Friesse <jfriesse@redhat.com> 3.0.0-4 * Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-10
- Resolves: rhbz#1827256 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
- Add explicit corosync-qdevice and corosync-qnetd dependency for revdeps CI test * Wed Jul 22 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.0-9
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Mon May 13 2019 Jan Friesse <jfriesse@redhat.com> 3.0.0-3 * Wed May 13 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.0-8
- Related: rhbz#1682124 - Really rebuild for the new libqb
- Add gating tests * Wed May 13 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.0-7
- Rebuild for new libqb
* Wed Dec 12 2018 Jan Friesse <jfriesse@redhat.com> - 3.0.0-2 * Thu Mar 26 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.0-6
- Resolves: rhbz#1600919 - Add CI tests
- Enable gating
- Fix spec file 2.93.0-1 entry removal * Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Mar 20 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.0-3
- Add license and use install -p
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Dec 12 2018 Jan Friesse <jfriesse@redhat.com> - 3.0.0-1 * Wed Dec 12 2018 Jan Friesse <jfriesse@redhat.com> - 3.0.0-1
- Resolves: rhbz#1600919
- New upstream release - New upstream release
* Fri Nov 23 2018 Jan Friesse <jfriesse@redhat.com> - 2.93.0-1 * Fri Nov 23 2018 Jan Friesse <jfriesse@redhat.com> - 2.93.0-1
- Related: rhbz#1600919
- New upstream release - New upstream release
* Tue Sep 18 2018 Jan Friesse <jfriesse@redhat.com> 2.92.0-2
- Related: rhbz#1615945
- Rebuild for new LibQB
* Thu Aug 09 2018 Jan Friesse <jfriesse@redhat.com> - 2.92.0-1 * Thu Aug 09 2018 Jan Friesse <jfriesse@redhat.com> - 2.92.0-1
- New upstream release - New upstream release
* Mon Jul 30 2018 Florian Weimer <fweimer@redhat.com> - 2.91.0-2 * Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.91.0-2
- Rebuild with fixed binutils - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Apr 27 2018 Jan Friesse <jfriesse@redhat.com> - 2.91.0-1 * Fri Apr 27 2018 Jan Friesse <jfriesse@redhat.com> - 2.91.0-1
- New upstream release - New upstream release
* Fri Apr 06 2018 Jan Friesse <jfriesse@redhat.com> - 2.90.0-5
- Import from Fedora
* Thu Mar 22 2018 Jan Friesse <jfriesse@redhat.com> - 2.90.0-4 * Thu Mar 22 2018 Jan Friesse <jfriesse@redhat.com> - 2.90.0-4
- Rebuild for new Corosync - Rebuild for new Corosync