From 52c89a2661760a5549aeb55a62ea9957c3379e64 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Sat, 24 May 2014 12:44:48 +0000 Subject: DeIMPLEMENT libssl. Expand the IMPLEMENT_* macros since it is far more readable and one less layer of abstraction. Use C99 initialisers for clarity, grepability and to protect from future field reordering/removal. ok miod@ (tedu@ also thought it was a wonderful idea, beck@ also agreed, but ran away squealing since it reminded him of the VOP layer...) --- src/lib/libssl/s3_clnt.c | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'src/lib/libssl/s3_clnt.c') diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c index 010f9e4e12..16d5dacfc4 100644 --- a/src/lib/libssl/s3_clnt.c +++ b/src/lib/libssl/s3_clnt.c @@ -166,6 +166,44 @@ static const SSL_METHOD *ssl3_get_client_method(int ver); static int ca_dn_cmp(const X509_NAME * const *a, const X509_NAME * const *b); +const SSL_METHOD SSLv3_client_method_data = { + .version = SSL3_VERSION, + .ssl_new = ssl3_new, + .ssl_clear = ssl3_clear, + .ssl_free = ssl3_free, + .ssl_accept = ssl_undefined_function, + .ssl_connect = ssl3_connect, + .ssl_read = ssl3_read, + .ssl_peek = ssl3_peek, + .ssl_write = ssl3_write, + .ssl_shutdown = ssl3_shutdown, + .ssl_renegotiate = ssl3_renegotiate, + .ssl_renegotiate_check = ssl3_renegotiate_check, + .ssl_get_message = ssl3_get_message, + .ssl_read_bytes = ssl3_read_bytes, + .ssl_write_bytes = ssl3_write_bytes, + .ssl_dispatch_alert = ssl3_dispatch_alert, + .ssl_ctrl = ssl3_ctrl, + .ssl_ctx_ctrl = ssl3_ctx_ctrl, + .get_cipher_by_char = ssl3_get_cipher_by_char, + .put_cipher_by_char = ssl3_put_cipher_by_char, + .ssl_pending = ssl3_pending, + .num_ciphers = ssl3_num_ciphers, + .get_cipher = ssl3_get_cipher, + .get_ssl_method = ssl3_get_client_method, + .get_timeout = ssl3_default_timeout, + .ssl3_enc = &SSLv3_enc_data, + .ssl_version = ssl_undefined_void_function, + .ssl_callback_ctrl = ssl3_callback_ctrl, + .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, +}; + +const SSL_METHOD * +SSLv3_client_method(void) +{ + return &SSLv3_client_method_data; +} + static const SSL_METHOD * ssl3_get_client_method(int ver) { @@ -174,9 +212,6 @@ ssl3_get_client_method(int ver) return (NULL); } -IMPLEMENT_ssl3_meth_func(SSLv3_client_method, - ssl_undefined_function, ssl3_connect, ssl3_get_client_method) - int ssl3_connect(SSL *s) { -- cgit v1.2.3-55-g6feb