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:
Matt Caswell 2015-10-30 16:28:50 +00:00
parent 3d866ea67e
commit cf0113eb47

View File

@ -258,12 +258,14 @@ IMPLEMENT_ssl3_meth_func(SSLv3_client_method,
*/
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,
@ -291,12 +293,14 @@ IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION,
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,
@ -324,12 +328,14 @@ IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION,
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,