export DLLs functions for MSVC with CMake

- Add 3 DEF files to export functions from Windows DLLs
  - Add gettimeofday to crypto/crypto.def (*1)
  - Remove gai_strerrorA from tls/tls.def (*1)
- Fix CMakeLists.txt to use DEF files as PRIVATE
- Change DLL import library file name since it duplicates with static library
- Ignore compiler warning C4267, and Edit CMAKE_C_FLAGS not to overwrite it (*1)
- Add USE_SHARED option to build openssl.exe with shared libraries (*1)

  (*1) recommended by @mcnameej
This commit is contained in:
kinichiro 2016-09-06 23:25:28 +09:00 committed by Brent Cook
parent e168f3b0bc
commit 62f2a73061
10 changed files with 4465 additions and 9 deletions

View File

@ -101,6 +101,8 @@ if(MSVC)
# possible loss of data
"C4244" # 'function' : conversion from 'int' to 'uint8_t',
# possible loss of data
"C4267" # conversion from 'size_t' to 'some type that is almost
# certainly safe to convert a size_t to'.
"C4706" # assignment within conditional expression
"C4820" # 'bytes' bytes padding added after construct 'member_name'
"C4996" # 'read': The POSIX name for this item is deprecated. Instead,
@ -108,7 +110,8 @@ if(MSVC)
)
string(REPLACE "C" " -wd" MSVC_DISABLED_WARNINGS_STR
${MSVC_DISABLED_WARNINGS_LIST})
set(CMAKE_C_FLAGS "-MP -W4 ${MSVC_DISABLED_WARNINGS_STR}")
string(REGEX REPLACE "[/-]W[1234][ ]?" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -MP -W4 ${MSVC_DISABLED_WARNINGS_STR}")
endif()
check_function_exists(asprintf HAVE_ASPRINTF)
@ -223,7 +226,24 @@ if(ENABLE_ASM)
endif()
endif()
set(OPENSSL_LIBS ssl crypto)
if(NOT (CMAKE_SYSTEM_NAME MATCHES "(Darwin|CYGWIN)"))
set(BUILD_SHARED true)
endif()
# USE_SHARED builds applications (e.g. openssl) using shared LibreSSL.
# By default, applications use LibreSSL static library to avoid dependencies.
# USE_SHARED isn't set by default; use -DUSE_SHARED=ON with CMake to enable.
# Can be helpful for debugging; don't use for public releases.
if(NOT BUILD_SHARED)
set(USE_SHARED off)
endif()
if(USE_SHARED)
set(OPENSSL_LIBS ssl-shared crypto-shared)
else()
set(OPENSSL_LIBS ssl crypto)
endif()
if(CMAKE_HOST_WIN32)
set(OPENSSL_LIBS ${OPENSSL_LIBS} ws2_32)
endif()
@ -240,10 +260,6 @@ if(CMAKE_SYSTEM_NAME MATCHES "SunOS")
set(OPENSSL_LIBS ${OPENSSL_LIBS} nsl socket)
endif()
if(NOT (CMAKE_SYSTEM_NAME MATCHES "(Darwin|CYGWIN)"))
set(BUILD_SHARED true)
endif()
check_type_size(time_t SIZEOF_TIME_T)
if(SIZEOF_TIME_T STREQUAL "4")
set(SMALL_TIME_T true)

View File

@ -753,11 +753,14 @@ if (BUILD_SHARED)
add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>)
add_library(crypto-shared SHARED $<TARGET_OBJECTS:crypto-objects>)
if (WIN32)
target_sources(crypto-shared PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/crypto.def)
target_link_libraries(crypto-shared crypto Ws2_32.lib)
set(CRYPTO_POSTFIX -${CRYPTO_MAJOR_VERSION})
endif()
set_target_properties(crypto-shared PROPERTIES
OUTPUT_NAME crypto${CRYPTO_POSTFIX} ARCHIVE_OUTPUT_NAME crypto)
OUTPUT_NAME crypto${CRYPTO_POSTFIX}
ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX})
set_target_properties(crypto-shared PROPERTIES VERSION
${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION})
install(TARGETS crypto crypto-shared DESTINATION lib)

View File

@ -9,6 +9,7 @@ lib_LTLIBRARIES = libcrypto.la
EXTRA_DIST = VERSION
EXTRA_DIST += CMakeLists.txt
EXTRA_DIST += crypto.def
# needed for a CMake target
EXTRA_DIST += compat/strcasecmp.c

3789
crypto/crypto.def Normal file

