Extend DTLS method macros.

Extend DTLS method creation macros to support version numbers and encryption
methods. Update existing code.
This commit is contained in:
Dr. Stephen Henson 2013-03-19 15:51:26 +00:00
parent 874a18cfad
commit cfd298b7ae
4 changed files with 16 additions and 9 deletions

View file

@ -139,10 +139,12 @@ static const SSL_METHOD *dtls1_get_client_method(int ver)
return(NULL);
}
IMPLEMENT_dtls1_meth_func(DTLSv1_client_method,
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
DTLSv1_client_method,
ssl_undefined_function,
dtls1_connect,
dtls1_get_client_method)
dtls1_get_client_method,
DTLSv1_enc_data)
int dtls1_connect(SSL *s)
{

View file

@ -70,8 +70,10 @@ static const SSL_METHOD *dtls1_get_method(int ver)
return(NULL);
}
IMPLEMENT_dtls1_meth_func(DTLSv1_method,
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
DTLSv1_method,
dtls1_accept,
dtls1_connect,
dtls1_get_method)
dtls1_get_method,
DTLSv1_enc_data)

View file

@ -137,10 +137,12 @@ static const SSL_METHOD *dtls1_get_server_method(int ver)
return(NULL);
}
IMPLEMENT_dtls1_meth_func(DTLSv1_server_method,
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION,
DTLSv1_server_method,
dtls1_accept,
ssl_undefined_function,
dtls1_get_server_method)
dtls1_get_server_method,
DTLSv1_enc_data)
int dtls1_accept(SSL *s)
{

View file

@ -900,11 +900,12 @@ const SSL_METHOD *func_name(void) \
return &func_name##_data; \
}
#define IMPLEMENT_dtls1_meth_func(func_name, s_accept, s_connect, s_get_meth) \
#define IMPLEMENT_dtls1_meth_func(version, func_name, s_accept, s_connect, \
s_get_meth, enc_data) \
const SSL_METHOD *func_name(void) \
{ \
static const SSL_METHOD func_name##_data= { \
DTLS1_VERSION, \
version, \
dtls1_new, \
dtls1_clear, \
dtls1_free, \
@ -929,7 +930,7 @@ const SSL_METHOD *func_name(void) \
dtls1_get_cipher, \
s_get_meth, \
dtls1_default_timeout, \
&DTLSv1_enc_data, \
&enc_data, \
ssl_undefined_void_function, \
ssl3_callback_ctrl, \
ssl3_ctx_callback_ctrl, \