OpenVPN
error.h File Reference
#include "basic.h"
#include "syshead.h"
#include <assert.h>
#include "errlevel.h"
Include dependency graph for error.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ERR_BUF_SIZE   10240
#define OPENVPN_MSG_FP   stdout
#define OPENVPN_ERROR_FP   stderr
#define OPENVPN_EXIT_STATUS_GOOD   0
#define OPENVPN_EXIT_STATUS_ERROR   1
#define OPENVPN_EXIT_STATUS_USAGE   1
#define OPENVPN_EXIT_STATUS_CANNOT_OPEN_DEBUG_FILE   1
#define OPENVPN_DEBUG_FILE   PACKAGE ".log"
#define openvpn_errno()
#define M_DEBUG_LEVEL   (0x0Fu) /* debug level mask */
#define M_FATAL   (1u << 4) /* exit program */
#define M_NONFATAL   (1u << 5) /* non-fatal error */
#define M_WARN   (1u << 6) /* call syslog with LOG_WARNING */
#define M_DEBUG   (1u << 7)
#define M_ERRNO   (1u << 8) /* show errno description */
#define M_NOMUTE   (1u << 11) /* don't do mute processing */
#define M_NOPREFIX   (1u << 12) /* don't show date/time prefix */
#define M_USAGE_SMALL   (1u << 13) /* fatal options error, call usage_small */
#define M_MSG_VIRT_OUT   (1u << 14) /* output message through msg_status_output callback */
#define M_OPTERR   (1u << 15) /* print "Options error:" prefix */
#define M_NOLF   (1u << 16) /* don't print new line */
#define M_NOIPREFIX   (1u << 17) /* don't print instance prefix */
#define M_ERR   (M_FATAL | M_ERRNO)
#define M_USAGE   (M_USAGE_SMALL | M_NOPREFIX | M_OPTERR)
#define M_CLIENT   (M_MSG_VIRT_OUT | M_NOMUTE | M_NOIPREFIX)
#define MUTE_LEVEL_SHIFT   24
#define MUTE_LEVEL_MASK   0xFFu
#define ENCODE_MUTE_LEVEL(mute_level)
#define DECODE_MUTE_LEVEL(flags)
#define LOGLEV(log_level, mute_level, other)
#define EXIT_FATAL(flags)
#define msg(flags, ...)
#define dmsg(flags, ...)
#define SDL_CONSTRAIN   (1 << 0)
#define ASSERT(x)

Typedefs

typedef unsigned int msglvl_t

Functions

const char * strerror_win32 (DWORD errnum, struct gc_arena *gc)
bool dont_mute (msglvl_t flags)
 Check muting filter.
void x_msg (const msglvl_t flags, const char *format,...)
void x_msg_va (const msglvl_t flags, const char *format, va_list arglist)
void error_reset (void)
void errors_to_stderr (void)
void set_suppress_timestamps (bool suppressed)
void set_machine_readable_output (bool parsable)
bool set_debug_level (const int level, const unsigned int flags)
bool set_mute_cutoff (const int cutoff)
msglvl_t get_debug_level (void)
int get_mute_cutoff (void)
const char * msg_flags_string (const msglvl_t flags, struct gc_arena *gc)
FILE * msg_fp (const msglvl_t flags)
void assert_failed (const char *filename, int line, const char *condition) __attribute__((__noreturn__))
static bool check_debug_level (msglvl_t level)
static bool msg_test (msglvl_t flags)
 Return true if flags represent an enabled, not muted log level.
void open_syslog (const char *pgmname, bool stdio_to_null)
void close_syslog (void)
void redirect_stdout_stderr (const char *file, bool append)
int get_orig_stderr (void)
void openvpn_exit (const int status)
void out_of_memory (void)
void reset_check_status (void)
void set_check_status (unsigned int info_level, unsigned int verbose_level)
void x_check_status (ssize_t status, const char *description, struct link_socket *sock, const struct tuntap *tt)
static void check_status (ssize_t status, const char *description, struct link_socket *sock, const struct tuntap *tt)
static void set_check_status_error_delay (unsigned int milliseconds)
static void msg_set_prefix (const char *prefix)
static const char * msg_get_prefix (void)
static void msg_set_virtual_output (const struct virtual_output *vo)
static const struct virtual_output * msg_get_virtual_output (void)
static bool ignore_sys_error (const int err, bool crt_error)
static msglvl_t nonfatal (const msglvl_t err)
 Convert fatal errors to nonfatal, don't touch other errors.
static int openvpn_errno_maybe_crt (bool *crt_error)

Variables

msglvl_t x_debug_level
int x_msg_line_num
unsigned int x_cs_info_level
unsigned int x_cs_verbose_level
unsigned int x_cs_err_delay_ms
const char * x_msg_prefix
const struct virtual_output * x_msg_virtual_output

Macro Definition Documentation

◆ ASSERT

