|
|
@ -231,14 +231,9 @@ static int |
|
|
|
init_ssl_ctx( const server_conf_t *conf ) |
|
|
|
init_ssl_ctx( const server_conf_t *conf ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
server_conf_t *mconf = (server_conf_t *)conf; |
|
|
|
server_conf_t *mconf = (server_conf_t *)conf; |
|
|
|
const SSL_METHOD *method; |
|
|
|
|
|
|
|
int options = 0; |
|
|
|
int options = 0; |
|
|
|
|
|
|
|
|
|
|
|
if (conf->use_tlsv1 && !conf->use_sslv2 && !conf->use_sslv3) |
|
|
|
mconf->SSLContext = SSL_CTX_new( SSLv23_client_method() ); |
|
|
|
method = TLSv1_client_method(); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
method = SSLv23_client_method(); |
|
|
|
|
|
|
|
mconf->SSLContext = SSL_CTX_new( method ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!conf->use_sslv2) |
|
|
|
if (!conf->use_sslv2) |
|
|
|
options |= SSL_OP_NO_SSLv2; |
|
|
|
options |= SSL_OP_NO_SSLv2; |
|
|
@ -246,6 +241,14 @@ init_ssl_ctx( const server_conf_t *conf ) |
|
|
|
options |= SSL_OP_NO_SSLv3; |
|
|
|
options |= SSL_OP_NO_SSLv3; |
|
|
|
if (!conf->use_tlsv1) |
|
|
|
if (!conf->use_tlsv1) |
|
|
|
options |= SSL_OP_NO_TLSv1; |
|
|
|
options |= SSL_OP_NO_TLSv1; |
|
|
|
|
|
|
|
#ifdef SSL_OP_NO_TLSv1_1 |
|
|
|
|
|
|
|
if (!conf->use_tlsv11) |
|
|
|
|
|
|
|
options |= SSL_OP_NO_TLSv1_1; |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef SSL_OP_NO_TLSv1_2 |
|
|
|
|
|
|
|
if (!conf->use_tlsv12) |
|
|
|
|
|
|
|
options |= SSL_OP_NO_TLSv1_2; |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
SSL_CTX_set_options( mconf->SSLContext, options ); |
|
|
|
SSL_CTX_set_options( mconf->SSLContext, options ); |
|
|
|
|
|
|
|
|
|
|
|