1/* $OpenBSD: ssl.h,v 1.6 2024/03/02 11:48:55 tb Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBSSL_SSL_H
19#define _LIBSSL_SSL_H
20
21#ifndef _MSC_VER
22#include_next <openssl/ssl.h>
23#else
24#include "../include/openssl/ssl.h"
25#endif
26#include "ssl_namespace.h"
27
28LSSL_USED(SSL_CTX_set_msg_callback);
29LSSL_USED(SSL_set_msg_callback);
30LSSL_USED(SSL_CTX_set_keylog_callback);
31LSSL_USED(SSL_CTX_get_keylog_callback);
32LSSL_USED(SSL_set_num_tickets);
33LSSL_USED(SSL_get_num_tickets);
34LSSL_USED(SSL_CTX_set_num_tickets);
35LSSL_USED(SSL_CTX_get_num_tickets);
36LSSL_USED(SSL_get0_verified_chain);
37LSSL_USED(SSL_CTX_sessions);
38LSSL_USED(SSL_CTX_sess_set_new_cb);
39LSSL_USED(SSL_CTX_sess_get_new_cb);
40LSSL_USED(SSL_CTX_sess_set_remove_cb);
41LSSL_USED(SSL_CTX_sess_get_remove_cb);
42LSSL_USED(SSL_CTX_sess_set_get_cb);
43LSSL_USED(SSL_CTX_set_info_callback);
44LSSL_USED(SSL_CTX_get_info_callback);
45LSSL_USED(SSL_CTX_set_client_cert_cb);
46LSSL_USED(SSL_CTX_get_client_cert_cb);
47LSSL_USED(SSL_CTX_set_cookie_generate_cb);
48LSSL_USED(SSL_CTX_set_cookie_verify_cb);
49LSSL_USED(SSL_CTX_set_next_protos_advertised_cb);
50LSSL_USED(SSL_CTX_set_next_proto_select_cb);
51LSSL_USED(SSL_select_next_proto);
52LSSL_USED(SSL_get0_next_proto_negotiated);
53LSSL_USED(SSL_CTX_set_alpn_protos);
54LSSL_USED(SSL_set_alpn_protos);
55LSSL_USED(SSL_CTX_set_alpn_select_cb);
56LSSL_USED(SSL_get0_alpn_selected);
57LSSL_USED(SSL_set_psk_use_session_callback);
58LSSL_USED(SSL_get_finished);
59LSSL_USED(SSL_get_peer_finished);
60LSSL_USED(SSL_verify_client_post_handshake);
61LSSL_USED(SSL_CTX_set_post_handshake_auth);
62LSSL_USED(SSL_set_post_handshake_auth);
63LSSL_USED(PEM_read_bio_SSL_SESSION);
64LSSL_USED(PEM_read_SSL_SESSION);
65LSSL_USED(PEM_write_bio_SSL_SESSION);
66LSSL_USED(PEM_write_SSL_SESSION);
67LSSL_USED(SSL_CTX_set0_chain);
68LSSL_USED(SSL_CTX_set1_chain);
69LSSL_USED(SSL_CTX_add0_chain_cert);
70LSSL_USED(SSL_CTX_add1_chain_cert);
71LSSL_USED(SSL_CTX_get0_chain_certs);
72LSSL_USED(SSL_CTX_clear_chain_certs);
73LSSL_USED(SSL_set0_chain);
74LSSL_USED(SSL_set1_chain);
75LSSL_USED(SSL_add0_chain_cert);
76LSSL_USED(SSL_add1_chain_cert);
77LSSL_USED(SSL_get0_chain_certs);
78LSSL_USED(SSL_clear_chain_certs);
79LSSL_USED(SSL_CTX_set1_groups);
80LSSL_USED(SSL_CTX_set1_groups_list);
81LSSL_USED(SSL_set1_groups);
82LSSL_USED(SSL_set1_groups_list);
83LSSL_USED(SSL_CTX_get_min_proto_version);
84LSSL_USED(SSL_CTX_get_max_proto_version);
85LSSL_USED(SSL_CTX_set_min_proto_version);
86LSSL_USED(SSL_CTX_set_max_proto_version);
87LSSL_USED(SSL_get_min_proto_version);
88LSSL_USED(SSL_get_max_proto_version);
89LSSL_USED(SSL_set_min_proto_version);
90LSSL_USED(SSL_set_max_proto_version);
91LSSL_USED(SSL_CTX_get_ssl_method);
92LSSL_USED(BIO_f_ssl);
93LSSL_USED(BIO_new_ssl);
94LSSL_USED(BIO_new_ssl_connect);
95LSSL_USED(BIO_new_buffer_ssl_connect);
96LSSL_USED(BIO_ssl_copy_session_id);
97LSSL_USED(BIO_ssl_shutdown);
98LSSL_USED(SSL_CTX_get_ciphers);
99LSSL_USED(SSL_CTX_set_cipher_list);
100LSSL_USED(SSL_CTX_set_ciphersuites);
101LSSL_USED(SSL_CTX_new);
102LSSL_USED(SSL_CTX_free);
103LSSL_USED(SSL_CTX_up_ref);
104LSSL_USED(SSL_CTX_set_timeout);
105LSSL_USED(SSL_CTX_get_timeout);
106LSSL_USED(SSL_CTX_get_cert_store);
107LSSL_USED(SSL_CTX_set_cert_store);
108LSSL_USED(SSL_CTX_get0_certificate);
109LSSL_USED(SSL_CTX_get0_privatekey);
110LSSL_USED(SSL_want);
111LSSL_USED(SSL_clear);
112LSSL_USED(SSL_CTX_flush_sessions);
113LSSL_USED(SSL_get_current_cipher);
114LSSL_USED(SSL_CIPHER_get_bits);
115LSSL_USED(SSL_CIPHER_get_version);
116LSSL_USED(SSL_CIPHER_get_name);
117LSSL_USED(SSL_CIPHER_get_id);
118LSSL_USED(SSL_CIPHER_get_value);
119LSSL_USED(SSL_CIPHER_find);
120LSSL_USED(SSL_CIPHER_get_cipher_nid);
121LSSL_USED(SSL_CIPHER_get_digest_nid);
122LSSL_USED(SSL_CIPHER_get_kx_nid);
123LSSL_USED(SSL_CIPHER_get_auth_nid);
124LSSL_USED(SSL_CIPHER_is_aead);
125LSSL_USED(SSL_get_fd);
126LSSL_USED(SSL_get_rfd);
127LSSL_USED(SSL_get_wfd);
128LSSL_USED(SSL_get_cipher_list);
129LSSL_USED(SSL_get_shared_ciphers);
130LSSL_USED(SSL_get_read_ahead);
131LSSL_USED(SSL_pending);
132LSSL_USED(SSL_set_fd);
133LSSL_USED(SSL_set_rfd);
134LSSL_USED(SSL_set_wfd);
135LSSL_USED(SSL_set_bio);
136LSSL_USED(SSL_get_rbio);
137LSSL_USED(SSL_set0_rbio);
138LSSL_USED(SSL_get_wbio);
139LSSL_USED(SSL_set_cipher_list);
140LSSL_USED(SSL_set_ciphersuites);
141LSSL_USED(SSL_set_read_ahead);
142LSSL_USED(SSL_get_verify_mode);
143LSSL_USED(SSL_get_verify_depth);
144LSSL_USED(SSL_get_verify_callback);
145LSSL_USED(SSL_set_verify);
146LSSL_USED(SSL_set_verify_depth);
147LSSL_USED(SSL_use_RSAPrivateKey);
148LSSL_USED(SSL_use_RSAPrivateKey_ASN1);
149LSSL_USED(SSL_use_PrivateKey);
150LSSL_USED(SSL_use_PrivateKey_ASN1);
151LSSL_USED(SSL_use_certificate);
152LSSL_USED(SSL_use_certificate_ASN1);
153LSSL_USED(SSL_use_RSAPrivateKey_file);
154LSSL_USED(SSL_use_PrivateKey_file);
155LSSL_USED(SSL_use_certificate_file);
156LSSL_USED(SSL_use_certificate_chain_file);
157LSSL_USED(SSL_CTX_use_RSAPrivateKey_file);
158LSSL_USED(SSL_CTX_use_PrivateKey_file);
159LSSL_USED(SSL_CTX_use_certificate_file);
160LSSL_USED(SSL_CTX_use_certificate_chain_file);
161LSSL_USED(SSL_CTX_use_certificate_chain_mem);
162LSSL_USED(SSL_load_client_CA_file);
163LSSL_USED(SSL_add_file_cert_subjects_to_stack);
164LSSL_USED(SSL_add_dir_cert_subjects_to_stack);
165LSSL_USED(SSL_load_error_strings);
166LSSL_USED(SSL_state_string);
167LSSL_USED(SSL_rstate_string);
168LSSL_USED(SSL_state_string_long);
169LSSL_USED(SSL_rstate_string_long);
170LSSL_USED(SSL_SESSION_get0_cipher);
171LSSL_USED(SSL_SESSION_get_master_key);
172LSSL_USED(SSL_SESSION_get_protocol_version);
173LSSL_USED(SSL_SESSION_get_time);
174LSSL_USED(SSL_SESSION_set_time);
175LSSL_USED(SSL_SESSION_get_timeout);
176LSSL_USED(SSL_SESSION_set_timeout);
177LSSL_USED(SSL_copy_session_id);
178LSSL_USED(SSL_SESSION_get0_peer);
179LSSL_USED(SSL_SESSION_set1_id);
180LSSL_USED(SSL_SESSION_set1_id_context);
181LSSL_USED(SSL_SESSION_is_resumable);
182LSSL_USED(SSL_SESSION_new);
183LSSL_USED(SSL_SESSION_free);
184LSSL_USED(SSL_SESSION_up_ref);
185LSSL_USED(SSL_SESSION_get_id);
186LSSL_USED(SSL_SESSION_get0_id_context);
187LSSL_USED(SSL_SESSION_get_max_early_data);
188LSSL_USED(SSL_SESSION_set_max_early_data);
189LSSL_USED(SSL_SESSION_get_ticket_lifetime_hint);
190LSSL_USED(SSL_SESSION_has_ticket);
191LSSL_USED(SSL_SESSION_get_compress_id);
192LSSL_USED(SSL_SESSION_print_fp);
193LSSL_USED(SSL_SESSION_print);
194LSSL_USED(i2d_SSL_SESSION);
195LSSL_USED(SSL_set_session);
196LSSL_USED(SSL_CTX_add_session);
197LSSL_USED(SSL_CTX_remove_session);
198LSSL_USED(SSL_CTX_set_generate_session_id);
199LSSL_USED(SSL_set_generate_session_id);
200LSSL_USED(SSL_has_matching_session_id);
201LSSL_USED(d2i_SSL_SESSION);
202LSSL_USED(SSL_get_peer_cert_chain);
203LSSL_USED(SSL_CTX_get_verify_mode);
204LSSL_USED(SSL_CTX_get_verify_depth);
205LSSL_USED(SSL_CTX_get_verify_callback);
206LSSL_USED(SSL_CTX_set_verify);
207LSSL_USED(SSL_CTX_set_verify_depth);
208LSSL_USED(SSL_CTX_set_cert_verify_callback);
209LSSL_USED(SSL_CTX_use_RSAPrivateKey);
210LSSL_USED(SSL_CTX_use_RSAPrivateKey_ASN1);
211LSSL_USED(SSL_CTX_use_PrivateKey);
212LSSL_USED(SSL_CTX_use_PrivateKey_ASN1);
213LSSL_USED(SSL_CTX_use_certificate);
214LSSL_USED(SSL_CTX_use_certificate_ASN1);
215LSSL_USED(SSL_CTX_get_default_passwd_cb);
216LSSL_USED(SSL_CTX_set_default_passwd_cb);
217LSSL_USED(SSL_CTX_get_default_passwd_cb_userdata);
218LSSL_USED(SSL_CTX_set_default_passwd_cb_userdata);
219LSSL_USED(SSL_CTX_check_private_key);
220LSSL_USED(SSL_check_private_key);
221LSSL_USED(SSL_CTX_set_session_id_context);
222LSSL_USED(SSL_set_session_id_context);
223LSSL_USED(SSL_CTX_set_purpose);
224LSSL_USED(SSL_set_purpose);
225LSSL_USED(SSL_CTX_set_trust);
226LSSL_USED(SSL_set_trust);
227LSSL_USED(SSL_set1_host);
228LSSL_USED(SSL_set_hostflags);
229LSSL_USED(SSL_get0_peername);
230LSSL_USED(SSL_CTX_get0_param);
231LSSL_USED(SSL_CTX_set1_param);
232LSSL_USED(SSL_get0_param);
233LSSL_USED(SSL_set1_param);
234LSSL_USED(SSL_new);
235LSSL_USED(SSL_free);
236LSSL_USED(SSL_up_ref);
237LSSL_USED(SSL_accept);
238LSSL_USED(SSL_connect);
239LSSL_USED(SSL_is_dtls);
240LSSL_USED(SSL_is_server);
241LSSL_USED(SSL_read);
242LSSL_USED(SSL_peek);
243LSSL_USED(SSL_write);
244LSSL_USED(SSL_read_ex);
245LSSL_USED(SSL_peek_ex);
246LSSL_USED(SSL_write_ex);
247LSSL_USED(SSL_CTX_get_max_early_data);
248LSSL_USED(SSL_CTX_set_max_early_data);
249LSSL_USED(SSL_get_max_early_data);
250LSSL_USED(SSL_set_max_early_data);
251LSSL_USED(SSL_get_early_data_status);
252LSSL_USED(SSL_read_early_data);
253LSSL_USED(SSL_write_early_data);
254LSSL_USED(SSL_ctrl);
255LSSL_USED(SSL_callback_ctrl);
256LSSL_USED(SSL_CTX_ctrl);
257LSSL_USED(SSL_CTX_callback_ctrl);
258LSSL_USED(SSL_get_error);
259LSSL_USED(SSL_get_version);
260LSSL_USED(SSL_CTX_set_ssl_version);
261LSSL_USED(SSLv23_method);
262LSSL_USED(SSLv23_server_method);
263LSSL_USED(SSLv23_client_method);
264LSSL_USED(TLSv1_method);
265LSSL_USED(TLSv1_server_method);
266LSSL_USED(TLSv1_client_method);
267LSSL_USED(TLSv1_1_method);
268LSSL_USED(TLSv1_1_server_method);
269LSSL_USED(TLSv1_1_client_method);
270LSSL_USED(TLSv1_2_method);
271LSSL_USED(TLSv1_2_server_method);
272LSSL_USED(TLSv1_2_client_method);
273LSSL_USED(TLS_method);
274LSSL_USED(TLS_server_method);
275LSSL_USED(TLS_client_method);
276LSSL_USED(DTLSv1_method);
277LSSL_USED(DTLSv1_server_method);
278LSSL_USED(DTLSv1_client_method);
279LSSL_USED(DTLSv1_2_method);
280LSSL_USED(DTLSv1_2_server_method);
281LSSL_USED(DTLSv1_2_client_method);
282LSSL_USED(DTLS_method);
283LSSL_USED(DTLS_server_method);
284LSSL_USED(DTLS_client_method);
285LSSL_USED(SSL_get_ciphers);
286LSSL_USED(SSL_get_client_ciphers);
287LSSL_USED(SSL_get1_supported_ciphers);
288LSSL_USED(SSL_do_handshake);
289LSSL_USED(SSL_renegotiate);
290LSSL_USED(SSL_renegotiate_abbreviated);
291LSSL_USED(SSL_renegotiate_pending);
292LSSL_USED(SSL_shutdown);
293LSSL_USED(SSL_get_ssl_method);
294LSSL_USED(SSL_set_ssl_method);
295LSSL_USED(SSL_alert_type_string_long);
296LSSL_USED(SSL_alert_type_string);
297LSSL_USED(SSL_alert_desc_string_long);
298LSSL_USED(SSL_alert_desc_string);
299LSSL_USED(SSL_set_client_CA_list);
300LSSL_USED(SSL_CTX_set_client_CA_list);
301LSSL_USED(SSL_get_client_CA_list);
302LSSL_USED(SSL_CTX_get_client_CA_list);
303LSSL_USED(SSL_add_client_CA);
304LSSL_USED(SSL_CTX_add_client_CA);
305LSSL_USED(SSL_set_connect_state);
306LSSL_USED(SSL_set_accept_state);
307LSSL_USED(SSL_get_default_timeout);
308LSSL_USED(SSL_library_init);
309LSSL_USED(SSL_CIPHER_description);
310LSSL_USED(SSL_dup_CA_list);
311LSSL_USED(SSL_dup);
312LSSL_USED(SSL_get_certificate);
313LSSL_USED(SSL_get_privatekey);
314LSSL_USED(SSL_CTX_set_quiet_shutdown);
315LSSL_USED(SSL_CTX_get_quiet_shutdown);
316LSSL_USED(SSL_set_quiet_shutdown);
317LSSL_USED(SSL_get_quiet_shutdown);
318LSSL_USED(SSL_set_shutdown);
319LSSL_USED(SSL_get_shutdown);
320LSSL_USED(SSL_version);
321LSSL_USED(SSL_CTX_set_default_verify_paths);
322LSSL_USED(SSL_CTX_load_verify_locations);
323LSSL_USED(SSL_CTX_load_verify_mem);
324LSSL_USED(SSL_get_session);
325LSSL_USED(SSL_get1_session);
326LSSL_USED(SSL_get_SSL_CTX);
327LSSL_USED(SSL_set_SSL_CTX);
328LSSL_USED(SSL_set_info_callback);
329LSSL_USED(SSL_get_info_callback);
330LSSL_USED(SSL_state);
331LSSL_USED(SSL_set_state);
332LSSL_USED(SSL_set_verify_result);
333LSSL_USED(SSL_get_verify_result);
334LSSL_USED(SSL_set_ex_data);
335LSSL_USED(SSL_get_ex_data);
336LSSL_USED(SSL_get_ex_new_index);
337LSSL_USED(SSL_SESSION_set_ex_data);
338LSSL_USED(SSL_SESSION_get_ex_data);
339LSSL_USED(SSL_SESSION_get_ex_new_index);
340LSSL_USED(SSL_CTX_set_ex_data);
341LSSL_USED(SSL_CTX_get_ex_data);
342LSSL_USED(SSL_CTX_get_ex_new_index);
343LSSL_USED(SSL_get_ex_data_X509_STORE_CTX_idx);
344LSSL_USED(SSL_CTX_set_tmp_rsa_callback);
345LSSL_USED(SSL_set_tmp_rsa_callback);
346LSSL_USED(SSL_CTX_set_tmp_dh_callback);
347LSSL_USED(SSL_set_tmp_dh_callback);
348LSSL_USED(SSL_CTX_set_tmp_ecdh_callback);
349LSSL_USED(SSL_set_tmp_ecdh_callback);
350LSSL_USED(SSL_get_client_random);
351LSSL_USED(SSL_get_server_random);
352LSSL_USED(SSL_get_current_compression);
353LSSL_USED(SSL_get_current_expansion);
354LSSL_USED(SSL_get_peer_certificate);
355LSSL_USED(SSL_COMP_get_name);
356LSSL_USED(SSL_COMP_get_compression_methods);
357LSSL_USED(SSL_COMP_add_compression_method);
358LSSL_USED(SSL_set_session_ticket_ext);
359LSSL_USED(SSL_set_session_ticket_ext_cb);
360LSSL_USED(SSL_set_session_secret_cb);
361LSSL_USED(SSL_cache_hit);
362LSSL_USED(SSL_set_security_level);
363LSSL_USED(SSL_get_security_level);
364LSSL_USED(SSL_CTX_set_security_level);
365LSSL_USED(SSL_CTX_get_security_level);
366LSSL_USED(SSL_CTX_set_quic_method);
367LSSL_USED(SSL_CTX_sess_get_get_cb);
368LSSL_USED(SSL_set_quic_method);
369LSSL_USED(SSL_is_quic);
370LSSL_USED(SSL_quic_max_handshake_flight_len);
371LSSL_USED(SSL_quic_read_level);
372LSSL_USED(SSL_quic_write_level);
373LSSL_USED(SSL_provide_quic_data);
374LSSL_USED(SSL_process_quic_post_handshake);
375LSSL_USED(SSL_set_quic_transport_params);
376LSSL_USED(SSL_get_peer_quic_transport_params);
377LSSL_USED(SSL_set_quic_use_legacy_codepoint);
378LSSL_USED(ERR_load_SSL_strings);
379LSSL_USED(OPENSSL_init_ssl);
380
381#endif /* _LIBSSL_SSL_H */
382