#define ASSERT ( x)
Value:
do \
{ \
if (!(x)) \
{ \
assert_failed(__FILE__, __LINE__, #x); \
} \
} while (false)

Definition at line 221 of file error.h.

Referenced by add_env_item(), add_option(), add_route(), add_session_token_env(), addr_match(), addr_port_match(), addrlist_match(), addrlist_port_match(), adjust_power_of_2(), af_addr_size(), alloc_buf_sock_tun(), alloc_pull_filter(), append_cipher_to_ncp_list(), argv_grow(), ascii2ipset(), atoi_constrained(), bio_read(), bio_write(), buf_parse(), buffer_list_advance(), buffer_list_push_data(), buffer_read_from_file(), cert_hash_remember(), cert_verify_callback(), check_fragment(), check_hmac_token(), check_incoming_control_channel(), check_ping_send_dowork(), check_send_occ_msg_dowork(), check_server_poll_timeout(), checked_snprintf(), cipher_ctx_final_check_tag(), cipher_ctx_init(), cipher_defined(), cipher_get(), cipher_kt_block_size(), cipher_kt_iv_size(), cipher_kt_key_size(), cipher_kt_mode(), cipher_kt_name(), clamp_size_to_int(), close_context(), close_tun(), close_tun_afunix(), compute_wakeup_sigma(), construct_name_value(), copy_acks_to_mru(), create_key(), create_metadata_days_ago(), create_socket(), create_socket_tcp(), create_socket_udp(), crypto_init_lib_engine(), crypto_pem_encode(), crypto_uninit_lib(), dco_event_set(), dco_new_key(), dco_p2p_new_peer(), dco_read_and_process(), dco_read_and_process(), dco_update_keys(), delete_route(), do_data_channel_round_trip(), do_init_crypto_none(), do_init_crypto_static(), do_init_crypto_test(), do_init_crypto_tls(), do_init_crypto_tls_c1(), do_init_fragment(), do_init_frame_tls(), do_link_socket_new(), do_open_tun(), do_pre_decrypt_check(), do_test_crypto(), encrypt_one_packet(), encrypt_sign(), env_set_add(), env_set_del(), env_set_inherit(), env_string_equal(), epoch_generate_future_receive_keys(), epoch_init_key_ctx(), epoch_init_send_key_ctx(), epoch_iterate_send_key(), epoch_replace_update_recv_key(), establish_http_proxy_passthru(), event_set_init_scalable(), event_set_init_simple(), EVP_CIPHER_fetch(), EVP_MD_fetch(), extract_x509_field_ssl(), fragment_incoming(), fragment_outgoing(), fragment_prepend_flags(), fragment_ready_to_send(), frequency_limit_init(), gc_addspecial(), gc_realloc(), generate_auth_token(), get_console_input(), get_console_input_win32(), get_device_guid(), get_frame_mtu(), get_key_scan(), get_num_elements(), get_unspecified_device_guid(), get_win_sys_path(), handle_connection_attempt(), handle_data_channel_packet(), hash_init(), hash_iterator_delete_element(), hash_iterator_init_range(), helper_client_server(), helper_keepalive(), hmac_ctx_init(), http_proxy_new(), ifconfig_pool_acquire(), ifconfig_pool_handle_to_ip_base(), ifconfig_pool_init(), ifconfig_pool_ip_base_to_handle(), ifconfig_pool_msg(), ifconfig_pool_persist_init(), ifconfig_pool_read(), in_src_get(), inherit_context_child(), init_key_ctx(), init_key_type(), ipset2ascii(), ipset2ascii_all(), ipv6_send_icmp_unreachable(), is_dev_type(), key2_print(), key_ctx_update_implicit_iv(), key_direction_state_init(), key_method_2_write(), key_state_export_keying_material(), key_state_read_ciphertext(), key_state_read_plaintext(), key_state_ssl_init(), key_state_write_ciphertext(), key_state_write_plaintext(), key_state_write_plaintext_const(), keyboard_input_available(), keydirection2ascii(), lame_duck_must_die(), link_socket_init_phase1(), link_socket_init_phase2(), link_socket_read(), link_socket_write(), link_socket_write_tcp(), linksock_print_addr(), log_history_add(), log_history_init(), log_history_resize(), make_arg_array(), make_base64_string2(), make_env_array(), make_inline_array(), man_dispatch_command(), man_need(), man_query_user_pass(), man_read(), man_remote_entry_get(), man_settings_init(), man_start_ne32(), man_up_finalize(), man_wait_for_client_connection(), management_auth_failure(), management_callback_remote_entry_count(), management_callback_remote_entry_get(), management_callback_send_cc_message(), management_post_tunnel_open(), management_socket_set(), mbedtls_compat_pk_check_pair(), mbuf_add_item(), mbuf_extract_item(), mbuf_init(), md_ctx_init(), md_get(), modulo_add(), modulo_subtract(), move_session(), mroute_addr_mask_host_bits(), mroute_helper_add_iroute46(), mroute_helper_del_iroute46(), multi_assign_peer_id(), multi_client_connect_call_plugin_v1(), multi_client_connect_call_plugin_v2(), multi_client_connect_call_script(), multi_client_connect_early_setup(), multi_client_connect_late_setup(), multi_client_connect_mda(), multi_client_connect_real_addr(), multi_client_connect_script_deferred(), multi_close_instance(), multi_connection_established(), multi_create_instance_tcp(), multi_get_create_instance_udp(), multi_get_instance_by_virtual_addr(), multi_get_instance_udp_control(), multi_get_timeout_instance(), multi_hash_sid_add(), multi_hash_sid_remove(), multi_init(), multi_io_dispatch(), multi_io_init(), multi_io_process_io(), multi_learn_in6_addr(), multi_learn_in_addr_t(), multi_process_drop_outgoing_tun(), multi_process_float(), multi_process_incoming_link_data(), multi_process_outgoing_tun(), multi_push_restart_schedule_exit(), multi_schedule_context_wakeup(), multi_tcp_instance_specific_init(), multi_tcp_process_outgoing_link_ready(), net_event_win32_start(), next_connection_entry(), open_tun_dco(), openvpn_bind(), openvpn_decrypt_aead(), openvpn_decrypt_v1(), openvpn_encrypt_aead(), openvpn_encrypt_v1(), openvpn_execve(), openvpn_fd_set(), openvpn_getaddrinfo(), openvpn_main(), openvpn_PRF(), openvpn_send(), options_postprocess_filechecks(), options_postprocess_mutate(), options_string(), ovpn_dco_init(), ovpn_dco_init_mp(), ovpn_expand_label(), ovpn_hkdf_expand(), packet_id_init(), packet_id_init_recv(), packet_id_move_recv(), packet_id_test(), parse_auth_challenge(), pem_password_callback(), phase2_tcp_server(), plugin_call_item(), plugin_list_inherit(), plugin_open_item(), prepend_dir(), print_opt_route(), print_opt_route_gateway(), print_signal(), print_sockaddr_ex(), prng_bytes(), process_explicit_exit_notification_timer_wakeup(), process_io(), process_outgoing_link(), process_received_occ_msg(), proto_is_net(), proto_is_tcp(), proto_is_udp(), proto_remote(), protocol_dump(), push_option_ex(), query_user_add(), read_control_auth(), read_incoming_link(), read_incoming_tls_plaintext(), read_incoming_tun(), read_inline_file(), read_key_file(), read_sockaddr_from_packet(), receive_auth_failed(), recv_line(), redirect_stdout_stderr(), reliable_ack_write(), reliable_get_buf(), reliable_init(), reliable_mark_active_incoming(), reliable_mark_active_outgoing(), reliable_mark_deleted(), remove_env_item(), replace_default_in_ncp_ciphers_option(), resolve_remote(), route_list_add_vpn_gateway(), rsa_priv_dec(), rsa_pub_dec(), rsa_pub_enc(), run_up_down(), schedule_detach_parent(), schedule_rotate_up(), semaphore_lock(), semaphore_release(), send_control_channel_string_dowork(), send_line_crlf(), send_push_reply_auth_token(), send_push_update(), send_standalone_reply(), set_actual_address(), setenv_del(), setenv_str_ex(), setenv_str_incr(), shaper_delay(), shaper_wrote_bytes(), socket_bind(), socket_do_listen(), socket_recv_queue(), socket_send_queue(), socket_set(), sockethandle_finalize(), socks_process_outgoing_udp(), socks_proxy_new(), socks_username_password_auth(), status_flush(), status_open(), status_printf(), status_read(), stream_buf_added(), stream_buf_get_final(), stream_buf_get_next(), stream_buf_read_setup_dowork(), strerror_win32(), string_alloc_buf(), string_check_buf(), string_class(), string_mod(), string_null_terminate(), string_replace_leading(), support_push_update(), swap_hmac(), test_crypto(), test_data_channel_known_vectors_run(), test_list(), throw_signal(), tls_crypt_unwrap(), tls_crypt_v2_extract_client_key(), tls_crypt_v2_unwrap_client_key(), tls_crypt_v2_wrap_client_key(), tls_crypt_v2_write_client_key_file(), tls_crypt_wrap(), tls_ctx_check_cert_time(), tls_ctx_free(), tls_ctx_initialised(), tls_ctx_load_ca(), tls_ctx_load_cert_pem_file(), tls_ctx_load_cert_uri(), tls_ctx_load_cryptoapi(), tls_ctx_load_dh_params(), tls_ctx_load_pkcs12(), tls_ctx_load_priv_file(), tls_ctx_new(), tls_ctx_restrict_ciphers(), tls_ctx_restrict_ciphers_tls13(), tls_ctx_set_options(), tls_ctx_set_tls_groups(), tls_ctx_use_external_ec_key(), tls_ctx_use_external_rsa_key(), tls_ctx_use_management_external_key(), tls_init_lib(), tls_multi_free(), tls_post_encrypt(), tls_pre_decrypt(), tls_prepend_opcode_v1(), tls_prepend_opcode_v2(), tls_process(), tls_process_state(), tls_rec_payload(), tls_reset_standalone(), tls_select_encryption_key(), tls_send_payload(), tls_wrap_control(), trigger_ping_timeout_signal(), tun_afunix_exec_child(), tun_read_queue(), tun_write_queue(), tunnel_server(), tuntap_dhcp_mask(), tuntap_options_postprocess_dns(), update_key_auth_status(), update_option(), username_password_as_base64(), verify_auth_token(), verify_callback(), verify_cert(), verify_peer_cert(), verify_user_pass(), we_ctl(), we_del(), we_del_index(), we_get_rw_indices(), we_init(), we_reset(), we_set_event(), win32_keyboard_get(), write_control_auth(), write_outgoing_tls_ciphertext(), x509_get_sha1_fingerprint(), x509_get_sha256_fingerprint(), and xor_key2().

◆ DECODE_MUTE_LEVEL

#define DECODE_MUTE_LEVEL ( flags)
Value:
#define MUTE_LEVEL_SHIFT
Definition error.h:116
#define MUTE_LEVEL_MASK
Definition error.h:117

Definition at line 120 of file error.h.

Referenced by dont_mute().

◆ dmsg

#define dmsg ( flags,
... )
Value:
do \
{ \
if (msg_test(flags)) \
{ \
x_msg((flags), __VA_ARGS__); \
} \
EXIT_FATAL(flags); \
} while (false)
static bool msg_test(msglvl_t flags)
Return true if flags represent an enabled, not muted log level.
Definition error.h:260