File diff suppressed because it is too large Load Diff

View File

@ -53,11 +53,14 @@ if (BUILD_SHARED)
add_library(ssl STATIC $<TARGET_OBJECTS:ssl-objects>)
add_library(ssl-shared SHARED $<TARGET_OBJECTS:ssl-objects>)
if (WIN32)
target_sources(ssl-shared PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/ssl.def)
target_link_libraries(ssl-shared crypto-shared Ws2_32.lib)
set(SSL_POSTFIX -${SSL_MAJOR_VERSION})
endif()
set_target_properties(ssl-shared PROPERTIES
OUTPUT_NAME ssl${SSL_POSTFIX} ARCHIVE_OUTPUT_NAME ssl)
OUTPUT_NAME ssl${SSL_POSTFIX}
ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX})
set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION}
SOVERSION ${SSL_MAJOR_VERSION})
install(TARGETS ssl ssl-shared DESTINATION lib)

View File

@ -4,6 +4,7 @@ lib_LTLIBRARIES = libssl.la
EXTRA_DIST = VERSION
EXTRA_DIST += CMakeLists.txt
EXTRA_DIST += ssl.def
libssl_la_LDFLAGS = -version-info @LIBSSL_VERSION@ -no-undefined
libssl_la_LIBADD = $(abs_top_builddir)/crypto/libcrypto.la

553
ssl/ssl.def Normal file
View File

