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