Definition at line 164 of file error.h.

Referenced by adapter_index_of_ip(), bio_read(), bio_write(), check_coarse_timers(), check_outgoing_ciphertext(), check_ping_send_dowork(), check_send_occ_msg_dowork(), check_stale_routes(), check_timeout_random_component_dowork(), close_tun_handle(), crypto_pem_decode(), establish_http_proxy_passthru(), event_timeout_trigger(), export_user_keying_material(), fragment_incoming(), fragment_prepend_flags(), generate_auth_token(), generate_key_random(), get_default_gateway_row(), get_panel_reg(), get_tap_reg(), handle_data_channel_packet(), info_callback(), init_key_ctx(), init_route_ipv6_list(), init_route_list(), interval_action(), interval_future_trigger(), interval_schedule_wakeup(), interval_test(), io_wait(), key_print(), key_source_print(), link_socket_bad_outgoing_addr(), link_socket_write_tcp(), move_session(), mroute_helper_regenerate(), mss_fixup_dowork(), multi_close_instance(), multi_create_instance_tcp(), multi_get_create_instance_udp(), multi_get_instance_by_virtual_addr(), multi_get_queue(), multi_io_action(), multi_io_dispatch(), multi_io_post(), multi_io_wait_lite(), multi_reap_range(), multi_tcp_process_outgoing_link(), multi_tcp_process_outgoing_link_ready(), openvpn_decrypt_aead(), openvpn_decrypt_v1(), openvpn_encrypt_aead(), openvpn_encrypt_v1(), openvpn_getaddrinfo(), packet_id_free(), packet_id_init(), packet_id_persist_load(), packet_id_persist_save(), platform_test_file(), plugin_call_item(), plugin_open_item(), process_incoming_link_part2(), process_incoming_tun(), process_outgoing_tun(), process_received_occ_msg(), read_incoming_tls_ciphertext(), read_incoming_tls_plaintext(), receive_exit_message(), redirect_default_route_to_vpn(), reliable_ack_acknowledge_packet_id(), reliable_ack_read(), reliable_ack_read_packet_id(), reliable_ack_write(), reliable_can_get(), reliable_can_send(), reliable_get_buf_output_sequenced(), reliable_mark_active_incoming(), reliable_mark_active_outgoing(), reliable_not_replay(), reliable_schedule_now(), reliable_send(), reliable_send_purge(), reliable_send_timeout(), reliable_wont_break_sequentiality(), resolve_remote(), schedule_entry_debug_info(), semaphore_close(), semaphore_lock(), semaphore_open(), semaphore_release(), session_move_active(), session_move_pre_start(), shaper_delay(), shaper_soonest_event(), shaper_wrote_bytes(), show_wait_status(), socket_recv_queue(), socket_send_queue(), socket_set_tcp_nodelay(), sockethandle_finalize(), stream_buf_added(), stream_buf_get_final(), stream_buf_get_next(), stream_buf_init(), stream_buf_read_setup_dowork(), stream_buf_reset(), tls_authentication_status(), tls_crypt_unwrap(), tls_crypt_v2_unwrap_client_key(), tls_crypt_v2_wrap_client_key(), tls_crypt_wrap(), tls_multi_process(), tls_pre_decrypt(), tls_pre_decrypt_lite(), tls_pre_encrypt(), tls_process(), tls_process_state(), tls_session_init(), tls_update_remote_addr(), tun_read_queue(), tun_write_queue(), we_ctl(), we_init(), we_wait(), win_wfp_block(), win_wfp_uninit(), windows_route_find_if_index(), and write_outgoing_tls_ciphertext().

◆ ENCODE_MUTE_LEVEL

#define ENCODE_MUTE_LEVEL ( mute_level)
Value:
(((mute_level) & MUTE_LEVEL_MASK) << MUTE_LEVEL_SHIFT)

Definition at line 119 of file error.h.

◆ ERR_BUF_SIZE

#define ERR_BUF_SIZE   10240

Definition at line 34 of file error.h.

Referenced by log_entry_print(), plugin_vlog(), and x_msg_va().

◆ EXIT_FATAL

#define EXIT_FATAL ( flags)
Value:
do \
{ \
if ((flags) & M_FATAL) \
{ \
_exit(1); \
} \
} while (false)
#define M_FATAL
Definition error.h:90

Definition at line 143 of file error.h.

◆ LOGLEV

#define LOGLEV ( log_level,
mute_level,
other )
Value:
((log_level) | ENCODE_MUTE_LEVEL(mute_level) | other)
#define ENCODE_MUTE_LEVEL(mute_level)
Definition error.h:119

Definition at line 132 of file error.h.

◆ M_CLIENT

◆ M_DEBUG

#define M_DEBUG   (1u << 7)

Definition at line 93 of file error.h.

Referenced by msg_flags_string(), tls_ctx_load_cert_pem_file(), and tls_ctx_load_cert_uri().

◆ M_DEBUG_LEVEL

#define M_DEBUG_LEVEL   (0x0Fu) /* debug level mask */

Definition at line 88 of file error.h.

Referenced by add_option(), check_debug_level(), check_debug_level(), set_debug_level(), and x_msg_va().

◆ M_ERR

◆ M_ERRNO

#define M_ERRNO   (1u << 8) /* show errno description */

Definition at line 95 of file error.h.

Referenced by buffer_write_file(), change_device_state(), check_file_access(), check_reboot(), close_net_event_win32(), close_tun_handle(), create_socket_udp(), CreateRebootFile(), dco_connect_wait(), dco_del_peer(), dco_event_set(), dco_get_peer_stats(), dco_get_peer_stats_fallback(), dco_get_peer_stats_multi(), dco_handle_overlapped_success(), dco_new_key(), dco_new_peer(), dco_read_and_process(), dco_set_peer(), dco_swap_keys(), dco_win_add_iroute_ipv4(), dco_win_add_iroute_ipv6(), dco_win_del_iroute_ipv4(), dco_win_del_iroute_ipv6(), delete_device(), establish_socks_proxy_udpassoc(), EvaluateTUNTAPAdapters(), execute_on_first_adapter(), find_adapters(), fork_to_self(), get_addr_generic(), get_console_input(), get_console_input_win32(), get_device_reg_property(), get_net_adapter_guid(), get_reg_string(), init_net_event_win32(), link_socket_close(), man_connect(), man_listen(), msi_format_field(), msi_format_record(), msi_get_record_string(), msi_get_string(), net_event_win32_reset_write(), openvpn_execve(), overlapped_io_close(), packet_id_persist_close(), packet_id_persist_load(), packet_id_persist_save(), parse_guid(), platform_create_temp_file(), platform_mlockall(), platform_nice(), platform_test_file(), platform_user_group_set(), plugin_in_trusted_dir(), plugin_vlog(), ProcessDeferredAction(), protect_buffer_win32(), proxy_recv_char(), proxy_send(), recv_line(), redirect_stdout_stderr(), reset_net_event_win32(), semaphore_release(), setup_sequence(), socket_apply_options(), socket_bind(), socket_do_accept(), socket_listen_accept(), sockethandle_finalize(), StartOpenVPNGUI(), status_flush(), tap_allow_nonadmin_access_handle(), tap_create_adapter(), tap_list_adapters(), tap_set_adapter_name(), tun_try_open_device(), tunnel_server(), unprotect_buffer_win32(), win32_signal_open(), win_get_exe_path(), win_get_tempdir(), win_trigger_event(), x_msg_va(), and x_msg_va().

