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