34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
From 3aeed22c593ae036c2503ac07276768c82fe5782 Mon Sep 17 00:00:00 2001
|
|
From: Todd Short <todd.short@me.com>
|
|
Date: Tue, 8 Mar 2022 09:36:43 -0500
|
|
Subject: [PATCH] Set protocol in init_client()
|
|
|
|
If TCP is being used, protocol = 0 is passed to init_client(), then
|
|
protocol == IPPROTO_TCP fails when attempting to set BIO_SOCK_NODELAY.
|
|
|
|
Reviewed-by: Tomas Mraz <tomas@openssl.org>
|
|
Reviewed-by: Tim Hudson <tjh@openssl.org>
|
|
(Merged from https://github.com/openssl/openssl/pull/17838)
|
|
|
|
(cherry picked from commit 54b6755702309487ea860e1cc3e60ccef4cf7878)
|
|
---
|
|
apps/s_socket.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/apps/s_socket.c b/apps/s_socket.c
|
|
index aee366d5f4..a518d56200 100644
|
|
--- a/apps/s_socket.c
|
|
+++ b/apps/s_socket.c
|
|
@@ -147,7 +147,7 @@ int init_client(int *sock, const char *host, const char *port,
|
|
#endif
|
|
|
|
if (!BIO_connect(*sock, BIO_ADDRINFO_address(ai),
|
|
- protocol == IPPROTO_TCP ? BIO_SOCK_NODELAY : 0)) {
|
|
+ BIO_ADDRINFO_protocol(ai) == IPPROTO_TCP ? BIO_SOCK_NODELAY : 0)) {
|
|
BIO_closesocket(*sock);
|
|
*sock = INVALID_SOCKET;
|
|
continue;
|
|
--
|
|
2.17.1
|
|
|