◆ M_FATAL

#define M_FATAL   (1u << 4) /* exit program */

Definition at line 90 of file error.h.

Referenced by add_option(), add_route(), add_route_ipv6(), add_wfp_block(), array_mult_safe(), assert_failed(), at_least_one_tap_win(), auth_token_init_secret(), auth_user_pass_mgmt(), backend_tls_ctx_reload_crl(), bad_address_length(), buf_size_error(), check_keystate_buf_not_used(), cipher_ctx_init(), cipher_ctx_update(), cipher_ctx_update_ad(), clone_push_list(), connection_entry_preload_key(), convert_tls_list_to_openssl(), crypto_load_provider(), crypto_pem_decode(), crypto_unload_provider(), dco_mp_start_vpn(), dco_p2p_new_peer(), del_wfp_block(), delete_route(), delete_route_ipv6(), dhcp_masq_addr(), dll_resolve_symbol(), do_genkey(), do_ifconfig_ipv4(), do_ifconfig_ipv6(), do_init_crypto_tls_c1(), do_init_tls_wrap_key(), do_persist_tuntap(), find_adapters(), generate_auth_token(), generate_key_random(), get_console_input(), get_device_instance_id_interface(), get_device_reg_property(), get_frame_mtu(), get_ip_addr(), get_panel_reg(), get_reg_string(), get_tap_reg(), get_user_pass_cr(), hmac_ctx_init(), hmac_ctx_reset(), http_proxy_new(), ifconfig_pool_init(), index_verify(), init_key_contexts(), init_key_type(), init_net_event_win32(), init_tun(), is_tun_p2p(), key_state_ssl_init(), main(), mbedtls_compat_psa_crypto_init(), md_ctx_init(), md_get(), msg_flags_string(), msg_fp(), msi_format_record(), msi_get_record_string(), msi_get_string(), msica_arg_seq_add_head(), msica_arg_seq_add_tail(), msica_arg_seq_join(), multi_io_action(), multi_io_dispatch(), multi_io_post(), multi_io_wait_lite(), must_have_n_keys(), netcmd_semaphore_lock(), netsh_enable_dhcp(), netsh_ifconfig(), netsh_ifconfig_options(), netsh_set_dns6_servers(), next_connection_entry(), nonfatal(), open_tun(), openvpn_execve_check(), openvpn_getaddrinfo(), openvpn_popen(), options_postprocess_verify(), options_postprocess_verify_ce(), platform_chroot(), platform_group_get(), platform_mlockall(), platform_user_get(), platform_user_group_set(), plugin_call_ssl(), plugin_init_item(), plugin_open_item(), random_bytes_to_buf(), read_inline_file(), read_key_file(), reset_net_event_win32(), resolve_bind_local(), run_up_down(), set_mtu_discover_type(), set_win_sys_path_via_env(), show_available_curves(), show_available_tls_ciphers_list(), socket_bind(), StartOpenVPNGUI(), tap_allow_nonadmin_access(), tap_list_adapters(), test_crypto(), tls_crypt_init_key(), tls_crypt_v2_init_client_key(), tls_crypt_v2_init_server_key(), tls_crypt_v2_load_client_key(), tls_crypt_v2_write_client_key_file(), tls_ctx_add_extra_certs(), tls_ctx_load_ca(), tls_ctx_load_cert_pem_file(), tls_ctx_load_cert_uri(), tls_ctx_load_cryptoapi(), tls_ctx_load_dh_params(), tls_ctx_load_ecdh_params(), tls_ctx_load_extra_certs(), tls_ctx_load_pkcs12(), tls_ctx_load_priv_file(), tls_ctx_new(), tls_ctx_reload_crl(), tls_ctx_restrict_ciphers(), tls_ctx_restrict_ciphers_tls13(), tls_ctx_set_cert_profile(), tls_ctx_set_tls_groups(), tls_ctx_use_management_external_key(), translate_mtu_discover_type_name(), tun_open_device(), tuntap_dhcp_mask(), tuntap_get_version_info(), tuntap_set_ip_addr(), tuntap_set_ptp(), unprotect_buffer_win32(), verify_255_255_255_252(), verify_fix_key2(), virtual_output_callback_func(), we_ctl(), we_set_event(), win32_signal_open(), write_pid_file(), and x_msg_va().

◆ M_MSG_VIRT_OUT

#define M_MSG_VIRT_OUT   (1u << 14) /* output message through msg_status_output callback */

Definition at line 100 of file error.h.

Referenced by openvpn_getaddrinfo(), parse_line(), and x_msg_va().

◆ M_NOIPREFIX

#define M_NOIPREFIX   (1u << 17) /* don't print instance prefix */

Definition at line 103 of file error.h.

Referenced by plugin_vlog(), register_signal(), and x_msg_va().

◆ M_NOLF

#define M_NOLF   (1u << 16) /* don't print new line */

Definition at line 102 of file error.h.

Referenced by x_msg_va().

◆ M_NOMUTE

#define M_NOMUTE   (1u << 11) /* don't do mute processing */

Definition at line 97 of file error.h.

Referenced by dont_mute(), and plugin_vlog().

◆ M_NONFATAL

◆ M_NOPREFIX

◆ M_OPTERR

◆ M_USAGE

◆ M_USAGE_SMALL

#define M_USAGE_SMALL   (1u << 13) /* fatal options error, call usage_small */

Definition at line 99 of file error.h.

Referenced by msg_fp(), and x_msg_va().

◆ M_WARN

#define M_WARN   (1u << 6) /* call syslog with LOG_WARNING */

Definition at line 92 of file error.h.

