Extend DTLS method macros. Extend DTLS method creation macros to support version numbers and encryption methods. Update existing code.
diff --git a/ssl/d1_clnt.c b/ssl/d1_clnt.c index f2f991e..b1f8c5e 100644 --- a/ssl/d1_clnt.c +++ b/ssl/d1_clnt.c
@@ -139,10 +139,12 @@ 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) {
diff --git a/ssl/d1_meth.c b/ssl/d1_meth.c index 5c4004b..0470624 100644 --- a/ssl/d1_meth.c +++ b/ssl/d1_meth.c
@@ -70,8 +70,10 @@ 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)
diff --git a/ssl/d1_srvr.c b/ssl/d1_srvr.c index 7934ad5..6967d8e 100644 --- a/ssl/d1_srvr.c +++ b/ssl/d1_srvr.c
@@ -137,10 +137,12 @@ 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) {
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index f9c5544..2e03e63 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h
@@ -900,11 +900,12 @@ 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 @@ 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, \