Coverage Report

Created: 2025-06-13 06:58

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