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