Import from AlmaLinux stable repository

This commit is contained in:
eabdullin 2024-05-15 07:42:18 +00:00
parent 7052e1c115
commit 0ae9a3ea46
4 changed files with 21 additions and 56 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/libqb-2.0.6.tar.xz
SOURCES/libqb-2.0.8.tar.xz

View File

@ -1 +1 @@
a2983bcaf2d5d7faf780db9c964a149eeb5715c0 SOURCES/libqb-2.0.6.tar.xz
d15cae54508d05c4bf909724f442492a3788363f SOURCES/libqb-2.0.8.tar.xz

View File

@ -1,46 +0,0 @@
commit 5594d377ac73d37c06bbad1798e87a65f9a12e07
Author: Chrissie Caulfield <ccaulfie@redhat.com>
Date: Fri Nov 25 07:38:20 2022 +0000
ipc: Retry receiving credentials if the the message is short (#476)
ipc: Retry receiving credentials if the the message is short
rhbz#2111711 refers
diff --git a/lib/ipc_setup.c b/lib/ipc_setup.c
index 0ef9bb6..0de7115 100644
--- a/lib/ipc_setup.c
+++ b/lib/ipc_setup.c
@@ -473,11 +473,15 @@ qb_ipcc_us_setup_connect(struct qb_ipcc_connection *c,
return 0;
}
+#define AUTH_RECV_MAX_RETRIES 10
+#define AUTH_RECV_SLEEP_TIME_US 100
+
/* Called from ipcc_connect_continue() when async connect socket is active */
int qb_ipcc_setup_connect_continue(struct qb_ipcc_connection *c, struct qb_ipc_connection_response *r)
{
struct ipc_auth_data *data;
int32_t res;
+ int retry_count = 0;
#ifdef QB_LINUX
int off = 0;
#endif
@@ -486,8 +490,14 @@ int qb_ipcc_setup_connect_continue(struct qb_ipcc_connection *c, struct qb_ipc_c
qb_ipcc_us_sock_close(c->setup.u.us.sock);
return -ENOMEM;
}
-
+retry:
res = qb_ipc_us_recv_msghdr(data);
+ if (res == -EAGAIN && ++retry_count < AUTH_RECV_MAX_RETRIES) {
+ struct timespec ts = {0, AUTH_RECV_SLEEP_TIME_US*QB_TIME_NS_IN_USEC};
+ struct timespec ts_left = {0, 0};
+ nanosleep(&ts, &ts_left);
+ goto retry;
+ }
#ifdef QB_LINUX
setsockopt(c->setup.u.us.sock, SOL_SOCKET, SO_PASSCRED, &off,

View File

@ -2,15 +2,15 @@
%bcond_without testsrpm
Name: libqb
Version: 2.0.6
Release: 2%{?dist}
Version: 2.0.8
Release: 1%{?dist}
Summary: Library providing high performance logging, tracing, ipc, and poll
License: LGPLv2+
URL: https://github.com/ClusterLabs/libqb
Source0: https://github.com/ClusterLabs/libqb/releases/download/v%{version}/%{name}-%{version}.tar.xz
Patch0: bz2149647-connretry-recv.patch
#Patch0: bz2149647-connretry-recv.patch
BuildRequires: autoconf automake libtool
BuildRequires: check-devel
@ -31,8 +31,7 @@ architecture, such as logging, tracing, inter-process communication (IPC),
and polling.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .bz2149647-connretry-recv.patch
%autosetup -p1
%build
./autogen.sh
@ -105,9 +104,21 @@ This package contains a program to create nicely-formatted man pages from Doxyge
%changelog
* Mon Dec 12 2022 Christine Caulfield <ccaulfie@redhat.com> 2.0.6-2
ipc: Retry receiving credentials if the the message is short
Resolves: rhbz#2151305
* Wed Oct 4 2023 Christine Caulfield <ccaulfie@redhat.com> 2.0.8-1
- Rebase to 2.0.8
Resolves: rhbz#2223950
* Fri Sep 8 2023 Christine Caulfield <ccaulfie@redhat.com> 2.0.6-4
- bump rpm version for rhel-exception build
Resolves: rhbz#2230712
* Fri Sep 1 2023 Christine Caulfield <ccaulfie@redhat.com> 2.0.6-3
- blackbox: fix buffer overflow with long log lines
Resolves: rhbz#2236171
* Thu Dec 1 2022 Christine Caulfield <ccaulfie@redhat.com> 2.0.6-1
- ipc: Retry receiving credentials if the the message is short
Resolves: rhbz2149647
* Wed Apr 20 2022 Christine Caulfield <ccaulfie@redhat.com> 2.0.6-1
- Rebase to 2.0.6