Coverage Report

Created: 2025-12-31 06:58

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openssl30/ssl/methods.c
Line
Count
Source
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
{
231
    return sslv3_method();
232
}
233
234
const SSL_METHOD *SSLv3_server_method(void)
235
{
236
    return sslv3_server_method();
237
}
238
239
const SSL_METHOD *SSLv3_client_method(void)
240
{
241
    return sslv3_client_method();
242
}
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