@ -0,0 +1,553 @@
EXPORTS
BIO_f_ssl
BIO_new_buffer_ssl_connect
BIO_new_ssl
BIO_new_ssl_connect
BIO_ssl_copy_session_id
BIO_ssl_shutdown
CBB_add_asn1
CBB_add_asn1_uint64
CBB_add_bytes
CBB_add_space
CBB_add_u16
CBB_add_u16_length_prefixed
CBB_add_u24
CBB_add_u24_length_prefixed
CBB_add_u8
CBB_add_u8_length_prefixed
CBB_cleanup
CBB_finish
CBB_flush
CBB_init
CBB_init_fixed
CBS_asn1_indefinite_to_definite
CBS_contains_zero_byte
CBS_data
CBS_dup
CBS_get_any_asn1_element
CBS_get_asn1
CBS_get_asn1_element
CBS_get_asn1_uint64
CBS_get_bytes
CBS_get_optional_asn1
CBS_get_optional_asn1_bool
CBS_get_optional_asn1_octet_string
CBS_get_optional_asn1_uint64
CBS_get_u16
CBS_get_u16_length_prefixed
CBS_get_u24
CBS_get_u24_length_prefixed
CBS_get_u32
CBS_get_u8
CBS_get_u8_length_prefixed
CBS_init
CBS_len
CBS_mem_equal
CBS_offset
CBS_peek_asn1_tag
CBS_skip
CBS_stow
CBS_strdup
CBS_write_bytes
DTLSv1_client_method
DTLSv1_client_method_data
DTLSv1_enc_data
DTLSv1_method
DTLSv1_method_data
DTLSv1_server_method
DTLSv1_server_method_data
ERR_load_SSL_strings
OBJ_bsearch_ssl_cipher_id
PEM_read_SSL_SESSION
PEM_read_bio_SSL_SESSION
PEM_write_SSL_SESSION
PEM_write_bio_SSL_SESSION
SSL_CIPHER_description
SSL_CIPHER_get_bits
SSL_CIPHER_get_by_id
SSL_CIPHER_get_by_value
SSL_CIPHER_get_id
SSL_CIPHER_get_name
SSL_CIPHER_get_value
SSL_CIPHER_get_version
SSL_COMP_add_compression_method
SSL_COMP_get_compression_methods
SSL_COMP_get_name
SSL_CTX_add_client_CA
SSL_CTX_add_session
SSL_CTX_callback_ctrl
SSL_CTX_check_private_key
SSL_CTX_ctrl
SSL_CTX_flush_sessions
SSL_CTX_free
SSL_CTX_get_cert_store
SSL_CTX_get_client_CA_list
SSL_CTX_get_client_cert_cb
SSL_CTX_get_ex_data
SSL_CTX_get_ex_new_index
SSL_CTX_get_info_callback
SSL_CTX_get_quiet_shutdown
SSL_CTX_get_timeout
SSL_CTX_get_verify_callback
SSL_CTX_get_verify_depth
SSL_CTX_get_verify_mode
SSL_CTX_load_verify_locations
SSL_CTX_load_verify_mem
SSL_CTX_new
SSL_CTX_remove_session
SSL_CTX_sess_get_get_cb
SSL_CTX_sess_get_new_cb
SSL_CTX_sess_get_remove_cb
SSL_CTX_sess_set_get_cb
SSL_CTX_sess_set_new_cb
SSL_CTX_sess_set_remove_cb
SSL_CTX_sessions
SSL_CTX_set1_param
SSL_CTX_set_alpn_protos
SSL_CTX_set_alpn_select_cb
SSL_CTX_set_cert_store
SSL_CTX_set_cert_verify_callback
SSL_CTX_set_cipher_list
SSL_CTX_set_client_CA_list
SSL_CTX_set_client_cert_cb
SSL_CTX_set_client_cert_engine
SSL_CTX_set_cookie_generate_cb
SSL_CTX_set_cookie_verify_cb
SSL_CTX_set_default_passwd_cb
SSL_CTX_set_default_passwd_cb_userdata
SSL_CTX_set_default_verify_paths
SSL_CTX_set_ex_data
SSL_CTX_set_generate_session_id
SSL_CTX_set_info_callback
SSL_CTX_set_msg_callback
SSL_CTX_set_next_proto_select_cb
SSL_CTX_set_next_protos_advertised_cb
SSL_CTX_set_purpose
SSL_CTX_set_quiet_shutdown
SSL_CTX_set_session_id_context
SSL_CTX_set_ssl_version
SSL_CTX_set_timeout
SSL_CTX_set_tlsext_use_srtp
SSL_CTX_set_tmp_dh_callback
SSL_CTX_set_tmp_ecdh_callback
SSL_CTX_set_tmp_rsa_callback
SSL_CTX_set_trust
SSL_CTX_set_verify
SSL_CTX_set_verify_depth
SSL_CTX_use_PrivateKey
SSL_CTX_use_PrivateKey_ASN1
SSL_CTX_use_PrivateKey_file
SSL_CTX_use_RSAPrivateKey
SSL_CTX_use_RSAPrivateKey_ASN1
SSL_CTX_use_RSAPrivateKey_file
SSL_CTX_use_certificate
SSL_CTX_use_certificate_ASN1
SSL_CTX_use_certificate_chain_file
SSL_CTX_use_certificate_chain_mem
SSL_CTX_use_certificate_file
SSL_SESSION_free
SSL_SESSION_get0_peer
SSL_SESSION_get_compress_id
SSL_SESSION_get_ex_data
SSL_SESSION_get_ex_new_index
SSL_SESSION_get_id
SSL_SESSION_get_time
SSL_SESSION_get_timeout
SSL_SESSION_new
SSL_SESSION_print
SSL_SESSION_print_fp
SSL_SESSION_set1_id_context
SSL_SESSION_set_ex_data
SSL_SESSION_set_time
SSL_SESSION_set_timeout
SSL_accept
SSL_add_client_CA
SSL_add_dir_cert_subjects_to_stack
SSL_add_file_cert_subjects_to_stack
SSL_alert_desc_string
SSL_alert_desc_string_long
SSL_alert_type_string
SSL_alert_type_string_long
SSL_cache_hit
SSL_callback_ctrl
SSL_check_private_key
SSL_clear
SSL_connect
SSL_copy_session_id
SSL_ctrl
SSL_do_handshake
SSL_dup
SSL_dup_CA_list
SSL_export_keying_material
SSL_free
SSL_get0_alpn_selected
SSL_get0_next_proto_negotiated
SSL_get1_session
SSL_get_SSL_CTX
SSL_get_certificate
SSL_get_cipher_list
SSL_get_ciphers
SSL_get_client_CA_list
SSL_get_current_cipher
SSL_get_current_compression
SSL_get_current_expansion
SSL_get_default_timeout
SSL_get_error
SSL_get_ex_data
SSL_get_ex_data_X509_STORE_CTX_idx
SSL_get_ex_new_index
SSL_get_fd
SSL_get_finished
SSL_get_info_callback
SSL_get_peer_cert_chain
SSL_get_peer_certificate
SSL_get_peer_finished
SSL_get_privatekey
SSL_get_quiet_shutdown
SSL_get_rbio
SSL_get_read_ahead
SSL_get_rfd
SSL_get_selected_srtp_profile
SSL_get_servername
SSL_get_servername_type
SSL_get_session
SSL_get_shared_ciphers
SSL_get_shutdown
SSL_get_srtp_profiles
SSL_get_ssl_method
SSL_get_verify_callback
SSL_get_verify_depth
SSL_get_verify_mode
SSL_get_verify_result
SSL_get_version
SSL_get_wbio
SSL_get_wfd
SSL_has_matching_session_id
SSL_library_init
SSL_load_client_CA_file
SSL_load_error_strings
SSL_new
SSL_peek
SSL_pending
SSL_read
SSL_renegotiate
SSL_renegotiate_abbreviated
SSL_renegotiate_pending
SSL_rstate_string
SSL_rstate_string_long
SSL_select_next_proto
SSL_set1_param
SSL_set_SSL_CTX
SSL_set_accept_state
SSL_set_alpn_protos
SSL_set_bio
SSL_set_cipher_list
SSL_set_client_CA_list
SSL_set_connect_state
SSL_set_debug
SSL_set_ex_data
SSL_set_fd
SSL_set_generate_session_id
SSL_set_info_callback
SSL_set_msg_callback
SSL_set_purpose
SSL_set_quiet_shutdown
SSL_set_read_ahead
SSL_set_rfd
SSL_set_session
SSL_set_session_id_context
SSL_set_session_secret_cb
SSL_set_session_ticket_ext
SSL_set_session_ticket_ext_cb
SSL_set_shutdown
SSL_set_ssl_method
SSL_set_state
SSL_set_tlsext_use_srtp
SSL_set_tmp_dh_callback
SSL_set_tmp_ecdh_callback
SSL_set_tmp_rsa_callback
SSL_set_trust
SSL_set_verify
SSL_set_verify_depth
SSL_set_verify_result
SSL_set_wfd
SSL_shutdown
SSL_state
SSL_state_string
SSL_state_string_long
SSL_use_PrivateKey
SSL_use_PrivateKey_ASN1
SSL_use_PrivateKey_file
SSL_use_RSAPrivateKey
SSL_use_RSAPrivateKey_ASN1
SSL_use_RSAPrivateKey_file
SSL_use_certificate
SSL_use_certificate_ASN1
SSL_use_certificate_file
SSL_version
SSL_version_str
SSL_want
SSL_write
SSLv23_client_method
SSLv23_method
SSLv23_server_method
TLS_client_method
TLS_client_method_data
TLS_method
TLS_method_data
TLS_server_method
TLS_server_method_data
TLSv1_1_client_method
TLSv1_1_client_method_data
TLSv1_1_enc_data
TLSv1_1_method
TLSv1_1_method_data
TLSv1_1_server_method
TLSv1_1_server_method_data
TLSv1_2_client_method
TLSv1_2_client_method_data
TLSv1_2_enc_data
TLSv1_2_method
TLSv1_2_method_data
TLSv1_2_server_method
TLSv1_2_server_method_data
TLSv1_client_method
TLSv1_client_method_data
TLSv1_enc_data
TLSv1_method
TLSv1_method_data
TLSv1_server_method
TLSv1_server_method_data
cbs_get_any_asn1_element_internal
d2i_SSL_SESSION
do_dtls1_write
dtls1_accept
dtls1_buffer_message
dtls1_build_sequence_number
dtls1_check_timeout_num
dtls1_clear
dtls1_clear_record_buffer
dtls1_connect
dtls1_ctrl
dtls1_default_timeout
dtls1_dispatch_alert
dtls1_do_write
dtls1_double_timeout
dtls1_enc
dtls1_free
dtls1_get_ccs_header
dtls1_get_cipher
dtls1_get_message
dtls1_get_message_header
dtls1_get_queue_priority
dtls1_get_record
dtls1_get_timeout
dtls1_handle_timeout
dtls1_is_timer_expired
dtls1_listen
dtls1_min_mtu
dtls1_new
dtls1_output_cert_chain
dtls1_read_bytes
dtls1_read_failed
dtls1_reset_seq_numbers
dtls1_retransmit_buffered_messages
dtls1_retransmit_message
dtls1_send_change_cipher_spec
dtls1_send_client_certificate
dtls1_send_server_certificate
dtls1_set_message_header
dtls1_shutdown
dtls1_start_timer
dtls1_stop_timer
dtls1_write_app_data_bytes
dtls1_write_bytes
i2d_SSL_SESSION
pitem_free
pitem_new
pqueue_find
pqueue_free
pqueue_insert
pqueue_iterator
pqueue_new
pqueue_next
pqueue_peek
pqueue_pop
pqueue_size
ssl23_accept
ssl23_connect
ssl23_default_timeout
ssl23_get_client_hello
ssl23_peek
ssl23_read
ssl23_read_bytes
ssl23_write
ssl23_write_bytes
ssl3_accept
ssl3_callback_ctrl
ssl3_cbc_copy_mac
ssl3_cbc_digest_record
ssl3_cbc_record_digest_supported
ssl3_check_cert_and_algorithm
ssl3_check_finished
ssl3_choose_cipher
ssl3_cipher_get_value
ssl3_ciphers
ssl3_clear
ssl3_client_hello
ssl3_connect
ssl3_ctrl
ssl3_ctx_callback_ctrl
ssl3_ctx_ctrl
ssl3_dispatch_alert
ssl3_do_change_cipher_spec
ssl3_do_write
ssl3_free
ssl3_get_cert_status
ssl3_get_cert_verify
ssl3_get_certificate_request
ssl3_get_cipher
ssl3_get_cipher_by_char
ssl3_get_cipher_by_id
ssl3_get_cipher_by_value
ssl3_get_client_certificate
ssl3_get_client_hello
ssl3_get_client_key_exchange
ssl3_get_finished
ssl3_get_key_exchange
ssl3_get_message
ssl3_get_new_session_ticket
ssl3_get_next_proto
ssl3_get_req_cert_type
ssl3_get_server_certificate
ssl3_get_server_done
ssl3_get_server_hello
ssl3_handshake_msg_finish
ssl3_handshake_msg_hdr_len
ssl3_handshake_msg_start
ssl3_handshake_write
ssl3_new
ssl3_num_ciphers
ssl3_output_cert_chain
ssl3_peek
ssl3_pending
ssl3_put_cipher_by_char
ssl3_read
ssl3_read_bytes
ssl3_read_n
ssl3_release_read_buffer
ssl3_release_write_buffer
ssl3_renegotiate
ssl3_renegotiate_check
ssl3_send_alert
ssl3_send_cert_status
ssl3_send_certificate_request
ssl3_send_change_cipher_spec
ssl3_send_client_certificate
ssl3_send_client_key_exchange
ssl3_send_client_verify
ssl3_send_finished
ssl3_send_hello_request
ssl3_send_newsession_ticket
ssl3_send_next_proto
ssl3_send_server_certificate
ssl3_send_server_done
ssl3_send_server_hello
ssl3_send_server_key_exchange
ssl3_setup_buffers
ssl3_setup_init_buffer
ssl3_setup_read_buffer
ssl3_setup_write_buffer
ssl3_shutdown
ssl3_undef_enc_method
ssl3_write
ssl3_write_bytes
ssl3_write_pending
ssl_add_clienthello_renegotiate_ext
ssl_add_clienthello_tlsext
ssl_add_clienthello_use_srtp_ext
ssl_add_serverhello_renegotiate_ext
ssl_add_serverhello_tlsext
ssl_add_serverhello_use_srtp_ext
ssl_bytes_to_cipher_list
ssl_cert_dup
ssl_cert_free
ssl_cert_inst
ssl_cert_new
ssl_cert_type
ssl_check_clienthello_tlsext_early
ssl_check_clienthello_tlsext_late
ssl_check_serverhello_tlsext
ssl_check_srvr_ecc_cert_and_alg
ssl_cipher_get_evp
ssl_cipher_get_evp_aead
ssl_cipher_id_cmp
ssl_cipher_list_to_bytes
ssl_cipher_ptr_id_cmp
ssl_clear_bad_session
ssl_clear_cipher_ctx
ssl_clear_hash_ctx
ssl_create_cipher_list
ssl_do_client_cert_cb
ssl_free_wbio_buffer
ssl_get_algorithm2
ssl_get_auto_dh
ssl_get_ciphers_by_id
ssl_get_handshake_digest
ssl_get_new_session
ssl_get_prev_session
ssl_get_server_send_cert
ssl_get_server_send_pkey
ssl_get_sign_pkey
ssl_init_wbio_buffer
ssl_load_ciphers
ssl_max_server_version
ssl_ok
ssl_parse_clienthello_renegotiate_ext
ssl_parse_clienthello_tlsext
ssl_parse_clienthello_use_srtp_ext
ssl_parse_serverhello_renegotiate_ext
ssl_parse_serverhello_tlsext
ssl_parse_serverhello_use_srtp_ext
ssl_sess_cert_free
ssl_sess_cert_new
ssl_set_cert_masks
ssl_undefined_const_function
ssl_undefined_function
ssl_undefined_void_function
ssl_update_cache
ssl_verify_alarm_type
ssl_verify_cert_chain
ssl_version_string
tls12_get_hash
tls12_get_req_sig_algs
tls12_get_sigandhash
tls12_get_sigid
tls1_alert_code
tls1_cbc_remove_padding
tls1_cert_verify_mac
tls1_change_cipher_state
tls1_check_curve
tls1_check_ec_server_key
tls1_check_ec_tmp_key
tls1_cleanup_key_block
tls1_clear
tls1_default_timeout
tls1_digest_cached_records
tls1_ec_curve_id2nid
tls1_ec_nid2curve_id
tls1_enc
tls1_export_keying_material
tls1_final_finish_mac
tls1_finish_mac
tls1_free
tls1_free_digest_list
tls1_generate_master_secret
tls1_get_shared_curve
tls1_init_finished_mac
tls1_mac
tls1_new
tls1_process_sigalgs
tls1_process_ticket
tls1_record_sequence_increment
tls1_setup_key_block

