summaryrefslogtreecommitdiff
path: root/src/lib/libssl/t1_srvr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/t1_srvr.c')
-rw-r--r--src/lib/libssl/t1_srvr.c82
1 files changed, 49 insertions, 33 deletions
diff --git a/src/lib/libssl/t1_srvr.c b/src/lib/libssl/t1_srvr.c
index e0b247441a..3083ed65a4 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.22 2017/01/23 10:22:06 jsing Exp $ */ 1/* $OpenBSD: t1_srvr.c,v 1.23 2017/01/23 13:36:13 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,7 +67,7 @@
67 67
68static const SSL_METHOD *tls1_get_server_method(int ver); 68static const SSL_METHOD *tls1_get_server_method(int ver);
69 69
70static const SSL_METHOD TLS_server_method_data = { 70static const SSL_METHOD_INTERNAL TLS_server_method_internal_data = {
71 .version = TLS1_2_VERSION, 71 .version = TLS1_2_VERSION,
72 .min_version = TLS1_VERSION, 72 .min_version = TLS1_VERSION,
73 .max_version = TLS1_2_VERSION, 73 .max_version = TLS1_2_VERSION,
@@ -80,24 +80,28 @@ static const SSL_METHOD TLS_server_method_data = {
80 .ssl_peek = ssl23_peek, 80 .ssl_peek = ssl23_peek,
81 .ssl_write = ssl23_write, 81 .ssl_write = ssl23_write,
82 .ssl_shutdown = ssl_undefined_function, 82 .ssl_shutdown = ssl_undefined_function,
83 .ssl_pending = ssl_undefined_const_function,
84 .get_ssl_method = tls1_get_server_method,
85 .get_timeout = ssl23_default_timeout,
86 .ssl_version = ssl_undefined_void_function,
83 .ssl_renegotiate = ssl_undefined_function, 87 .ssl_renegotiate = ssl_undefined_function,
84 .ssl_renegotiate_check = ssl_ok, 88 .ssl_renegotiate_check = ssl_ok,
85 .ssl_get_message = ssl3_get_message, 89 .ssl_get_message = ssl3_get_message,
86 .ssl_read_bytes = ssl3_read_bytes, 90 .ssl_read_bytes = ssl3_read_bytes,
87 .ssl_write_bytes = ssl3_write_bytes, 91 .ssl_write_bytes = ssl3_write_bytes,
92 .ssl3_enc = &ssl3_undef_enc_method,
93};
94
95static const SSL_METHOD TLS_server_method_data = {
88 .ssl_dispatch_alert = ssl3_dispatch_alert, 96 .ssl_dispatch_alert = ssl3_dispatch_alert,
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, 97 .num_ciphers = ssl3_num_ciphers,
93 .get_cipher = ssl3_get_cipher, 98 .get_cipher = ssl3_get_cipher,
94 .get_ssl_method = tls1_get_server_method, 99 .get_cipher_by_char = ssl3_get_cipher_by_char,
95 .get_timeout = ssl23_default_timeout, 100 .put_cipher_by_char = ssl3_put_cipher_by_char,
96 .ssl3_enc = &ssl3_undef_enc_method, 101 .internal = &TLS_server_method_internal_data,
97 .ssl_version = ssl_undefined_void_function,
98}; 102};
99 103
100static const SSL_METHOD TLSv1_server_method_data = { 104static const SSL_METHOD_INTERNAL TLSv1_server_method_internal_data = {
101 .version = TLS1_VERSION, 105 .version = TLS1_VERSION,
102 .min_version = TLS1_VERSION, 106 .min_version = TLS1_VERSION,
103 .max_version = TLS1_VERSION, 107 .max_version = TLS1_VERSION,
@@ -110,24 +114,28 @@ static const SSL_METHOD TLSv1_server_method_data = {
110 .ssl_peek = ssl3_peek, 114 .ssl_peek = ssl3_peek,
111 .ssl_write = ssl3_write, 115 .ssl_write = ssl3_write,
112 .ssl_shutdown = ssl3_shutdown, 116 .ssl_shutdown = ssl3_shutdown,
117 .ssl_pending = ssl3_pending,
118 .get_ssl_method = tls1_get_server_method,
119 .get_timeout = tls1_default_timeout,
120 .ssl_version = ssl_undefined_void_function,
113 .ssl_renegotiate = ssl3_renegotiate, 121 .ssl_renegotiate = ssl3_renegotiate,
114 .ssl_renegotiate_check = ssl3_renegotiate_check, 122 .ssl_renegotiate_check = ssl3_renegotiate_check,
115 .ssl_get_message = ssl3_get_message, 123 .ssl_get_message = ssl3_get_message,
116 .ssl_read_bytes = ssl3_read_bytes, 124 .ssl_read_bytes = ssl3_read_bytes,
117 .ssl_write_bytes = ssl3_write_bytes, 125 .ssl_write_bytes = ssl3_write_bytes,
126 .ssl3_enc = &TLSv1_enc_data,
127};
128
129static const SSL_METHOD TLSv1_server_method_data = {
118 .ssl_dispatch_alert = ssl3_dispatch_alert, 130 .ssl_dispatch_alert = ssl3_dispatch_alert,
119 .get_cipher_by_char = ssl3_get_cipher_by_char,
120 .put_cipher_by_char = ssl3_put_cipher_by_char,
121 .ssl_pending = ssl3_pending,
122 .num_ciphers = ssl3_num_ciphers, 131 .num_ciphers = ssl3_num_ciphers,
123 .get_cipher = ssl3_get_cipher, 132 .get_cipher = ssl3_get_cipher,
124 .get_ssl_method = tls1_get_server_method, 133 .get_cipher_by_char = ssl3_get_cipher_by_char,
125 .get_timeout = tls1_default_timeout, 134 .put_cipher_by_char = ssl3_put_cipher_by_char,
126 .ssl3_enc = &TLSv1_enc_data, 135 .internal = &TLSv1_server_method_internal_data,
127 .ssl_version = ssl_undefined_void_function,
128}; 136};
129 137
130static const SSL_METHOD TLSv1_1_server_method_data = { 138static const SSL_METHOD_INTERNAL TLSv1_1_server_method_internal_data = {
131 .version = TLS1_1_VERSION, 139 .version = TLS1_1_VERSION,
132 .min_version = TLS1_1_VERSION, 140 .min_version = TLS1_1_VERSION,
133 .max_version = TLS1_1_VERSION, 141 .max_version = TLS1_1_VERSION,
@@ -140,24 +148,28 @@ static const SSL_METHOD TLSv1_1_server_method_data = {
140 .ssl_peek = ssl3_peek, 148 .ssl_peek = ssl3_peek,
141 .ssl_write = ssl3_write, 149 .ssl_write = ssl3_write,
142 .ssl_shutdown = ssl3_shutdown, 150 .ssl_shutdown = ssl3_shutdown,
151 .ssl_pending = ssl3_pending,
152 .get_ssl_method = tls1_get_server_method,
153 .get_timeout = tls1_default_timeout,
154 .ssl_version = ssl_undefined_void_function,
143 .ssl_renegotiate = ssl3_renegotiate, 155 .ssl_renegotiate = ssl3_renegotiate,
144 .ssl_renegotiate_check = ssl3_renegotiate_check, 156 .ssl_renegotiate_check = ssl3_renegotiate_check,
145 .ssl_get_message = ssl3_get_message, 157 .ssl_get_message = ssl3_get_message,
146 .ssl_read_bytes = ssl3_read_bytes, 158 .ssl_read_bytes = ssl3_read_bytes,
147 .ssl_write_bytes = ssl3_write_bytes, 159 .ssl_write_bytes = ssl3_write_bytes,
160 .ssl3_enc = &TLSv1_1_enc_data,
161};
162
163static const SSL_METHOD TLSv1_1_server_method_data = {
148 .ssl_dispatch_alert = ssl3_dispatch_alert, 164 .ssl_dispatch_alert = ssl3_dispatch_alert,
149 .get_cipher_by_char = ssl3_get_cipher_by_char,
150 .put_cipher_by_char = ssl3_put_cipher_by_char,
151 .ssl_pending = ssl3_pending,
152 .num_ciphers = ssl3_num_ciphers, 165 .num_ciphers = ssl3_num_ciphers,
153 .get_cipher = ssl3_get_cipher, 166 .get_cipher = ssl3_get_cipher,
154 .get_ssl_method = tls1_get_server_method, 167 .get_cipher_by_char = ssl3_get_cipher_by_char,
155 .get_timeout = tls1_default_timeout, 168 .put_cipher_by_char = ssl3_put_cipher_by_char,
156 .ssl3_enc = &TLSv1_1_enc_data, 169 .internal = &TLSv1_1_server_method_internal_data,
157 .ssl_version = ssl_undefined_void_function,
158}; 170};
159 171
160static const SSL_METHOD TLSv1_2_server_method_data = { 172static const SSL_METHOD_INTERNAL TLSv1_2_server_method_internal_data = {
161 .version = TLS1_2_VERSION, 173 .version = TLS1_2_VERSION,
162 .min_version = TLS1_2_VERSION, 174 .min_version = TLS1_2_VERSION,
163 .max_version = TLS1_2_VERSION, 175 .max_version = TLS1_2_VERSION,
@@ -170,21 +182,25 @@ static const SSL_METHOD TLSv1_2_server_method_data = {
170 .ssl_peek = ssl3_peek, 182 .ssl_peek = ssl3_peek,
171 .ssl_write = ssl3_write, 183 .ssl_write = ssl3_write,
172 .ssl_shutdown = ssl3_shutdown, 184 .ssl_shutdown = ssl3_shutdown,
185 .ssl_pending = ssl3_pending,
186 .get_ssl_method = tls1_get_server_method,
187 .get_timeout = tls1_default_timeout,
188 .ssl_version = ssl_undefined_void_function,
173 .ssl_renegotiate = ssl3_renegotiate, 189 .ssl_renegotiate = ssl3_renegotiate,
174 .ssl_renegotiate_check = ssl3_renegotiate_check, 190 .ssl_renegotiate_check = ssl3_renegotiate_check,
175 .ssl_get_message = ssl3_get_message, 191 .ssl_get_message = ssl3_get_message,
176 .ssl_read_bytes = ssl3_read_bytes, 192 .ssl_read_bytes = ssl3_read_bytes,
177 .ssl_write_bytes = ssl3_write_bytes, 193 .ssl_write_bytes = ssl3_write_bytes,
194 .ssl3_enc = &TLSv1_2_enc_data,
195};
196
197static const SSL_METHOD TLSv1_2_server_method_data = {
178 .ssl_dispatch_alert = ssl3_dispatch_alert, 198 .ssl_dispatch_alert = ssl3_dispatch_alert,
179 .get_cipher_by_char = ssl3_get_cipher_by_char,
180 .put_cipher_by_char = ssl3_put_cipher_by_char,
181 .ssl_pending = ssl3_pending,
182 .num_ciphers = ssl3_num_ciphers, 199 .num_ciphers = ssl3_num_ciphers,
183 .get_cipher = ssl3_get_cipher, 200 .get_cipher = ssl3_get_cipher,
184 .get_ssl_method = tls1_get_server_method, 201 .get_cipher_by_char = ssl3_get_cipher_by_char,
185 .get_timeout = tls1_default_timeout, 202 .put_cipher_by_char = ssl3_put_cipher_by_char,
186 .ssl3_enc = &TLSv1_2_enc_data, 203 .internal = &TLSv1_2_server_method_internal_data,
187 .ssl_version = ssl_undefined_void_function,
188}; 204};
189 205
190static const SSL_METHOD * 206static const SSL_METHOD *