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
%bcond_without userflags
%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
Summary: The Corosync Cluster Engine Qdevice
Version: 3.0.2
Release: 2%{?gitver}%{?dist}
License: BSD
Version: 3.0.4
Release: 1%{?gitver}%{?dist}
License: BSD-3-Clause
URL: https://github.com/corosync/corosync-qdevice
Source0: https://github.com/corosync/corosync-qdevice/releases/download/v%{version}%{?gittarver}/%{name}-%{version}%{?gittarver}.tar.gz
Patch0: bz2181322-1-qdevice-Destroy-non-blocking-client-on-failure.patch
Source0: https://github.com/corosync/corosync-qdevice/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: corosync-qnetd.sysusers.conf
# Runtime bits
Requires: corosync >= 2.4.0
Requires: corosynclib >= 2.4.0
Requires: nss-tools
%if %{with systemd}
%{?systemd_requires}
BuildRequires: systemd
BuildRequires: systemd-devel
%else
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
%endif
# Build bits
BuildRequires: gcc
@ -43,11 +33,12 @@ BuildRequires: nss-devel
%if %{with runautogen}
BuildRequires: autoconf automake libtool
%endif
BuildRequires: make
BuildRequires: git
BuildRequires: systemd-rpm-macros
%prep
%setup -q -n %{name}-%{version}%{?gittarver}
%patch0 -p1 -b .bz2181322-1
%autosetup -S git_am
%build
%if %{with runautogen}
@ -58,19 +49,17 @@ BuildRequires: autoconf automake libtool
%if %{with userflags}
--enable-user-flags \
%endif
%if %{with systemd}
--enable-systemd \
%endif
--enable-qdevices \
--enable-qnetd \
--with-initddir=%{_initrddir} \
--with-systemddir=%{_unitdir} \
--docdir=%{_docdir}
make %{_smp_mflags}
%make_build
%install
make install DESTDIR=%{buildroot}
%make_install
## tree fixup
# 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 \
%{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd
%if %{with systemd}
sed -i -e 's/^#User=/User=/' \
%{buildroot}%{_unitdir}/corosync-qnetd.service
%else
sed -i -e 's/^COROSYNC_QNETD_RUNAS=""$/COROSYNC_QNETD_RUNAS="coroqnetd"/' \
%{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd
%endif
install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/corosync-qnetd.conf
%description
This package contains the Corosync Cluster Engine Qdevice, script for creating
NSS certificates and an init script.
%post
%if %{with systemd} && 0%{?systemd_post:1}
%systemd_post corosync-qdevice.service
%else
if [ $1 -eq 1 ]; then
/sbin/chkconfig --add corosync-qdevice || :
fi
%endif
%preun
%if %{with systemd} && 0%{?systemd_preun:1}
%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
%if %{with systemd} && 0%{?systemd_postun:1}
%systemd_postun corosync-qdevice.service
%endif
%files
%license LICENSE
@ -128,11 +99,7 @@ fi
%{_sbindir}/corosync-qdevice-net-certutil
%{_sbindir}/corosync-qdevice-tool
%config(noreplace) %{_sysconfdir}/sysconfig/corosync-qdevice
%if %{with systemd}
%{_unitdir}/corosync-qdevice.service
%else
%{_initrddir}/corosync-qdevice
%endif
%{_mandir}/man8/corosync-qdevice-tool.8*
%{_mandir}/man8/corosync-qdevice-net-certutil.8*
%{_mandir}/man8/corosync-qdevice.8*
@ -152,45 +119,26 @@ The Corosync Cluster Engine Qdevice
%package -n corosync-qnetd
Summary: The Corosync Cluster Engine Qdevice Network Daemon
Requires: nss-tools
Requires(pre): shadow-utils
%if %{with systemd}
%{?systemd_requires}
%endif
%{?sysusers_requires_compat}
%description -n corosync-qnetd
This package contains the Corosync Cluster Engine Qdevice Network Daemon,
script for creating NSS certificates and an init script.
%pre -n corosync-qnetd
getent group coroqnetd >/dev/null || groupadd -r coroqnetd
getent passwd coroqnetd >/dev/null || \
useradd -r -g coroqnetd -d / -s /sbin/nologin -c "User for corosync-qnetd" coroqnetd
exit 0
%sysusers_create_compat %{SOURCE1}
%post -n corosync-qnetd
%if %{with systemd} && 0%{?systemd_post:1}
%systemd_post corosync-qnetd.service
%else
if [ $1 -eq 1 ]; then
/sbin/chkconfig --add corosync-qnetd || :
fi
%endif
%preun -n corosync-qnetd
%if %{with systemd} && 0%{?systemd_preun:1}
%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
%if %{with systemd} && 0%{?systemd_postun:1}
%systemd_postun corosync-qnetd.service
%endif
%files -n corosync-qnetd
%license LICENSE
@ -200,75 +148,94 @@ fi
%{_bindir}/corosync-qnetd-certutil
%{_bindir}/corosync-qnetd-tool
%config(noreplace) %{_sysconfdir}/sysconfig/corosync-qnetd
%if %{with systemd}
%{_unitdir}/corosync-qnetd.service
%else
%{_initrddir}/corosync-qnetd
%endif
%{_mandir}/man8/corosync-qnetd-tool.8*
%{_mandir}/man8/corosync-qnetd-certutil.8*
%{_mandir}/man8/corosync-qnetd.8*
%{_sysusersdir}/corosync-qnetd.conf
%changelog
* Thu Mar 23 2023 Jan Friesse <jfriesse@redhat.com> - 3.0.2-2
- Resolves: rhbz#2181322
* Tue Nov 25 2025 Jan Friesse <jfriesse@redhat.com> - 3.0.4-1
- Resolves: RHEL-123650
- Resolves: RHEL-67471
- qdevice: Destroy non blocking client on failure (rhbz#2181322)
- merge upstream commit 4331c7d5650a8bf44c16512419f1954d0ef96df5 (rhbz#2181322)
- New upstream release (RHEL-123650)
- 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
- Resolves: rhbz#2135862
- Resolves: rhbz#2135863
- 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
- Resolves: rhbz#1752386
- Resolves: rhbz#1879351
- New upstream release
* Fri Apr 24 2020 Jan Friesse <jfriesse@redhat.com> 3.0.0-4
- Resolves: rhbz#1827256
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-10
- 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
- Related: rhbz#1682124
* Wed May 13 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.0-8
- 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
- Resolves: rhbz#1600919
* Thu Mar 26 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.0-6
- 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
- Resolves: rhbz#1600919
- New upstream release
* Fri Nov 23 2018 Jan Friesse <jfriesse@redhat.com> - 2.93.0-1
- Related: rhbz#1600919
- 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
- New upstream release
* Mon Jul 30 2018 Florian Weimer <fweimer@redhat.com> - 2.91.0-2
- Rebuild with fixed binutils
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.91.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Apr 27 2018 Jan Friesse <jfriesse@redhat.com> - 2.91.0-1
- 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
- Rebuild for new Corosync