Referenced by add_entry(), add_option(), add_route(), add_route_ipapi(), add_route_ipv6(), apply_pull_filter(), backend_tls_ctx_reload_crl(), build_dhcp_options_string(), ccs_test_deferred_ret_file(), check_addr_clash(), check_file_access(), check_push_update_option_flags(), CheckAndScheduleReboot(), close_net_event_win32(), close_tun(), close_tun_handle(), collect_ciphers(), convert_tls_list_to_openssl(), create_kt(), CreateRebootFile(), crypto_init_lib_engine(), crypto_load_provider(), dco_del_peer(), dco_get_peer_stats(), dco_get_peer_stats_fallback(), dco_get_peer_stats_multi(), dco_new_key(), dco_new_peer(), dco_set_peer(), dco_swap_keys(), dco_win_add_iroute_ipv4(), dco_win_add_iroute_ipv6(), dco_win_del_iroute_ipv4(), dco_win_del_iroute_ipv6(), del_route_ipapi(), delete_route(), delete_route_ipv6(), dhcp_release_by_adapter_index(), dhcp_renew_by_adapter_index(), do_address_service(), do_dns_domain_pwsh(), do_dns_domain_service(), do_dns_service(), do_genkey(), do_init_crypto_none(), do_init_frame(), do_init_tls_wrap_key(), do_option_warnings(), do_persist_tuntap(), do_route(), do_route_service(), do_wins_service(), encrypt_sign(), env_block(), event_set_init_scalable(), execute_on_first_adapter(), export_user_keying_material(), find_adapters(), fork_to_self(), generate_ephemeral_key(), get_addr_generic(), get_console_input(), get_console_input_win32(), get_frame_mtu(), get_panel_reg(), get_tap_reg(), get_user_pass_cr(), getaddr(), helper_client_server(), ifconfig_pool_init(), ifconfig_pool_read(), ifconfig_sanity_check(), incoming_push_message(), init_key_contexts(), init_key_type(), init_route(), init_route_ipv6(), init_route_ipv6_list(), init_route_list(), init_ssl(), init_static(), ipv6_addr_safe_hexplusbits(), key_method_2_write(), key_state_check_auth_pending_file(), learn_address_script(), link_socket_close(), link_socket_connection_initiated(), link_socket_init_phase2(), load_pkey_from_uri(), make_arg_array(), make_domain_list(), man_check_password(), man_listen(), management_callback_proxy_cmd(), management_callback_remote_entry_get(), mroute_extract_addr_ip(), msg_flags_string(), msglevel_forward_compatible(), multi_check_dest_addr_allowed(), multi_client_connect_call_plugin_v1(), multi_client_connect_call_plugin_v2(), multi_client_disconnect_script(), multi_client_set_protocol_options(), mutate_ncp_cipher_list(), net_event_win32_reset_write(), netsh_delete_address_dns(), open_management(), open_syslog(), open_tun(), openvpn_execve(), openvpn_execve_check(), openvpn_getaddrinfo(), openvpn_popen(), options_postprocess_cipher(), options_postprocess_http_proxy_override(), options_postprocess_mutate(), options_postprocess_mutate_ce(), options_postprocess_verify(), options_postprocess_verify_ce(), options_process_mutate_prf(), output_peer_info_env(), overlapped_io_close(), platform_create_temp_file(), platform_mlockall(), platform_nice(), platform_test_file(), plugin_call_item(), plugin_close_item(), plugin_in_trusted_dir(), plugin_init_item(), plugin_vlog(), prepare_push_reply(), process_incoming_push_msg(), purge_user_pass(), read_pem_key_file(), read_tun_afunix(), redirect_default_route_to_vpn(), redirect_stdout_stderr(), reflect_filter_rate_limit_check(), register_dns_service(), remove_option(), route_ipv6_ipapi(), run_dns_up_down(), run_up_down_service(), semaphore_release(), send_msg_iservice(), send_push_options(), send_push_update(), send_single_push_update(), set_lladdr_ifconfig(), set_user_script(), setenv_str_safe(), show_available_curves(), show_compression_warning(), socket_apply_options(), socket_set_mark(), socket_set_rcvbuf(), socket_set_sndbuf(), socket_set_tcp_nodelay(), status_flush(), status_open(), stream_buf_added(), tap_allow_nonadmin_access(), tap_list_adapters(), tap_set_adapter_name(), throw_signal_soft(), tls_crypt_v2_check_client_key_age(), tls_crypt_v2_verify_metadata(), tls_crypt_v2_wrap_client_key(), tls_ctx_check_cert_time(), tls_ctx_load_ca(), tls_ctx_load_cert_pem_file(), tls_ctx_load_cert_uri(), tls_ctx_load_ecdh_params(), tls_ctx_load_pkcs12(), tls_ctx_load_priv_file(), tls_ctx_new(), tls_ctx_reload_crl(), tls_ctx_set_cert_profile(), tls_ctx_set_tls_groups(), tls_ctx_use_management_external_key(), tls_limit_reneg_bytes(), tun_afunix_exec_child(), tuntap_dhcp_mask(), tuntap_options_postprocess_dns(), tuntap_set_connected(), tuntap_set_ip_addr(), undo_ifconfig_ipv4(), undo_ifconfig_ipv6(), usage_small(), verify_auth_token(), verify_cert(), verify_permission(), verify_user_pass(), warn_insecure_key_type(), warn_on_use_of_common_subnets(), win32_signal_open(), win_get_exe_path(), win_get_tempdir(), win_trigger_event(), win_wfp_block_service(), win_wfp_msg_handler(), windows_route_find_if_index(), windows_set_mtu(), write_dhcp_search_str(), write_dhcp_str(), write_dhcp_u32_array(), write_dhcp_u8(), write_pem_key_file(), write_tun_afunix(), x509_get_subject(), x509_verify_ns_cert_type(), x_msg_va(), and x_msg_va().

◆ msg

#define msg ( flags,
... )
Value:
do \
{ \
if (msg_test(flags)) \
{ \
x_msg((flags), __VA_ARGS__); \
} \
EXIT_FATAL(flags); \
} while (false)

Definition at line 152 of file error.h.