View File

@ -33,11 +33,14 @@ if (BUILD_SHARED)
add_library(tls STATIC $<TARGET_OBJECTS:tls-objects>)
add_library(tls-shared SHARED $<TARGET_OBJECTS:tls-objects>)
if (WIN32)
target_sources(tls-shared PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/tls.def)
target_link_libraries(tls-shared ssl-shared crypto-shared Ws2_32.lib)
set(TLS_POSTFIX -${TLS_MAJOR_VERSION})
endif()
set_target_properties(tls-shared PROPERTIES
OUTPUT_NAME tls${TLS_POSTFIX} ARCHIVE_OUTPUT_NAME tls)
OUTPUT_NAME tls${TLS_POSTFIX}
ARCHIVE_OUTPUT_NAME tls${TLS_POSTFIX})
set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION}
SOVERSION ${TLS_MAJOR_VERSION})
install(TARGETS tls tls-shared DESTINATION lib)

View File

@ -4,6 +4,7 @@ lib_LTLIBRARIES = libtls.la
EXTRA_DIST = VERSION
EXTRA_DIST += CMakeLists.txt
EXTRA_DIST += tls.def
libtls_la_LDFLAGS = -version-info @LIBTLS_VERSION@ -no-undefined
libtls_la_LIBADD = $(abs_top_builddir)/ssl/libssl.la

