summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s23_clnt.c
diff options
context:
space:
mode:
authorjsing <>2014-05-24 12:44:48 +0000
committerjsing <>2014-05-24 12:44:48 +0000
commit52c89a2661760a5549aeb55a62ea9957c3379e64 (patch)
treed69c2da4faf1b7f2a4d061a5b3cf3601197a246a /src/lib/libssl/s23_clnt.c
parent423deaf23c5a306d0f9bc96d6e1e9584d85f7c16 (diff)
downloadopenbsd-52c89a2661760a5549aeb55a62ea9957c3379e64.tar.gz
openbsd-52c89a2661760a5549aeb55a62ea9957c3379e64.tar.bz2
openbsd-52c89a2661760a5549aeb55a62ea9957c3379e64.zip
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...)
Diffstat (limited to 'src/lib/libssl/s23_clnt.c')
-rw-r--r--src/lib/libssl/s23_clnt.c42
1 files changed, 39 insertions, 3 deletions
diff --git a/src/lib/libssl/s23_clnt.c b/src/lib/libssl/s23_clnt.c
index 293b1e5da2..897ac7efe3 100644
--- a/src/lib/libssl/s23_clnt.c
+++ b/src/lib/libssl/s23_clnt.c
@@ -119,6 +119,45 @@
119static const SSL_METHOD *ssl23_get_client_method(int ver); 119static const SSL_METHOD *ssl23_get_client_method(int ver);
120static int ssl23_client_hello(SSL *s); 120static int ssl23_client_hello(SSL *s);
121static int ssl23_get_server_hello(SSL *s); 121static int ssl23_get_server_hello(SSL *s);
122
123const SSL_METHOD SSLv23_client_method_data = {
124 .version = TLS1_2_VERSION,
125 .ssl_new = tls1_new,
126 .ssl_clear = tls1_clear,
127 .ssl_free = tls1_free,
128 .ssl_accept = ssl_undefined_function,
129 .ssl_connect = ssl23_connect,
130 .ssl_read = ssl23_read,
131 .ssl_peek = ssl23_peek,
132 .ssl_write = ssl23_write,
133 .ssl_shutdown = ssl_undefined_function,
134 .ssl_renegotiate = ssl_undefined_function,
135 .ssl_renegotiate_check = ssl_ok,
136 .ssl_get_message = ssl3_get_message,
137 .ssl_read_bytes = ssl3_read_bytes,
138 .ssl_write_bytes = ssl3_write_bytes,
139 .ssl_dispatch_alert = ssl3_dispatch_alert,
140 .ssl_ctrl = ssl3_ctrl,
141 .ssl_ctx_ctrl = ssl3_ctx_ctrl,
142 .get_cipher_by_char = ssl23_get_cipher_by_char,
143 .put_cipher_by_char = ssl23_put_cipher_by_char,
144 .ssl_pending = ssl_undefined_const_function,
145 .num_ciphers = ssl23_num_ciphers,
146 .get_cipher = ssl23_get_cipher,
147 .get_ssl_method = ssl23_get_client_method,
148 .get_timeout = ssl23_default_timeout,
149 .ssl3_enc = &ssl3_undef_enc_method,
150 .ssl_version = ssl_undefined_void_function,
151 .ssl_callback_ctrl = ssl3_callback_ctrl,
152 .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl,
153};
154
155const SSL_METHOD *
156SSLv23_client_method(void)
157{
158 return &SSLv23_client_method_data;
159}
160
122static const SSL_METHOD * 161static const SSL_METHOD *
123ssl23_get_client_method(int ver) 162ssl23_get_client_method(int ver)
124{ 163{
@@ -133,9 +172,6 @@ ssl23_get_client_method(int ver)
133 return (NULL); 172 return (NULL);
134} 173}
135 174
136IMPLEMENT_ssl23_meth_func(SSLv23_client_method,
137 ssl_undefined_function, ssl23_connect, ssl23_get_client_method)
138
139int 175int
140ssl23_connect(SSL *s) 176ssl23_connect(SSL *s)
141{ 177{