Ensure the dtls1_get_*_methods work with DTLS_ANY_VERSION
The various dtls1_get*_methods did not handle the DTLS_ANY_VERSION case, so this needed to be added. Reviewed-by: Tim Hudson <tjh@openssl.org>
This commit is contained in:
parent
ca3658e000
commit
0c0f1361b2
@ -133,12 +133,14 @@ static int dtls1_get_hello_verify(SSL *s);
|
||||
|
||||
static const SSL_METHOD *dtls1_get_client_method(int ver)
|
||||
{
|
||||
if (ver == DTLS1_VERSION || ver == DTLS1_BAD_VER)
|
||||
return (DTLSv1_client_method());
|
||||
if (ver == DTLS_ANY_VERSION)
|
||||
return DTLS_client_method();
|
||||
else if (ver == DTLS1_VERSION || ver == DTLS1_BAD_VER)
|
||||
return DTLSv1_client_method();
|
||||
else if (ver == DTLS1_2_VERSION)
|
||||
return (DTLSv1_2_client_method());
|
||||
return DTLSv1_2_client_method();
|
||||
else
|
||||
return (NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
|
||||
@ -147,13 +149,13 @@ IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
|
||||
dtls1_connect,
|
||||
dtls1_get_client_method, DTLSv1_enc_data)
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION,
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION,
|
||||
DTLSv1_2_client_method,
|
||||
ssl_undefined_function,
|
||||
dtls1_connect,
|
||||
dtls1_get_client_method, DTLSv1_2_enc_data)
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION,
|
||||
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION,
|
||||
DTLS_client_method,
|
||||
ssl_undefined_function,
|
||||
dtls1_connect,
|
||||
|
@ -64,12 +64,14 @@
|
||||
static const SSL_METHOD *dtls1_get_method(int ver);
|
||||
static const SSL_METHOD *dtls1_get_method(int ver)
|
||||
{
|
||||
if (ver == DTLS1_VERSION)
|
||||
return (DTLSv1_method());
|
||||
if (ver == DTLS_ANY_VERSION)
|
||||
return DTLS_method();
|
||||
else if (ver == DTLS1_VERSION)
|
||||
return DTLSv1_method();
|
||||
else if (ver == DTLS1_2_VERSION)
|
||||
return (DTLSv1_2_method());
|
||||
return DTLSv1_2_method();
|
||||
else
|
||||
return (NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
|
||||
@ -77,12 +79,12 @@ IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
|
||||
dtls1_accept,
|
||||
dtls1_connect, dtls1_get_method, DTLSv1_enc_data)
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION,
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION,
|
||||
DTLSv1_2_method,
|
||||
dtls1_accept,
|
||||
dtls1_connect, dtls1_get_method, DTLSv1_2_enc_data)
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION,
|
||||
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION,
|
||||
DTLS_method,
|
||||
dtls1_accept,
|
||||
dtls1_connect, dtls1_get_method, DTLSv1_2_enc_data)
|
||||
|
@ -131,12 +131,14 @@ static int dtls1_send_hello_verify_request(SSL *s);
|
||||
|
||||
static const SSL_METHOD *dtls1_get_server_method(int ver)
|
||||
{
|
||||
if (ver == DTLS1_VERSION)
|
||||
return (DTLSv1_server_method());
|
||||
if (ver == DTLS_ANY_VERSION)
|
||||
return DTLS_server_method();
|
||||
else if (ver == DTLS1_VERSION)
|
||||
return DTLSv1_server_method();
|
||||
else if (ver == DTLS1_2_VERSION)
|
||||
return (DTLSv1_2_server_method());
|
||||
return DTLSv1_2_server_method();
|
||||
else
|
||||
return (NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
|
||||
@ -145,13 +147,13 @@ IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
|
||||
ssl_undefined_function,
|
||||
dtls1_get_server_method, DTLSv1_enc_data)
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION,
|
||||
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION,
|
||||
DTLSv1_2_server_method,
|
||||
dtls1_accept,
|
||||
ssl_undefined_function,
|
||||
dtls1_get_server_method, DTLSv1_2_enc_data)
|
||||
|
||||
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION,
|
||||
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION,
|
||||
DTLS_server_method,
|
||||
dtls1_accept,
|
||||
ssl_undefined_function,
|
||||
|
Loading…
Reference in New Issue
Block a user