sssd/0001-SSS_CLIENT-got-rid-of-...

50 lines
1.7 KiB
Diff

From e47f143bcb86d04aa053c17373f9d9991fc63913 Mon Sep 17 00:00:00 2001
From: Alexey Tikhonov <atikhono@redhat.com>
Date: Mon, 14 Oct 2019 11:38:06 +0200
Subject: [PATCH] SSS_CLIENT: got rid of using PRNG
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1) no reason to expect "thundering herd issue"
2) randomization as it was done (strictly 1 or 2 secs)
would not help much anyway
3) usage of PRNG might break app that depends on deterministic
PRNG behaviour
Resolves: https://pagure.io/SSSD/sssd/issue/4094
Reviewed-by: Michal Židek <mzidek@redhat.com>
---
src/sss_client/common.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/sss_client/common.c b/src/sss_client/common.c
index 930efe4a1..270ca8b54 100644
--- a/src/sss_client/common.c
+++ b/src/sss_client/common.c
@@ -566,11 +566,6 @@ static int sss_cli_open_socket(int *errnop, const char *socket_name, int timeout
/* this piece is adapted from winbind client code */
wait_time = 0;
sleep_time = 0;
- /* This is not security relevant functionality and
- * it is undesirable to pull unnecessary dependency (util/crypto)
- * so plain srand() & rand() are used here.
- */
- srand(time(NULL) * getpid());
while (inprogress) {
int connect_errno = 0;
socklen_t errnosize;
@@ -605,7 +600,7 @@ static int sss_cli_open_socket(int *errnop, const char *socket_name, int timeout
break;
case EAGAIN:
if (wait_time < timeout) {
- sleep_time = rand() % 2 + 1;
+ sleep_time = 1;
sleep(sleep_time);
}
break;
--
2.23.0