]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix minor issues in the demo/man pages for TLS client/blocking
authorMatt Caswell <matt@openssl.org>
Wed, 7 Jun 2023 15:26:58 +0000 (16:26 +0100)
committerPauli <pauli@openssl.org>
Wed, 14 Jun 2023 03:08:37 +0000 (13:08 +1000)
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21133)

demos/guide/tls-client-block.c
doc/man7/ossl-guide-tls-client-block.pod

index 56133aab64bfc0ed41507ce11606544bb0da792d..ef8248c73481685b33745a4aac4d721ca9a121e0 100644 (file)
@@ -37,10 +37,8 @@ static BIO *create_socket_bio(const char *hostname, const char *port)
      * Lookup IP address info for the server.
      */
     if (!BIO_lookup_ex(hostname, port, BIO_LOOKUP_CLIENT, 0, SOCK_STREAM, 0,
-                       &res)) {
-        BIO_closesocket(sock);
+                       &res))
         return NULL;
-    }
 
     /*
      * Loop through all the possible addresses for the server and find one
index 30832c5b20227a9951ff1bf759bb9fe3bf46572b..aab5533f5e5e60fe70c7dd3251943a906e989bfa 100644 (file)
@@ -166,16 +166,16 @@ provide the POSIX compatible I<connect> function. For example:
 OpenSSL provides portable helper functions to do these tasks which also
 integrate into the OpenSSL error system to log error data, e.g.
 
-   BIO_ADDRINFO *ai = NULL;
+    int sock = -1;
+    BIO_ADDRINFO *res;
+    const BIO_ADDRINFO *ai = NULL;
 
     /*
      * Lookup IP address info for the server.
      */
     if (!BIO_lookup_ex(hostname, port, BIO_LOOKUP_CLIENT, 0, SOCK_STREAM, 0,
-                       &res)) {
-        BIO_closesocket(sock);
+                       &res))
         return NULL;
-    }
 
     /*
      * Loop through all the possible addresses for the server and find one
@@ -199,6 +199,9 @@ integrate into the OpenSSL error system to log error data, e.g.
             sock = -1;
             continue;
         }
+
+        /* We have a connected socket so break out of the loop */
+        break;
     }
 
     /* Free the address information resources we allocated earlier */
@@ -342,7 +345,8 @@ data from the server we use the L<SSL_read_ex(3)> function. In HTTP 1.0 the
 client always writes data first.
 
     size_t written;
-    const char *request = "GET / HTTP/1.0\r\nHost: "HOSTNAME"\r\n\r\n";
+    const char *request =
+        "GET / HTTP/1.0\r\nConnection: close\r\nHost: "HOSTNAME"\r\n\r\n";
 
     /* Write an HTTP GET request to the peer */
     if (!SSL_write_ex(ssl, request, strlen(request), &written)) {