diff options
Diffstat (limited to 'src/lib/libssl/s23_srvr.c')
| -rw-r--r-- | src/lib/libssl/s23_srvr.c | 36 |
1 files changed, 4 insertions, 32 deletions
diff --git a/src/lib/libssl/s23_srvr.c b/src/lib/libssl/s23_srvr.c index b73abc448f..6637bb9549 100644 --- a/src/lib/libssl/s23_srvr.c +++ b/src/lib/libssl/s23_srvr.c | |||
| @@ -132,28 +132,10 @@ static SSL_METHOD *ssl23_get_server_method(int ver) | |||
| 132 | return(NULL); | 132 | return(NULL); |
| 133 | } | 133 | } |
| 134 | 134 | ||
| 135 | SSL_METHOD *SSLv23_server_method(void) | 135 | IMPLEMENT_ssl23_meth_func(SSLv23_server_method, |
| 136 | { | 136 | ssl23_accept, |
| 137 | static int init=1; | 137 | ssl_undefined_function, |
| 138 | static SSL_METHOD SSLv23_server_data; | 138 | ssl23_get_server_method) |
| 139 | |||
| 140 | if (init) | ||
| 141 | { | ||
| 142 | CRYPTO_w_lock(CRYPTO_LOCK_SSL_METHOD); | ||
| 143 | |||
| 144 | if (init) | ||
| 145 | { | ||
| 146 | memcpy((char *)&SSLv23_server_data, | ||
| 147 | (char *)sslv23_base_method(),sizeof(SSL_METHOD)); | ||
| 148 | SSLv23_server_data.ssl_accept=ssl23_accept; | ||
| 149 | SSLv23_server_data.get_ssl_method=ssl23_get_server_method; | ||
| 150 | init=0; | ||
| 151 | } | ||
| 152 | |||
| 153 | CRYPTO_w_unlock(CRYPTO_LOCK_SSL_METHOD); | ||
| 154 | } | ||
| 155 | return(&SSLv23_server_data); | ||
| 156 | } | ||
| 157 | 139 | ||
| 158 | int ssl23_accept(SSL *s) | 140 | int ssl23_accept(SSL *s) |
| 159 | { | 141 | { |
| @@ -404,15 +386,6 @@ int ssl23_get_client_hello(SSL *s) | |||
| 404 | } | 386 | } |
| 405 | } | 387 | } |
| 406 | 388 | ||
| 407 | #ifdef OPENSSL_FIPS | ||
| 408 | if (FIPS_mode() && (s->version < TLS1_VERSION)) | ||
| 409 | { | ||
| 410 | SSLerr(SSL_F_SSL23_GET_CLIENT_HELLO, | ||
| 411 | SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE); | ||
| 412 | goto err; | ||
| 413 | } | ||
| 414 | #endif | ||
| 415 | |||
| 416 | if (s->state == SSL23_ST_SR_CLNT_HELLO_B) | 389 | if (s->state == SSL23_ST_SR_CLNT_HELLO_B) |
| 417 | { | 390 | { |
| 418 | /* we have SSLv3/TLSv1 in an SSLv2 header | 391 | /* we have SSLv3/TLSv1 in an SSLv2 header |
| @@ -592,7 +565,6 @@ int ssl23_get_client_hello(SSL *s) | |||
| 592 | s->init_num=0; | 565 | s->init_num=0; |
| 593 | 566 | ||
| 594 | if (buf != buf_space) OPENSSL_free(buf); | 567 | if (buf != buf_space) OPENSSL_free(buf); |
| 595 | s->first_packet=1; | ||
| 596 | return(SSL_accept(s)); | 568 | return(SSL_accept(s)); |
| 597 | err: | 569 | err: |
| 598 | if (buf != buf_space) OPENSSL_free(buf); | 570 | if (buf != buf_space) OPENSSL_free(buf); |