Referenced by add_client_nat_to_option_list(), add_entry(), add_option(), add_proxy_headers(), add_route(), add_route_ipapi(), add_route_ipv6(), add_routes(), add_wfp_block(), AddWfpBlock(), af_addr_size(), alloc_connection_entry(), alloc_local_entry(), alloc_remote_entry(), apply_pull_filter(), argv_msg(), argv_msg_prefix(), array_mult_safe(), ascii2keydirection(), assert_failed(), at_least_one_tap_win(), atoi_constrained(), atoi_warn(), auth_retry_set(), auth_token_init_secret(), auth_user_pass_mgmt(), backend_tls_ctx_reload_crl(), backend_x509_get_username(), bad_address_length(), BlockDNSErrHandler(), buf_size_error(), buffer_write_file(), build_dhcp_options_string(), ccs_delete_config_file(), ccs_delete_deferred_ret_file(), ccs_test_deferred_ret_file(), change_device_state(), check_add_routes(), check_addr_clash(), check_ca_required(), check_cmd_access(), check_compression_settings_valid(), check_dns_option(), check_file_access(), check_for_client_reason(), check_inactivity_timeout(), check_incoming_control_channel(), check_keystate_buf_not_used(), check_pull_client_ncp(), check_push_update_option_flags(), check_reboot(), check_route6_option(), check_route_option(), check_send_auth_token(), check_send_occ_load_test_dowork(), check_send_occ_req_dowork(), check_server_poll_timeout(), check_session_buf_not_used(), check_session_cipher(), check_session_timeout(), check_tls_errors_co(), CheckAndScheduleReboot(), cipher_valid_reason(), close_net_event_win32(), close_tun(), close_tun_handle(), collect_ciphers(), connection_entry_preload_key(), context_init_1(), convert_tls_list_to_openssl(), create_kt(), create_socket_tcp(), create_socket_udp(), CreateRebootFile(), crypto_check_replay(), crypto_init_lib_engine(), crypto_load_provider(), crypto_print_openssl_errors(), crypto_read_openvpn_key(), dco_available(), dco_connect_wait(), dco_del_key(), dco_del_peer(), dco_event_set(), dco_get_peer_stats(), dco_get_peer_stats_fallback(), dco_get_peer_stats_multi(), dco_get_version(), dco_handle_overlapped_success(), dco_mp_start_vpn(), dco_new_key(), dco_new_peer(), dco_p2p_new_peer(), dco_p2p_start_vpn(), dco_read_and_process(), dco_set_peer(), dco_swap_keys(), dco_wait_ready(), dco_win_add_iroute_ipv4(), dco_win_add_iroute_ipv6(), dco_win_del_iroute_ipv4(), dco_win_del_iroute_ipv6(), default_msg_handler(), del_route_ipapi(), del_wfp_block(), delete_device(), delete_route(), delete_route_ipv6(), delete_temp_addresses(), dhcp_extract_router_msg(), dhcp_masq_addr(), dhcp_option_address_parse(), dhcp_option_dns6_parse(), dhcp_release_by_adapter_index(), dhcp_renew_by_adapter_index(), dll_resolve_symbol(), dns_options_verify(), do_address_service(), do_close_tun_simple(), do_compute_occ_strings(), do_create_adapter_service(), do_deferred_options(), do_deferred_options_part2(), do_deferred_p2p_ncp(), do_dns_domain_service(), do_dns_service(), do_genkey(), do_ifconfig(), do_ifconfig_ipv4(), do_ifconfig_ipv6(), do_init_crypto_none(), do_init_crypto_static(), do_init_crypto_tls_c1(), do_init_frame(), do_init_tls_wrap_key(), do_open_tun(), do_option_warnings(), do_persist_tuntap(), do_pre_decrypt_check(), do_route(), do_route_ipv4_service(), do_route_ipv6_service(), do_route_service(), do_set_mtu_service(), do_setenv_x509(), do_test_crypto(), do_uid_gid_chroot(), do_up(), do_update(), do_wins_service(), dont_mute(), drop_if_recursive_routing(), encrypt_sign(), env_block(), env_set_print(), env_set_write_file(), establish_http_proxy_passthru(), establish_socks_proxy_passthru(), establish_socks_proxy_udpassoc(), EvaluateTUNTAPAdapters(), event_set_init_scalable(), exec_command(), execute_on_first_adapter(), export_user_keying_material(), extract_command_buffer(), extract_x509_extension(), extract_x509_field_ssl(), find_adapters(), fork_to_self(), fragment_incoming(), fragment_outgoing(), fragment_ttl_reap(), frame_adjust_path_mtu(), frame_finalize_options(), frame_print(), generate_auth_token(), generate_ephemeral_key(), generate_key_expansion(), generate_key_random(), get_adapter_index(), get_adapter_info_list(), get_addr_generic(), get_best_route(), get_console_input(), get_console_input_win32(), get_default_gateway_ipv6(), get_device_instance_id_interface(), get_device_reg_property(), get_frame_mtu(), get_interface_info_list(), get_net_adapter_guid(), get_panel_reg(), get_per_adapter_info(), get_proxy_authenticate(), get_reg_string(), get_special_addr(), get_tap_reg(), get_user_pass_cr(), get_user_pass_cr(), get_windows_routing_table(), handle_connection_attempt(), handle_data_channel_packet(), HandleAddressMessage(), HandleCreateAdapterMessage(), HandleDNSConfigMessage(), HandleDNSConfigNrptMessage(), HandleFlushNeighborsMessage(), HandleMessage(), HandleRouteMessage(), HandleWfpBlockMessage(), HandleWINSConfigMessage(), helper_client_server(), helper_keepalive(), http_proxy_new(), ifconfig_pool_init(), ifconfig_pool_read(), ifconfig_pool_verify_range(), ifconfig_sanity_check(), in_extra_dispatch(), incoming_push_message(), index_verify(), init_key_contexts(), init_key_ctx(), init_key_type(), init_net_event_win32(), init_route(), init_route_ipv6(), init_route_ipv6_list(), init_route_list(), init_ssl(), init_static(), init_tun(), init_win32(), initialization_sequence_completed(), io_wait(), ip_addr_string_to_array(), ipconfig_register_dns(), is_tun_p2p(), key_is_zero(), key_method_2_read(), key_method_2_write(), key_state_check_auth_pending_file(), learn_address_script(), link_socket_bad_incoming_addr(), link_socket_close(), link_socket_connection_initiated(), link_socket_init_phase2(), link_socket_read_tcp(), linksock_print_addr(), load_pkey_from_uri(), load_xkey_provider(), log_entry_print(), main(), make_domain_list(), man_bytecount(), man_bytecount_output_client(), man_bytecount_output_server(), man_certificate(), man_check_password(), man_client_deny(), man_client_kill(), man_client_n_clients(), man_client_pending_auth(), man_command_unsupported(), man_connect(), man_dispatch_command(), man_env_filter(), man_forget_passwords(), man_help(), man_history(), man_hold(), man_io_error(), man_kill(), man_listen(), man_load_stats(), man_need(), man_new_connection_post(), man_output_env(), man_output_peer_info_env(), man_pk_sig(), man_process_command(), man_push_update(), man_query_password_base64(), man_query_user_pass(), man_remote_entry_count(), man_remote_entry_get(), man_reset_client_socket(), man_send_cc_message(), man_settings_init(), man_signal(), man_wait_for_client_connection(), man_welcome(), management_auth_failure(), management_auth_token(), management_callback_proxy_cmd(), management_callback_remote_entry_get(), management_client_auth(), management_connection_established(), management_hold(), management_learn_addr(), management_notify(), management_notify_client_close(), management_notify_client_cr_response(), management_notify_client_needing_auth(), management_notify_generic(), management_query_multiline(), management_query_user_pass(), management_show_net_callback(), management_up_down(), mbedtls_compat_psa_crypto_init(), mbuf_add_item(), mbuf_dereference_instance(), move_session(), mroute_extract_addr_ip(), mroute_learnable_address(), MsgToEventLog(), msi_format_field(), msi_format_record(), msi_get_record_string(), msi_get_string(), msica_arg_seq_add_head(), msica_arg_seq_add_tail(), msica_arg_seq_join(), multi_add_iroutes(), multi_add_mbuf(), multi_check_dest_addr_allowed(), multi_client_connect_call_plugin_v1(), multi_client_connect_call_plugin_v2(), multi_client_connect_late_setup(), multi_client_connect_real_addr(), multi_client_connect_script_deferred(), multi_client_disconnect_script(), multi_client_generate_tls_keys(), multi_client_set_protocol_options(), multi_client_setup_dco_initial(), multi_connection_established(), multi_create_instance(), multi_delete_dup(), multi_get_instance_udp_data(), multi_init(), multi_io_action(), multi_io_dispatch(), multi_io_init(), multi_io_post(), multi_io_process_io(), multi_io_wait_lite(), multi_learn_addr(), multi_print_status(), multi_process_drop_outgoing_tun(), multi_process_float(), multi_process_incoming_link_data(), multi_process_incoming_tun(), multi_select_virtual_addr(), multi_tcp_instance_specific_init(), multi_unlearn_addr(), must_have_n_keys(), mutate_ncp_cipher_list(), my_conv(), net_event_win32_reset_write(), netcmd_semaphore_lock(), netsh_ifconfig(), netsh_ifconfig_options(), next_connection_entry(), no_more_than_n_args(), notnull(), open_management(), open_syslog(), open_tun(), open_tun_afunix(), open_tun_backend(), openvpn_encrypt_aead(), openvpn_encrypt_v1(), openvpn_execve(), openvpn_execve_check(), openvpn_getaddrinfo(), openvpn_main(), openvpn_popen(), openvpn_run_script(), openvpn_waitpid_check(), option_iroute(), option_iroute_ipv6(), options_cmp_equal_safe(), options_postprocess_cipher(), options_postprocess_filechecks(), options_postprocess_http_proxy_override(), options_postprocess_mutate(), options_postprocess_mutate_ce(), options_postprocess_verify(), options_postprocess_verify_ce(), options_process_mutate_prf(), options_server_import(), options_warning_safe_scan2(), output_peer_info_env(), overlapped_io_close(), overlapped_io_init(), override_locked_username(), ovpn_dco_init_mp(), p2p_mode_ncp(), p2p_ncp_set_options(), packet_id_debug_print(), packet_id_persist_close(), packet_id_persist_load(), packet_id_persist_save(), parse_argv(), parse_auth_failed_temp(), parse_auth_pending_keywords(), parse_cid(), parse_early_negotiation_tlvs(), parse_guid(), parse_hash_fingerprint(), parse_incoming_control_channel_command(), parse_line(), parse_topology(), parse_uint(), platform_chroot(), platform_create_temp_file(), platform_get_tmp_dir(), platform_group_get(), platform_group_set(), platform_mlockall(), platform_nice(), platform_test_file(), platform_user_get(), platform_user_group_set(), platform_user_set(), plugin_call_item(), plugin_call_ssl(), plugin_close_item(), plugin_in_trusted_dir(), plugin_init_item(), plugin_open_item(), plugin_option_list_print(), plugin_return_print(), plugin_show_string_array(), plugin_vlog(), positive_atoi(), positive_atoll(), possibly_become_daemon(), prepare_push_reply(), print_bypass_addresses(), print_client_nat_list(), print_default_gateway(), print_details(), print_key_id_not_found_reason(), print_pkt(), print_route_option(), print_route_options(), print_signal(), process_explicit_exit_notification_init(), process_incoming_dco(), process_incoming_link_part1(), process_incoming_push_msg(), process_outgoing_link(), process_outgoing_tun(), process_received_occ_msg(), ProcessDeferredAction(), protect_buffer_win32(), proxy_recv_char(), proxy_send(), purge_user_pass(), push_option_ex(), push_remove_option(), random_bytes_to_buf(), read_config_file(), read_control_auth(), read_incoming_link(), read_incoming_tls_ciphertext(), read_incoming_tls_plaintext(), read_incoming_tun(), read_inline_file(), read_key_file(), read_pem_key_file(), read_tun_afunix(), receive_auth_failed(), receive_auth_pending(), receive_cr_response(), recv_line(), recv_socks_reply(), redirect_default_route_to_vpn(), redirect_stdout_stderr(), reflect_filter_rate_limit_check(), register_dns_service(), register_signal(), reliable_send_purge(), remap_redirect_gateway_flags(), remap_restart_signals(), remove_iroutes_from_push_route_list(), remove_option(), report_command_status(), reset_net_event_win32(), resolve_bind_local(), resolve_remote(), ReturnProcessId(), route_ipv6_ipapi(), route_quota_exceeded(), run_dns_up_down(), run_up_down(), run_up_down_service(), schedule_adapter_create(), schedule_exit(), semaphore_lock(), semaphore_open(), semaphore_release(), send_auth_failed(), send_control_channel_string_dowork(), send_msg_iservice(), send_push_options(), send_push_request(), send_push_update(), send_single_push_update(), send_standalone_reply(), server_pushed_info(), server_pushed_signal(), service_enable_dhcp(), set_auth_token_user(), set_client_version(), set_cloexec(), set_lladdr(), set_lladdr_ifconfig(), set_mtu_discover_type(), set_nonblock(), set_user_script(), set_verify_user_pass_env(), set_win_sys_path_via_env(), setenv_str_ex(), setenv_str_incr(), setenv_str_safe(), setup_sequence(), shaper_msg(), show_adapter(), show_adapters(), show_available_curves(), show_compression_warning(), show_connection_entries(), show_connection_entry(), show_dco_version(), show_debug_warning(), show_dhcp_option_addrs(), show_dhcp_option_list(), show_dns_options(), show_http_proxy_options(), show_library_versions(), show_p2mp_parms(), show_pull_filter_list(), show_routes(), show_settings(), show_tap_win_adapters(), show_windows_version(), signal_reset(), socket_apply_options(), socket_bind(), socket_connect(), socket_do_accept(), socket_do_listen(), socket_listen_accept(), socket_restart_pause(), socket_set_buffers(), socket_set_mark(), socket_set_rcvbuf(), socket_set_sndbuf(), socket_set_tcp_nodelay(), sockethandle_finalize(), socks_handshake(), socks_username_password_auth(), SSL_CTX_use_CryptoAPI_certificate(), ssl_verify_username_length(), StartOpenVPNGUI(), status_flush(), status_open(), status_printf(), stream_buf_added(), tap_allow_nonadmin_access(), tap_allow_nonadmin_access_handle(), tap_create_adapter(), tap_list_adapters(), tap_set_adapter_name(), tcp_connection_established(), test_auth_fail_temp_flags(), test_auth_fail_temp_flags_msg(), test_auth_fail_temp_no_flags(), test_crypto(), test_routes(), throw_signal(), throw_signal_soft(), tls_crypt_init_key(), tls_crypt_v2_check_client_key_age(), tls_crypt_v2_extract_client_key(), tls_crypt_v2_init_client_key(), tls_crypt_v2_init_server_key(), tls_crypt_v2_load_client_key(), tls_crypt_v2_unwrap_client_key(), tls_crypt_v2_verify_metadata(), tls_crypt_v2_wrap_client_key(), tls_crypt_v2_write_client_key_file(), tls_crypt_wrap(), tls_ctx_check_cert_time(), tls_ctx_load_ca(), tls_ctx_load_cert_uri(), tls_ctx_load_dh_params(), tls_ctx_load_ecdh_params(), tls_ctx_reload_crl(), tls_ctx_set_cert_profile(), tls_ctx_set_tls_groups(), tls_ctx_set_tls_versions(), tls_get_limit_aead(), tls_limit_reneg_bytes(), tls_lock_username(), tls_multi_process(), tls_poor_mans_ncp(), tls_pre_decrypt(), tls_pre_decrypt_lite(), tls_prepend_opcode_v1(), tls_prepend_opcode_v2(), tls_print_deferred_options_results(), tls_process(), tls_process_state(), tls_session_generate_data_channel_keys(), tls_session_update_crypto_params_do_work(), tls_wrap_control(), translate_mtu_discover_type_name(), trigger_ping_timeout_signal(), tun_open_device(), tun_show_debug(), tun_standby(), tun_try_open_device(), tunnel_server(), tuntap_dhcp_mask(), tuntap_get_mtu(), tuntap_get_version_info(), tuntap_options_postprocess_dns(), tuntap_set_connected(), tuntap_set_ip_addr(), tuntap_set_ptp(), undo_ifconfig_ipv4(), undo_ifconfig_ipv6(), unprotect_buffer_win32(), update_option(), usage_small(), usage_version(), verify_255_255_255_252(), verify_auth_token(), verify_callback(), verify_cert(), verify_cert_call_command(), verify_cert_call_plugin(), verify_check_crl_dir(), verify_common_subnet(), verify_crresponse_script(), verify_final_auth_checks(), verify_fix_key2(), verify_peer_cert(), verify_permission(), verify_user_pass(), verify_user_pass_plugin(), verify_user_pass_script(), vlan_decapsulate(), vlan_encapsulate(), warn_insecure_key_type(), warn_on_use_of_common_subnets(), we_ctl(), we_set_event(), win32_pause(), win32_signal_close(), win32_signal_open(), win_ctrl_handler(), win_get_exe_path(), win_get_tempdir(), win_trigger_event(), win_wfp_block_service(), win_wfp_msg_handler(), win_wfp_uninit(), windows_route_find_if_index(), windows_set_mtu(), write_control_auth(), write_dhcp_search_str(), write_dhcp_str(), write_dhcp_u32_array(), write_dhcp_u8(), write_outgoing_tls_ciphertext(), write_pem_key_file(), write_pid_file(), write_tun_afunix(), x509_get_subject(), x509_track_add(), x509_verify_cert_eku(), x509_verify_cert_ku(), x509_verify_ns_cert_type(), x_check_status(), and x_msg_va().

