VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1l/ssl/methods.c@ 95000

Last change on this file since 95000 was 91772, checked in by vboxsync, 3 years ago

openssl-1.1.1l: Applied and adjusted our OpenSSL changes to 1.1.1l. bugref:10126

File size: 8.7 KB
Line 
1/*
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the OpenSSL license (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
10#include <stdio.h>
11#include <openssl/objects.h>
12#include "ssl_local.h"
13
14/*-
15 * TLS/SSLv3 methods
16 */
17
18IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
19 TLS_method,
20 ossl_statem_accept,
21 ossl_statem_connect, TLSv1_2_enc_data)
22IMPLEMENT_tls_meth_func(TLS1_3_VERSION, 0, SSL_OP_NO_TLSv1_3,
23 tlsv1_3_method,
24 ossl_statem_accept,
25 ossl_statem_connect, TLSv1_3_enc_data)
26#ifndef OPENSSL_NO_TLS1_2_METHOD
27IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
28 tlsv1_2_method,
29 ossl_statem_accept,
30 ossl_statem_connect, TLSv1_2_enc_data)
31#endif
32#ifndef OPENSSL_NO_TLS1_1_METHOD
33IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
34 tlsv1_1_method,
35 ossl_statem_accept,
36 ossl_statem_connect, TLSv1_1_enc_data)
37#endif
38#ifndef OPENSSL_NO_TLS1_METHOD
39IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
40 tlsv1_method,
41 ossl_statem_accept, ossl_statem_connect, TLSv1_enc_data)
42#endif
43#ifndef OPENSSL_NO_SSL3_METHOD
44IMPLEMENT_ssl3_meth_func(sslv3_method, ossl_statem_accept, ossl_statem_connect)
45#endif
46/*-
47 * TLS/SSLv3 server methods
48 */
49IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
50 TLS_server_method,
51 ossl_statem_accept,
52 ssl_undefined_function, TLSv1_2_enc_data)
53IMPLEMENT_tls_meth_func(TLS1_3_VERSION, 0, SSL_OP_NO_TLSv1_3,
54 tlsv1_3_server_method,
55 ossl_statem_accept,
56 ssl_undefined_function, TLSv1_3_enc_data)
57#ifndef OPENSSL_NO_TLS1_2_METHOD
58IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
59 tlsv1_2_server_method,
60 ossl_statem_accept,
61 ssl_undefined_function, TLSv1_2_enc_data)
62#endif
63#ifndef OPENSSL_NO_TLS1_1_METHOD
64IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
65 tlsv1_1_server_method,
66 ossl_statem_accept,
67 ssl_undefined_function, TLSv1_1_enc_data)
68#endif
69#ifndef OPENSSL_NO_TLS1_METHOD
70IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
71 tlsv1_server_method,
72 ossl_statem_accept,
73 ssl_undefined_function, TLSv1_enc_data)
74#endif
75#ifndef OPENSSL_NO_SSL3_METHOD
76IMPLEMENT_ssl3_meth_func(sslv3_server_method,
77 ossl_statem_accept, ssl_undefined_function)
78#endif
79/*-
80 * TLS/SSLv3 client methods
81 */
82IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
83 TLS_client_method,
84 ssl_undefined_function,
85 ossl_statem_connect, TLSv1_2_enc_data)
86IMPLEMENT_tls_meth_func(TLS1_3_VERSION, 0, SSL_OP_NO_TLSv1_3,
87 tlsv1_3_client_method,
88 ssl_undefined_function,
89 ossl_statem_connect, TLSv1_3_enc_data)
90#ifndef OPENSSL_NO_TLS1_2_METHOD
91IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
92 tlsv1_2_client_method,
93 ssl_undefined_function,
94 ossl_statem_connect, TLSv1_2_enc_data)
95#endif
96#ifndef OPENSSL_NO_TLS1_1_METHOD
97IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
98 tlsv1_1_client_method,
99 ssl_undefined_function,
100 ossl_statem_connect, TLSv1_1_enc_data)
101#endif
102#ifndef OPENSSL_NO_TLS1_METHOD
103IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
104 tlsv1_client_method,
105 ssl_undefined_function,
106 ossl_statem_connect, TLSv1_enc_data)
107#endif
108#ifndef OPENSSL_NO_SSL3_METHOD
109IMPLEMENT_ssl3_meth_func(sslv3_client_method,
110 ssl_undefined_function, ossl_statem_connect)
111#endif
112/*-
113 * DTLS methods
114 */
115#ifndef OPENSSL_NO_DTLS1_METHOD
116IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
117 dtlsv1_method,
118 ossl_statem_accept,
119 ossl_statem_connect, DTLSv1_enc_data)
120#endif
121#ifndef OPENSSL_NO_DTLS1_2_METHOD
122IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
123 dtlsv1_2_method,
124 ossl_statem_accept,
125 ossl_statem_connect, DTLSv1_2_enc_data)
126#endif
127IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
128 DTLS_method,
129 ossl_statem_accept,
130 ossl_statem_connect, DTLSv1_2_enc_data)
131
132/*-
133 * DTLS server methods
134 */
135#ifndef OPENSSL_NO_DTLS1_METHOD
136IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
137 dtlsv1_server_method,
138 ossl_statem_accept,
139 ssl_undefined_function, DTLSv1_enc_data)
140#endif
141#ifndef OPENSSL_NO_DTLS1_2_METHOD
142IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
143 dtlsv1_2_server_method,
144 ossl_statem_accept,
145 ssl_undefined_function, DTLSv1_2_enc_data)
146#endif
147IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
148 DTLS_server_method,
149 ossl_statem_accept,
150 ssl_undefined_function, DTLSv1_2_enc_data)
151
152/*-
153 * DTLS client methods
154 */
155#ifndef OPENSSL_NO_DTLS1_METHOD
156IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
157 dtlsv1_client_method,
158 ssl_undefined_function,
159 ossl_statem_connect, DTLSv1_enc_data)
160IMPLEMENT_dtls1_meth_func(DTLS1_BAD_VER, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
161 dtls_bad_ver_client_method,
162 ssl_undefined_function,
163 ossl_statem_connect, DTLSv1_enc_data)
164#endif
165#ifndef OPENSSL_NO_DTLS1_2_METHOD
166IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
167 dtlsv1_2_client_method,
168 ssl_undefined_function,
169 ossl_statem_connect, DTLSv1_2_enc_data)
170#endif
171IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
172 DTLS_client_method,
173 ssl_undefined_function,
174 ossl_statem_connect, DTLSv1_2_enc_data)
175#if OPENSSL_API_COMPAT < 0x10100000L
176# ifndef OPENSSL_NO_TLS1_2_METHOD
177const SSL_METHOD *TLSv1_2_method(void)
178{
179 return tlsv1_2_method();
180}
181
182const SSL_METHOD *TLSv1_2_server_method(void)
183{
184 return tlsv1_2_server_method();
185}
186
187const SSL_METHOD *TLSv1_2_client_method(void)
188{
189 return tlsv1_2_client_method();
190}
191# endif
192
193# ifndef OPENSSL_NO_TLS1_1_METHOD
194const SSL_METHOD *TLSv1_1_method(void)
195{
196 return tlsv1_1_method();
197}
198
199const SSL_METHOD *TLSv1_1_server_method(void)
200{
201 return tlsv1_1_server_method();
202}
203
204const SSL_METHOD *TLSv1_1_client_method(void)
205{
206 return tlsv1_1_client_method();
207}
208# endif
209
210# ifndef OPENSSL_NO_TLS1_METHOD
211const SSL_METHOD *TLSv1_method(void)
212{
213 return tlsv1_method();
214}
215
216const SSL_METHOD *TLSv1_server_method(void)
217{
218 return tlsv1_server_method();
219}
220
221const SSL_METHOD *TLSv1_client_method(void)
222{
223 return tlsv1_client_method();
224}
225# endif
226
227# ifndef OPENSSL_NO_SSL3_METHOD
228const SSL_METHOD *SSLv3_method(void)
229{
230 return sslv3_method();
231}
232
233const SSL_METHOD *SSLv3_server_method(void)
234{
235 return sslv3_server_method();
236}
237
238const SSL_METHOD *SSLv3_client_method(void)
239{
240 return sslv3_client_method();
241}
242# endif
243
244# ifndef OPENSSL_NO_DTLS1_2_METHOD
245const SSL_METHOD *DTLSv1_2_method(void)
246{
247 return dtlsv1_2_method();
248}
249
250const SSL_METHOD *DTLSv1_2_server_method(void)
251{
252 return dtlsv1_2_server_method();
253}
254
255const SSL_METHOD *DTLSv1_2_client_method(void)
256{
257 return dtlsv1_2_client_method();
258}
259# endif
260
261# ifndef OPENSSL_NO_DTLS1_METHOD
262const SSL_METHOD *DTLSv1_method(void)
263{
264 return dtlsv1_method();
265}
266
267const SSL_METHOD *DTLSv1_server_method(void)
268{
269 return dtlsv1_server_method();
270}
271
272const SSL_METHOD *DTLSv1_client_method(void)
273{
274 return dtlsv1_client_method();
275}
276# endif
277
278#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette