Don't assert protocol equality
authorRichard Levitte <levitte@openssl.org>
Wed, 10 Feb 2016 19:23:40 +0000 (20:23 +0100)
committerRichard Levitte <levitte@openssl.org>
Wed, 10 Feb 2016 19:35:02 +0000 (20:35 +0100)
It seems that some platforms' getaddrinfo don't fill in the
ai_protocol field properly.  On those, the assertion
'protocol == BIO_ADDRINFO_protocol(res)' will fail.  Best to remove
it.

Reviewed-by: Kurt Roeckx <kurt@openssl.org>
apps/s_socket.c

index b816cee..e345913 100644 (file)
@@ -176,8 +176,7 @@ int init_client(int *sock, const char *host, const char *port,
            not get anything in the BIO_ADDRINFO chain that we haven't
            asked for */
         OPENSSL_assert((family == AF_UNSPEC || family == BIO_ADDRINFO_family(res))
-                       && (type == 0 || type == BIO_ADDRINFO_socktype(res))
-                       && (protocol == BIO_ADDRINFO_protocol(res)));
+                       && (type == 0 || type == BIO_ADDRINFO_socktype(res)));
 
         *sock = BIO_socket(BIO_ADDRINFO_family(ai), BIO_ADDRINFO_socktype(ai),
                            BIO_ADDRINFO_protocol(ai), 0);
@@ -255,8 +254,7 @@ int do_server(int *accept_sock, const char *host, const char *port,
        not get anything in the BIO_ADDRINFO chain that we haven't
        asked for */
     OPENSSL_assert((family == AF_UNSPEC || family == BIO_ADDRINFO_family(res))
-                   && (type == 0 || type == BIO_ADDRINFO_socktype(res))
-                   && (protocol == BIO_ADDRINFO_protocol(res)));
+                   && (type == 0 || type == BIO_ADDRINFO_socktype(res)));
 
     asock = BIO_socket(BIO_ADDRINFO_family(res), BIO_ADDRINFO_socktype(res),
                        BIO_ADDRINFO_protocol(res), 0);