◆ MUTE_LEVEL_MASK

#define MUTE_LEVEL_MASK   0xFFu

Definition at line 117 of file error.h.

◆ MUTE_LEVEL_SHIFT

#define MUTE_LEVEL_SHIFT   24

Definition at line 116 of file error.h.

◆ OPENVPN_DEBUG_FILE

#define OPENVPN_DEBUG_FILE   PACKAGE ".log"

Definition at line 66 of file error.h.

Referenced by error_reset().

◆ openvpn_errno

#define openvpn_errno ( )
Value:
GetLastError()

Definition at line 71 of file error.h.

Referenced by openvpn_connect(), process_outgoing_link(), socket_connection_reset(), and tuntap_is_dco_win_timeout().

◆ OPENVPN_ERROR_FP

#define OPENVPN_ERROR_FP   stderr

Definition at line 46 of file error.h.

Referenced by errors_to_stderr().

◆ OPENVPN_EXIT_STATUS_CANNOT_OPEN_DEBUG_FILE

#define OPENVPN_EXIT_STATUS_CANNOT_OPEN_DEBUG_FILE   1

Definition at line 55 of file error.h.

Referenced by error_reset(), and msg_fp().

◆ OPENVPN_EXIT_STATUS_ERROR

#define OPENVPN_EXIT_STATUS_ERROR   1

Definition at line 53 of file error.h.

Referenced by openvpn_exit(), and x_msg_va().

◆ OPENVPN_EXIT_STATUS_GOOD

#define OPENVPN_EXIT_STATUS_GOOD   0

Definition at line 52 of file error.h.

Referenced by add_option(), openvpn_main(), and usage_version().

◆ OPENVPN_EXIT_STATUS_USAGE

#define OPENVPN_EXIT_STATUS_USAGE   1

Definition at line 54 of file error.h.

