]> git.ipfire.org Git - thirdparty/openssl.git/blame - ssl/methods.c
Convert X509_REVOKED* functions to use const getters
[thirdparty/openssl.git] / ssl / methods.c
CommitLineData
846e33c7
RS
1/*
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
8ba708e5 3 *
846e33c7
RS
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
8ba708e5 8 */
2b8fa1d5 9
8ba708e5
MC
10#include <stdio.h>
11#include <openssl/objects.h>
12#include "ssl_locl.h"
13
14/*
15 * TLS/SSLv3 methods
16 */
17
4fa52141
VD
18IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
19 TLS_method,
fe3a3291 20 ossl_statem_accept,
ccae4a15 21 ossl_statem_connect, TLSv1_2_enc_data)
8ba708e5 22
6b01bed2 23#ifndef OPENSSL_NO_TLS1_2_METHOD
4fa52141 24IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
2b8fa1d5 25 tlsv1_2_method,
fe3a3291 26 ossl_statem_accept,
ccae4a15 27 ossl_statem_connect, TLSv1_2_enc_data)
6b01bed2 28#endif
8ba708e5 29
6b01bed2 30#ifndef OPENSSL_NO_TLS1_1_METHOD
4fa52141 31IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
2b8fa1d5 32 tlsv1_1_method,
fe3a3291 33 ossl_statem_accept,
ccae4a15 34 ossl_statem_connect, TLSv1_1_enc_data)
6b01bed2 35#endif
8ba708e5 36
6b01bed2 37#ifndef OPENSSL_NO_TLS1_METHOD
4fa52141 38IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
2b8fa1d5 39 tlsv1_method,
fe3a3291 40 ossl_statem_accept,
ccae4a15 41 ossl_statem_connect, TLSv1_enc_data)
6b01bed2 42#endif
8ba708e5
MC
43
44#ifndef OPENSSL_NO_SSL3_METHOD
ccae4a15 45IMPLEMENT_ssl3_meth_func(sslv3_method, ossl_statem_accept, ossl_statem_connect)
8ba708e5
MC
46#endif
47
48
49/*
50 * TLS/SSLv3 server methods
51 */
52
4fa52141
VD
53IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
54 TLS_server_method,
fe3a3291 55 ossl_statem_accept,
8ba708e5 56 ssl_undefined_function,
ccae4a15 57 TLSv1_2_enc_data)
8ba708e5 58
6b01bed2 59#ifndef OPENSSL_NO_TLS1_2_METHOD
4fa52141 60IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
2b8fa1d5 61 tlsv1_2_server_method,
fe3a3291 62 ossl_statem_accept,
8ba708e5 63 ssl_undefined_function,
ccae4a15 64 TLSv1_2_enc_data)
6b01bed2 65#endif
8ba708e5 66
6b01bed2 67#ifndef OPENSSL_NO_TLS1_1_METHOD
4fa52141 68IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
2b8fa1d5 69 tlsv1_1_server_method,
fe3a3291 70 ossl_statem_accept,
8ba708e5 71 ssl_undefined_function,
ccae4a15 72 TLSv1_1_enc_data)
6b01bed2 73#endif
8ba708e5 74
6b01bed2 75#ifndef OPENSSL_NO_TLS1_METHOD
4fa52141 76IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
2b8fa1d5 77 tlsv1_server_method,
fe3a3291 78 ossl_statem_accept,
8ba708e5 79 ssl_undefined_function,
ccae4a15 80 TLSv1_enc_data)
6b01bed2 81#endif
8ba708e5
MC
82
83#ifndef OPENSSL_NO_SSL3_METHOD
2b8fa1d5 84IMPLEMENT_ssl3_meth_func(sslv3_server_method,
fe3a3291 85 ossl_statem_accept,
ccae4a15 86 ssl_undefined_function)
8ba708e5
MC
87#endif
88
89
90/*
91 * TLS/SSLv3 client methods
92 */
93
4fa52141
VD
94IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
95 TLS_client_method,
8ba708e5 96 ssl_undefined_function,
fe3a3291 97 ossl_statem_connect,
ccae4a15 98 TLSv1_2_enc_data)
8ba708e5 99
6b01bed2 100#ifndef OPENSSL_NO_TLS1_2_METHOD
4fa52141 101IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
2b8fa1d5 102 tlsv1_2_client_method,
8ba708e5 103 ssl_undefined_function,
fe3a3291 104 ossl_statem_connect,
ccae4a15 105 TLSv1_2_enc_data)
6b01bed2 106#endif
8ba708e5 107
6b01bed2 108#ifndef OPENSSL_NO_TLS1_1_METHOD
4fa52141 109IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
2b8fa1d5 110 tlsv1_1_client_method,
8ba708e5 111 ssl_undefined_function,
fe3a3291 112 ossl_statem_connect,
ccae4a15 113 TLSv1_1_enc_data)
6b01bed2 114#endif
8ba708e5 115
6b01bed2 116#ifndef OPENSSL_NO_TLS1_METHOD
4fa52141 117IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
2b8fa1d5 118 tlsv1_client_method,
8ba708e5 119 ssl_undefined_function,
fe3a3291 120 ossl_statem_connect,
ccae4a15 121 TLSv1_enc_data)
6b01bed2 122#endif
8ba708e5
MC
123
124#ifndef OPENSSL_NO_SSL3_METHOD
2b8fa1d5 125IMPLEMENT_ssl3_meth_func(sslv3_client_method,
8ba708e5 126 ssl_undefined_function,
ccae4a15 127 ossl_statem_connect)
8ba708e5
MC
128#endif
129
130
131/*
132 * DTLS methods
133 */
8ba708e5 134
6b01bed2 135#ifndef OPENSSL_NO_DTLS1_METHOD
4fa52141 136IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
2b8fa1d5 137 dtlsv1_method,
fe3a3291
MC
138 ossl_statem_accept,
139 ossl_statem_connect,
ccae4a15 140 DTLSv1_enc_data)
6b01bed2 141#endif
8ba708e5 142
6b01bed2 143#ifndef OPENSSL_NO_DTLS1_2_METHOD
4fa52141 144IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
2b8fa1d5 145 dtlsv1_2_method,
fe3a3291
MC
146 ossl_statem_accept,
147 ossl_statem_connect,
ccae4a15 148 DTLSv1_2_enc_data)
6b01bed2 149#endif
8ba708e5 150
4fa52141 151IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
8ba708e5 152 DTLS_method,
fe3a3291
MC
153 ossl_statem_accept,
154 ossl_statem_connect,
ccae4a15 155 DTLSv1_2_enc_data)
8ba708e5 156
8ba708e5
MC
157/*
158 * DTLS server methods
159 */
160
6b01bed2 161#ifndef OPENSSL_NO_DTLS1_METHOD
4fa52141 162IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
2b8fa1d5 163 dtlsv1_server_method,
fe3a3291 164 ossl_statem_accept,
8ba708e5 165 ssl_undefined_function,
ccae4a15 166 DTLSv1_enc_data)
6b01bed2 167#endif
8ba708e5 168
6b01bed2 169#ifndef OPENSSL_NO_DTLS1_2_METHOD
4fa52141 170IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
2b8fa1d5 171 dtlsv1_2_server_method,
fe3a3291 172 ossl_statem_accept,
8ba708e5 173 ssl_undefined_function,
ccae4a15 174 DTLSv1_2_enc_data)
6b01bed2 175#endif
8ba708e5 176
4fa52141 177IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
8ba708e5 178 DTLS_server_method,
fe3a3291 179 ossl_statem_accept,
8ba708e5 180 ssl_undefined_function,
ccae4a15 181 DTLSv1_2_enc_data)
8ba708e5
MC
182
183
184/*
185 * DTLS client methods
186 */
187
6b01bed2 188#ifndef OPENSSL_NO_DTLS1_METHOD
4fa52141 189IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
2b8fa1d5 190 dtlsv1_client_method,
8ba708e5 191 ssl_undefined_function,
fe3a3291 192 ossl_statem_connect,
ccae4a15 193 DTLSv1_enc_data)
032924c4
DW
194IMPLEMENT_dtls1_meth_func(DTLS1_BAD_VER, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
195 dtls_bad_ver_client_method,
196 ssl_undefined_function,
197 ossl_statem_connect,
198 DTLSv1_enc_data)
6b01bed2 199#endif
8ba708e5 200
6b01bed2 201#ifndef OPENSSL_NO_DTLS1_2_METHOD
4fa52141 202IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
2b8fa1d5 203 dtlsv1_2_client_method,
8ba708e5 204 ssl_undefined_function,
fe3a3291 205 ossl_statem_connect,
ccae4a15 206 DTLSv1_2_enc_data)
6b01bed2 207#endif
8ba708e5 208
4fa52141 209IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
8ba708e5
MC
210 DTLS_client_method,
211 ssl_undefined_function,
fe3a3291 212 ossl_statem_connect,
ccae4a15 213 DTLSv1_2_enc_data)
2b8fa1d5
KR
214
215#if OPENSSL_API_COMPAT < 0x10100000L
216
217# ifndef OPENSSL_NO_TLS1_2_METHOD
218const SSL_METHOD *TLSv1_2_method(void)
219{
220 return tlsv1_2_method();
221}
222
223const SSL_METHOD *TLSv1_2_server_method(void)
224{
225 return tlsv1_2_server_method();
226}
227
228const SSL_METHOD *TLSv1_2_client_method(void)
229{
230 return tlsv1_2_client_method();
231}
232# endif
233
234# ifndef OPENSSL_NO_TLS1_1_METHOD
235const SSL_METHOD *TLSv1_1_method(void)
236{
237 return tlsv1_1_method();
238}
239
240const SSL_METHOD *TLSv1_1_server_method(void)
241{
242 return tlsv1_1_server_method();
243}
244
245const SSL_METHOD *TLSv1_1_client_method(void)
246{
247 return tlsv1_1_client_method();
248}
249# endif
250
251# ifndef OPENSSL_NO_TLS1_METHOD
252const SSL_METHOD *TLSv1_method(void)
253{
254 return tlsv1_method();
255}
256
257const SSL_METHOD *TLSv1_server_method(void)
258{
259 return tlsv1_server_method();
260}
261
262const SSL_METHOD *TLSv1_client_method(void)
263{
264 return tlsv1_client_method();
265}
266# endif
267
268# ifndef OPENSSL_NO_SSL3_METHOD
269const SSL_METHOD *SSLv3_method(void)
270{
271 return sslv3_method();
272}
273
274const SSL_METHOD *SSLv3_server_method(void)
275{
276 return sslv3_server_method();
277}
278
279const SSL_METHOD *SSLv3_client_method(void)
280{
281 return sslv3_client_method();
282}
283# endif
284
285# ifndef OPENSSL_NO_DTLS1_2_METHOD
286const SSL_METHOD *DTLSv1_2_method(void)
287{
288 return dtlsv1_2_method();
289}
290
291const SSL_METHOD *DTLSv1_2_server_method(void)
292{
293 return dtlsv1_2_server_method();
294}
295
296const SSL_METHOD *DTLSv1_2_client_method(void)
297{
298 return dtlsv1_2_client_method();
299}
300# endif
301
302# ifndef OPENSSL_NO_DTLS1_METHOD
303const SSL_METHOD *DTLSv1_method(void)
304{
305 return dtlsv1_method();
306}
307
308const SSL_METHOD *DTLSv1_server_method(void)
309{
310 return dtlsv1_server_method();
311}
312
313const SSL_METHOD *DTLSv1_client_method(void)
314{
315 return dtlsv1_client_method();
316}
317# endif
318
319#endif
320