Only set TCP_NODELAY if the protocol is TCP
authorMatt Caswell <matt@openssl.org>
Tue, 29 May 2018 14:58:47 +0000 (15:58 +0100)
committerMatt Caswell <matt@openssl.org>
Thu, 31 May 2018 09:39:13 +0000 (10:39 +0100)
This doesn't apply if we're doing DTLS, or using UNIX domain sockets.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6373)

apps/s_socket.c

index f4264cd9ff24193b2c4e32eec30491098caa2e6e..76f9289002076254ad84be0f863498d4297c84ee 100644 (file)
@@ -147,7 +147,7 @@ int init_client(int *sock, const char *host, const char *port,
 #endif
 
         if (!BIO_connect(*sock, BIO_ADDRINFO_address(ai),
 #endif
 
         if (!BIO_connect(*sock, BIO_ADDRINFO_address(ai),
-                         type == SOCK_STREAM ? BIO_SOCK_NODELAY : 0)) {
+                         protocol == IPPROTO_TCP ? BIO_SOCK_NODELAY : 0)) {
             BIO_closesocket(*sock);
             *sock = INVALID_SOCKET;
             continue;
             BIO_closesocket(*sock);
             *sock = INVALID_SOCKET;
             continue;