Referenced by usage(), and usage_small().

◆ OPENVPN_MSG_FP

#define OPENVPN_MSG_FP   stdout

Definition at line 45 of file error.h.

Referenced by error_reset().

◆ SDL_CONSTRAIN

#define SDL_CONSTRAIN   (1 << 0)

Definition at line 203 of file error.h.

Referenced by add_option(), init_verb_mute(), and set_debug_level().

Typedef Documentation

◆ msglvl_t

typedef unsigned int msglvl_t

Definition at line 77 of file error.h.

Function Documentation

◆ assert_failed()

void assert_failed ( const char * filename,
int line,
const char * condition )

Definition at line 419 of file error.c.

References M_FATAL, and msg.

◆ check_debug_level()

◆ check_status()

void check_status ( ssize_t status,
const char * description,
struct link_socket * sock,
const struct tuntap * tt )
inlinestatic

◆ close_syslog()

void close_syslog ( void )

Definition at line 469 of file error.c.

References use_syslog.

Referenced by openvpn_exit().

◆ dont_mute()

bool dont_mute ( msglvl_t flags)

Check muting filter.

Definition at line 385 of file error.c.

Referenced by msg_test().

◆ error_reset()

◆ errors_to_stderr()

void errors_to_stderr ( void )

Definition at line 181 of file error.c.

References default_err, and OPENVPN_ERROR_FP.

Referenced by add_option().

◆ get_debug_level()

msglvl_t get_debug_level ( void )

Definition at line 133 of file error.c.

References x_debug_level.

Referenced by man_dispatch_command().

◆ get_mute_cutoff()

int get_mute_cutoff ( void )

Definition at line 139 of file error.c.

References mute_cutoff.

Referenced by man_dispatch_command().

◆ get_orig_stderr()

int get_orig_stderr ( void )

Definition at line 486 of file error.c.

References orig_stderr.

Referenced by get_console_input_win32().

◆ ignore_sys_error()

bool ignore_sys_error ( const int err,
bool crt_error )
inlinestatic

Definition at line 370 of file error.h.

Referenced by man_io_error(), and x_check_status().

◆ msg_flags_string()

const char * msg_flags_string ( const msglvl_t flags,
struct gc_arena * gc )

Definition at line 748 of file error.c.

References alloc_buf_gc(), BSTR, buf_printf(), gc, M_DEBUG, M_FATAL, M_INFO, M_NONFATAL, and M_WARN.

Referenced by log_entry_print().

◆ msg_fp()

FILE * msg_fp ( const msglvl_t flags)

◆ msg_get_prefix()

const char * msg_get_prefix ( void )
inlinestatic

Definition at line 340 of file error.h.

References x_msg_prefix.

Referenced by x_msg_va().

◆ msg_get_virtual_output()

const struct virtual_output * msg_get_virtual_output ( void )
inlinestatic

Definition at line 360 of file error.h.

References x_msg_virtual_output.

Referenced by x_msg_va().

◆ msg_set_prefix()

void msg_set_prefix ( const char * prefix)
inlinestatic

Definition at line 334 of file error.h.

References x_msg_prefix.

Referenced by clear_prefix(), send_standalone_reply(), and set_prefix().

◆ msg_set_virtual_output()

void msg_set_virtual_output ( const struct virtual_output * vo)
inlinestatic

Definition at line 354 of file error.h.

References x_msg_virtual_output.

Referenced by man_persist_close(), and man_persist_init().

◆ msg_test()

bool msg_test ( msglvl_t flags)
inlinestatic

Return true if flags represent an enabled, not muted log level.

Definition at line 260 of file error.h.

References check_debug_level(), and dont_mute().

Referenced by plugin_vlog(), and x_msg_va().

◆ nonfatal()

msglvl_t nonfatal ( const msglvl_t err)
inlinestatic

Convert fatal errors to nonfatal, don't touch other errors.

Definition at line 403 of file error.h.

References M_FATAL, and M_NONFATAL.

◆ open_syslog()

void open_syslog ( const char * pgmname,
bool stdio_to_null )

Definition at line 444 of file error.c.

References M_WARN, msg, msgfp, set_std_files_to_null(), std_redir, string_alloc(), and use_syslog.

Referenced by add_option().

◆ openvpn_errno_maybe_crt()

int openvpn_errno_maybe_crt ( bool * crt_error)
inlinestatic

Definition at line 410 of file error.h.

Referenced by man_io_error(), x_check_status(), and x_msg_va().

◆ openvpn_exit()

◆ out_of_memory()

void out_of_memory ( void )

Definition at line 437 of file error.c.

Referenced by check_malloc_return().

◆ redirect_stdout_stderr()

void redirect_stdout_stderr ( const char * file,
bool append )

Definition at line 493 of file error.c.

References ASSERT, gc, gc_free(), gc_new(), M_ERR, M_ERRNO, M_WARN, msg, msgfp, orig_stderr, std_redir, and wide_string().

Referenced by add_option().

◆ reset_check_status()

void reset_check_status ( void )

Definition at line 604 of file error.c.

References x_cs_info_level, and x_cs_verbose_level.

Referenced by init_static().

◆ set_check_status()

void set_check_status ( unsigned int info_level,
unsigned int verbose_level )

Definition at line 611 of file error.c.

References x_cs_info_level, and x_cs_verbose_level.

Referenced by init_verb_mute().

◆ set_check_status_error_delay()

void set_check_status_error_delay ( unsigned int milliseconds)
inlinestatic

Definition at line 319 of file error.h.

References x_cs_err_delay_ms.

Referenced by init_instance().

◆ set_debug_level()

bool set_debug_level ( const int level,
const unsigned int flags )

Definition at line 103 of file error.c.

References constrain_int(), M_DEBUG_LEVEL, SDL_CONSTRAIN, and x_debug_level.

Referenced by add_option(), init_verb_mute(), and man_dispatch_command().

◆ set_machine_readable_output()

void set_machine_readable_output ( bool parsable)

Definition at line 151 of file error.c.

References machine_readable_output.

Referenced by add_option().

◆ set_mute_cutoff()

bool set_mute_cutoff ( const int cutoff)

Definition at line 119 of file error.c.

References mute_cutoff.

Referenced by init_verb_mute(), and man_dispatch_command().

◆ set_suppress_timestamps()

void set_suppress_timestamps ( bool suppressed)

Definition at line 145 of file error.c.

References suppress_timestamps.

Referenced by add_option().

◆ strerror_win32()

◆ x_check_status()

◆ x_msg()

void x_msg ( const msglvl_t flags,
const char * format,
... )

Definition at line 214 of file error.c.

◆ x_msg_va()

void x_msg_va ( const msglvl_t flags,
const char * format,
va_list arglist )

Definition at line 235 of file error.c.

Variable Documentation

◆ x_cs_err_delay_ms

unsigned int x_cs_err_delay_ms
extern

Definition at line 601 of file error.c.

Referenced by set_check_status_error_delay(), and x_check_status().

◆ x_cs_info_level

unsigned int x_cs_info_level
extern

Definition at line 599 of file error.c.

Referenced by reset_check_status(), set_check_status(), and x_check_status().

◆ x_cs_verbose_level

unsigned int x_cs_verbose_level
extern

Definition at line 600 of file error.c.

Referenced by check_status(), reset_check_status(), set_check_status(), and x_check_status().

◆ x_debug_level

msglvl_t x_debug_level
extern

Definition at line 48 of file error.c.

◆ x_msg_line_num

int x_msg_line_num
extern

Definition at line 211 of file error.c.

◆ x_msg_prefix

const char* x_msg_prefix
extern

Definition at line 696 of file error.c.

Referenced by msg_get_prefix(), and msg_set_prefix().

◆ x_msg_virtual_output

const struct virtual_output* x_msg_virtual_output
extern

Definition at line 702 of file error.c.

Referenced by msg_get_virtual_output(), and msg_set_virtual_output().