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