86
tls/tls.def Normal file
View File

@ -0,0 +1,86 @@
EXPORTS
strsep
tls_accept_cbs
tls_accept_fds
tls_accept_socket
tls_check_name
tls_client
tls_close
tls_config_add_keypair_file
tls_config_add_keypair_mem
tls_config_clear_keys
tls_config_error
tls_config_free
tls_config_insecure_noverifycert
tls_config_insecure_noverifyname
tls_config_insecure_noverifytime
tls_config_load_file
tls_config_new
tls_config_parse_protocols
tls_config_prefer_ciphers_client
tls_config_prefer_ciphers_server
tls_config_set_alpn
tls_config_set_ca_file
tls_config_set_ca_mem
tls_config_set_ca_path
tls_config_set_cert_file
tls_config_set_cert_mem
tls_config_set_ciphers
tls_config_set_dheparams
tls_config_set_ecdhecurve
tls_config_set_error
tls_config_set_errorx
tls_config_set_key_file
tls_config_set_key_mem
tls_config_set_keypair_file
tls_config_set_keypair_mem
tls_config_set_protocols
tls_config_set_verify_depth
tls_config_verify
tls_config_verify_client
tls_config_verify_client_optional
tls_configure
tls_configure_server
tls_configure_ssl
tls_configure_ssl_keypair
tls_configure_ssl_verify
tls_conn_alpn_selected
tls_conn_cipher
tls_conn_servername
tls_conn_version
tls_connect
tls_connect_cbs
tls_connect_fds
tls_connect_servername
tls_connect_socket
tls_conninfo_free
tls_conninfo_populate
tls_error
tls_error_set
tls_error_setx
tls_free
tls_handshake
tls_handshake_client
tls_handshake_server
tls_host_port
tls_init
tls_load_file
tls_new
tls_peer_cert_contains_name
tls_peer_cert_hash
tls_peer_cert_issuer
tls_peer_cert_notafter
tls_peer_cert_notbefore
tls_peer_cert_provided
tls_peer_cert_subject
tls_read
tls_reset
tls_server
tls_server_conn
tls_set_cbs
tls_set_error
tls_set_errorx
tls_sni_ctx_free
tls_sni_ctx_new
tls_ssl_error
tls_write