summaryrefslogtreecommitdiff
path: root/src/lib/libssl/t1_srvr.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libssl/t1_srvr.c76
1 files changed, 60 insertions, 16 deletions
diff --git a/src/lib/libssl/t1_srvr.c b/src/lib/libssl/t1_srvr.c
index 3c6ac541f8..902cd93cd7 100644
--- a/src/lib/libssl/t1_srvr.c
+++ b/src/lib/libssl/t1_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t1_srvr.c,v 1.18 2015/02/06 08:30:23 jsing Exp $ */ 1/* $OpenBSD: t1_srvr.c,v 1.19 2015/09/11 14:47:56 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -67,6 +67,38 @@
67 67
68static const SSL_METHOD *tls1_get_server_method(int ver); 68static const SSL_METHOD *tls1_get_server_method(int ver);
69 69
70const SSL_METHOD TLS_server_method_data = {
71 .version = TLS1_2_VERSION,
72 .ssl_new = tls1_new,
73 .ssl_clear = tls1_clear,
74 .ssl_free = tls1_free,
75 .ssl_accept = ssl23_accept,
76 .ssl_connect = ssl_undefined_function,
77 .ssl_read = ssl23_read,
78 .ssl_peek = ssl23_peek,
79 .ssl_write = ssl23_write,
80 .ssl_shutdown = ssl_undefined_function,
81 .ssl_renegotiate = ssl_undefined_function,
82 .ssl_renegotiate_check = ssl_ok,
83 .ssl_get_message = ssl3_get_message,
84 .ssl_read_bytes = ssl3_read_bytes,
85 .ssl_write_bytes = ssl3_write_bytes,
86 .ssl_dispatch_alert = ssl3_dispatch_alert,
87 .ssl_ctrl = ssl3_ctrl,
88 .ssl_ctx_ctrl = ssl3_ctx_ctrl,
89 .get_cipher_by_char = ssl3_get_cipher_by_char,
90 .put_cipher_by_char = ssl3_put_cipher_by_char,
91 .ssl_pending = ssl_undefined_const_function,
92 .num_ciphers = ssl3_num_ciphers,
93 .get_cipher = ssl3_get_cipher,
94 .get_ssl_method = tls1_get_server_method,
95 .get_timeout = ssl23_default_timeout,
96 .ssl3_enc = &ssl3_undef_enc_method,
97 .ssl_version = ssl_undefined_void_function,
98 .ssl_callback_ctrl = ssl3_callback_ctrl,
99 .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl,
100};
101
70const SSL_METHOD TLSv1_server_method_data = { 102const SSL_METHOD TLSv1_server_method_data = {
71 .version = TLS1_VERSION, 103 .version = TLS1_VERSION,
72 .ssl_new = tls1_new, 104 .ssl_new = tls1_new,
@@ -163,32 +195,44 @@ const SSL_METHOD TLSv1_2_server_method_data = {
163 .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, 195 .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl,
164}; 196};
165 197
198static const SSL_METHOD *
199tls1_get_server_method(int ver)
200{
201 if (ver == TLS1_2_VERSION)
202 return (TLSv1_2_server_method());
203 if (ver == TLS1_1_VERSION)
204 return (TLSv1_1_server_method());
205 if (ver == TLS1_VERSION)
206 return (TLSv1_server_method());
207 return (NULL);
208}
209
166const SSL_METHOD * 210const SSL_METHOD *
167TLSv1_server_method(void) 211SSLv23_server_method(void)
168{ 212{
169 return &TLSv1_server_method_data; 213 return (TLS_server_method());
170} 214}
171 215
172const SSL_METHOD * 216const SSL_METHOD *
173TLSv1_1_server_method(void) 217TLS_server_method(void)
174{ 218{
175 return &TLSv1_1_server_method_data; 219 return (&TLS_server_method_data);
176} 220}
177 221
178const SSL_METHOD * 222const SSL_METHOD *
179TLSv1_2_server_method(void) 223TLSv1_server_method(void)
180{ 224{
181 return &TLSv1_2_server_method_data; 225 return (&TLSv1_server_method_data);
182} 226}
183 227
184static const SSL_METHOD * 228const SSL_METHOD *
185tls1_get_server_method(int ver) 229TLSv1_1_server_method(void)
186{ 230{
187 if (ver == TLS1_2_VERSION) 231 return (&TLSv1_1_server_method_data);
188 return (TLSv1_2_server_method()); 232}
189 if (ver == TLS1_1_VERSION) 233
190 return (TLSv1_1_server_method()); 234const SSL_METHOD *
191 if (ver == TLS1_VERSION) 235TLSv1_2_server_method(void)
192 return (TLSv1_server_method()); 236{
193 return (NULL); 237 return (&TLSv1_2_server_method_data);
194} 238}