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