Commit 8731a4fc authored by Rich Salz's avatar Rich Salz Committed by Rich Salz
Browse files

ISSUE 43: Add BIO_sock_shutdown



This replaces SHUTDOWN/SHUTDOWN2 with BIO_closesocket.

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
parent 2b2b9684
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -1735,7 +1735,7 @@ int s_client_main(int argc, char **argv)
    if (init_client(&s, host, port, socket_family, socket_type) == 0)
    {
        BIO_printf(bio_err, "connect:errno=%d\n", get_last_socket_error());
        SHUTDOWN(s);
        BIO_closesocket(s);
        goto end;
    }
    BIO_printf(bio_c_out, "CONNECTED(%08X)\n", s);
@@ -1753,7 +1753,7 @@ int s_client_main(int argc, char **argv)
        if (getsockname(s, &peer, (void *)&peerlen) < 0) {
            BIO_printf(bio_err, "getsockname:errno=%d\n",
                       get_last_socket_error());
            SHUTDOWN(s);
            BIO_closesocket(s);
            goto end;
        }

@@ -2135,7 +2135,7 @@ int s_client_main(int argc, char **argv)
                               "drop connection and then reconnect\n");
                    do_ssl_shutdown(con);
                    SSL_set_connect_state(con);
                    SHUTDOWN(SSL_get_fd(con));
                    BIO_closesocket(SSL_get_fd(con));
                    goto re_start;
                }
            }
@@ -2452,7 +2452,7 @@ int s_client_main(int argc, char **argv)
    if (in_init)
        print_stuff(bio_c_out, con, full_log);
    do_ssl_shutdown(con);
    SHUTDOWN(SSL_get_fd(con));
    BIO_closesocket(SSL_get_fd(con));
 end:
    if (con != NULL) {
        if (prexit != 0)
+3 −3
Original line number Diff line number Diff line
@@ -2245,7 +2245,7 @@ static int sv_body(int s, int stype, unsigned char *context)
                if ((i <= 0) || (buf[0] == 'Q')) {
                    BIO_printf(bio_s_out, "DONE\n");
                    (void)BIO_flush(bio_s_out);
                    SHUTDOWN(s);
                    BIO_closesocket(s);
                    close_accept_socket();
                    ret = -11;
                    goto err;
@@ -2254,7 +2254,7 @@ static int sv_body(int s, int stype, unsigned char *context)
                    BIO_printf(bio_s_out, "DONE\n");
                    (void)BIO_flush(bio_s_out);
                    if (SSL_version(con) != DTLS1_VERSION)
                        SHUTDOWN(s);
                        BIO_closesocket(s);
                    /*
                     * close_accept_socket(); ret= -11;
                     */
@@ -2451,7 +2451,7 @@ static void close_accept_socket(void)
{
    BIO_printf(bio_err, "shutdown accept socket\n");
    if (accept_socket >= 0) {
        SHUTDOWN2(accept_socket);
        BIO_closesocket(accept_socket);
    }
}

+3 −3
Original line number Diff line number Diff line
@@ -266,11 +266,11 @@ int do_server(int *accept_sock, const char *host, const char *port,
            } while (sock < 0 && BIO_sock_should_retry(ret));
            if (sock < 0) {
                ERR_print_errors(bio_err);
                SHUTDOWN(asock);
                BIO_closesocket(asock);
                break;
            }
            i = (*cb)(sock, type, context);
            SHUTDOWN2(sock);
            BIO_closesocket(sock);
        } else {
            i = (*cb)(asock, type, context);
        }
@@ -278,7 +278,7 @@ int do_server(int *accept_sock, const char *host, const char *port,
        if (naccept != -1)
            naccept--;
        if (i < 0 || naccept == 0) {
            SHUTDOWN2(asock);
            BIO_closesocket(asock);
            ret = i;
            break;
        }
+3 −3
Original line number Diff line number Diff line
@@ -292,7 +292,7 @@ int s_time_main(int argc, char **argv)
#else
        SSL_shutdown(scon);
#endif
        SHUTDOWN2(SSL_get_fd(scon));
        BIO_closesocket(SSL_get_fd(scon));

        nConn += 1;
        if (SSL_session_reused(scon))
@@ -349,7 +349,7 @@ int s_time_main(int argc, char **argv)
#else
    SSL_shutdown(scon);
#endif
    SHUTDOWN2(SSL_get_fd(scon));
    BIO_closesocket(SSL_get_fd(scon));

    nConn = 0;
    totalTime = 0.0;
@@ -380,7 +380,7 @@ int s_time_main(int argc, char **argv)
#else
        SSL_shutdown(scon);
#endif
        SHUTDOWN2(SSL_get_fd(scon));
        BIO_closesocket(SSL_get_fd(scon));

        nConn += 1;
        if (SSL_session_reused(scon))
+1 −1
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ static int dgram_clear(BIO *a)
        return (0);
    if (a->shutdown) {
        if (a->init) {
            SHUTDOWN2(a->num);
            BIO_closesocket(a->num);
        }
        a->init = 0;
        a->flags = 0;
Loading