#include "compat.h"
#include <syslog.h>
Go to the source code of this file.
Data Structures | |
struct | log_severity_list_t |
Defines | |
#define | LOG_WARN LOG_WARNING |
#define | LD_GENERAL (1u<<0) |
#define | LD_CRYPTO (1u<<1) |
#define | LD_NET (1u<<2) |
#define | LD_CONFIG (1u<<3) |
#define | LD_FS (1u<<4) |
#define | LD_PROTOCOL (1u<<5) |
#define | LD_MM (1u<<6) |
#define | LD_HTTP (1u<<7) |
#define | LD_APP (1u<<8) |
#define | LD_CONTROL (1u<<9) |
#define | LD_CIRC (1u<<10) |
#define | LD_REND (1u<<11) |
#define | LD_BUG (1u<<12) |
#define | LD_DIR (1u<<13) |
#define | LD_DIRSERV (1u<<14) |
#define | LD_OR (1u<<15) |
#define | LD_EDGE (1u<<16) |
#define | LD_EXIT LD_EDGE |
#define | LD_ACCT (1u<<17) |
#define | LD_HIST (1u<<18) |
#define | LD_HANDSHAKE (1u<<19) |
#define | N_LOGGING_DOMAINS 20 |
#define | log tor_log |
#define | log_fn (_log_fn_function_name=__func__),_log_fn |
#define | log_debug (_log_fn_function_name=__func__),_log_debug |
#define | log_info (_log_fn_function_name=__func__),_log_info |
#define | log_notice (_log_fn_function_name=__func__),_log_notice |
#define | log_warn (_log_fn_function_name=__func__),_log_warn |
#define | log_err (_log_fn_function_name=__func__),_log_err |
#define | _TOR_LOG_H |
Typedefs | |
typedef uint32_t | log_domain_mask_t |
typedef void(* | log_callback )(int severity, uint32_t domain, const char *msg) |
Functions | |
void | init_logging (void) |
int | parse_log_level (const char *level) |
const char * | log_level_to_string (int level) |
int | parse_log_severity_config (const char **cfg, log_severity_list_t *severity_out) |
void | set_log_severity_config (int minSeverity, int maxSeverity, log_severity_list_t *severity_out) |
void | add_stream_log (const log_severity_list_t *severity, const char *name, int fd) |
int | add_file_log (const log_severity_list_t *severity, const char *filename) |
int | add_syslog_log (const log_severity_list_t *severity) |
int | add_callback_log (const log_severity_list_t *severity, log_callback cb) |
int | get_min_log_level (void) |
void | switch_logs_debug (void) |
void | logs_free_all (void) |
void | add_temp_log (int min_severity) |
void | close_temp_logs (void) |
void | rollback_log_changes (void) |
void | mark_logs_temp (void) |
void | change_callback_log_severity (int loglevelMin, int loglevelMax, log_callback cb) |
void | log_set_application_name (const char *name) |
void | tor_log (int severity, log_domain_mask_t domain, const char *format,...) CHECK_PRINTF(3 |
void | _log_fn (int severity, log_domain_mask_t domain, const char *format,...) |
void | _log_debug (log_domain_mask_t domain, const char *format,...) |
void | _log_info (log_domain_mask_t domain, const char *format,...) |
void | _log_notice (log_domain_mask_t domain, const char *format,...) |
void | _log_warn (log_domain_mask_t domain, const char *format,...) |
void | _log_err (log_domain_mask_t domain, const char *format,...) |
Variables | |
const char * | _log_fn_function_name |
#define LD_ACCT (1u<<17) |
Bandwidth accounting.
Referenced by accounting_set_wakeup_time(), configure_accounting(), consider_hibernation(), hibernate_end(), hibernate_end_time_elapsed(), hibernate_go_dormant(), read_bandwidth_usage(), and reset_accounting().
#define LD_APP (1u<<8) |
Application (socks) requests.
Referenced by addressmap_register(), addressmap_register_virtual_address(), addressmap_rewrite(), addressmap_rewrite_reverse(), circuit_consider_stop_edge_reading(), circuit_discard_optional_exit_enclaves(), circuit_get_open_circ_or_launch(), circuit_resume_edge_reading(), circuit_truncated(), client_dns_incr_failures(), connection_ap_expire_beginning(), connection_ap_fail_onehop(), connection_ap_handshake_attach_circuit(), connection_ap_handshake_process_socks(), connection_ap_handshake_rewrite_and_attach(), connection_ap_handshake_send_begin(), connection_ap_handshake_send_resolve(), connection_ap_make_link(), connection_ap_process_end_not_open(), connection_ap_process_natd(), connection_ap_process_transparent(), connection_edge_consider_sending_sendme(), connection_edge_package_raw_inbuf(), connection_edge_process_relay_cell(), connection_edge_process_relay_cell_not_open(), connection_edge_send_command(), connection_handle_listener_read(), consider_plaintext_ports(), dnsserv_launch_request(), dnsserv_resolved(), evdns_server_callback(), fetch_from_buf_socks(), get_unique_stream_id_by_circ(), link_apconn_to_circ(), parse_extended_hostname(), relay_lookup_conn(), and rend_process_relay_cell().
#define LD_BUG (1u<<12) |
Internal errors in this Tor process.
Referenced by _circuit_mark_for_close(), _connection_free(), _connection_mark_for_close(), _connection_mark_unattached_ap(), _connection_write_to_buf_impl(), _dirreq_map_put(), _find_by_keyword(), accounting_set_wakeup_time(), add_default_trusted_dir_authorities(), addr_policy_permits_tor_addr(), addressmap_get_virtual_address(), addressmap_register_virtual_address(), append_exit_policy_string(), assert_cpath_layer_ok(), base32_decode(), buf_shrink_freelists(), check_sockaddr_family_match(), choose_good_exit_server(), circuit_detach_stream(), circuit_end_reason_to_control_string(), circuit_get_by_circid_orconn_impl(), circuit_init_cpath_crypto(), circuit_launch_by_extend_info(), circuit_package_relay_cell(), circuit_receive_relay_cell(), circuit_send_next_onion_skin(), circuit_state_to_string(), command_process_var_cell(), config_dump(), configure_nameservers(), conn_read_callback(), conn_state_to_string(), conn_type_to_string(), conn_write_callback(), connection_about_to_close_connection(), connection_ap_get_original_destination(), connection_ap_handshake_send_resolve(), connection_ap_handshake_socks_reply(), connection_buckets_decrement(), connection_close_immediate(), connection_create_listener(), connection_dir_client_reached_eof(), connection_dir_finished_flushing(), connection_dns_remove(), connection_edge_end(), connection_edge_finished_flushing(), connection_edge_package_raw_inbuf(), connection_edge_process_inbuf(), connection_edge_process_relay_cell(), connection_edge_send_command(), connection_exit_begin_conn(), connection_exit_connect(), connection_finished_connecting(), connection_finished_flushing(), connection_free(), connection_handle_write_impl(), connection_or_finished_flushing(), connection_or_flush_from_first_active_circuit(), connection_or_remove_from_identity_map(), connection_printf_to_buf(), connection_process_inbuf(), connection_proxy_connect(), connection_reached_eof(), connection_read_proxy_handshake(), connection_read_to_buf(), connection_tls_start_handshake(), connection_unregister_events(), control_event_circuit_status(), control_event_logmsg(), control_event_or_conn_status(), control_event_status(), control_event_stream_status(), control_signal_act(), cpuworker_main(), crypto_pk_public_checksig_digest(), cull_wedged_cpuworkers(), dir_conn_purpose_to_string(), dir_networkstatus_download_failed(), dir_routerdesc_download_failed(), directory_get_from_dirserver(), directory_get_from_hs_dir(), directory_send_command(), dirserv_add_own_fingerprint(), dirserv_dump_directory_to_string(), dirserv_generate_networkstatus_vote_obj(), dirserv_pick_cached_dir_obj(), dirserv_regenerate_directory(), dirserv_router_get_status(), dirvote_add_vote(), dns_cancel_pending_resolve(), dns_found_answer(), dns_launch_correctness_checks(), dns_reset(), dns_resolve_impl(), do_list_fingerprint(), do_main_loop(), entry_guards_parse_state(), evdns_callback(), extrainfo_dump_to_string(), format_msg(), format_networkstatus_vote(), generate_runningrouters(), generate_v2_networkstatus_opinion(), get_assigned_option(), get_unique_circ_id_by_conn(), getinfo_helper_events(), handle_signals(), init_keys(), launch_resolve(), networkstatus_get_detached_signatures(), networkstatus_set_current_consensus(), networkstatus_v2_parse_from_string(), networkstatus_verify_bw_weights(), new_cached_dir(), note_crypto_pk_op(), onionskin_answer(), option_reset(), options_act(), options_dup(), or_state_load(), orconn_end_reason_to_control_string(), purge_expired_resolves(), relay_crypt_one_payload(), relay_send_command_from_edge(), rend_cache_store(), rend_check_authorization(), rend_client_remove_intro_point(), rend_client_send_establish_rendezvous(), rend_config_services(), rend_encode_v2_descriptors(), rend_mid_establish_intro(), rend_service_intro_has_opened(), rend_service_introduce(), rend_service_load_keys(), rotate_onion_key(), router_append_dirobj_signature(), router_dirport_found_reachable(), router_dump_router_to_string(), router_get_hash_impl(), router_get_hashes_impl(), router_orport_found_reachable(), router_rebuild_descriptor(), router_rebuild_store(), routerlist_replace(), routerstatus_format_entry(), run_scheduled_events(), send_control_event_impl(), set_cached_dir(), set_options(), should_log_function_name(), smartlist_choose_by_bandwidth(), smartlist_choose_by_bandwidth_weights(), tor_addr_is_internal(), tor_addr_is_null(), tor_asprintf(), tor_close_socket(), tor_gzip_compress(), tor_gzip_uncompress(), tor_init(), tor_main(), tor_timegm(), tor_tls_free(), tor_tls_get_n_raw_bytes(), tor_tls_handshake(), tor_tls_server_info_callback(), tor_version_as_new_as(), tor_version_is_obsolete(), tor_zlib_new(), update_router_descriptor_cache_downloads_v2(), upload_service_descriptor(), warn_if_last_router_excluded(), write_configuration_file(), write_http_status_line(), and write_str_to_file().
#define LD_CIRC (1u<<10) |
Building, using, and managing circuits.
Referenced by add_an_entry_guard(), choose_good_exit_server_general(), choose_good_middle_server(), choose_random_entry(), circuit_build_times_add_time(), circuit_build_times_add_timeout(), circuit_build_times_add_timeout_worker(), circuit_build_times_get_initial_timeout(), circuit_build_times_network_check_changed(), circuit_build_times_network_check_live(), circuit_build_times_new_consensus_params(), circuit_build_times_parse_state(), circuit_build_times_rewind_history(), circuit_build_times_set_timeout(), circuit_build_times_shuffle_and_store_array(), circuit_build_times_update_alpha(), circuit_consider_sending_sendme(), circuit_count_pending_on_or_conn(), circuit_deliver_create_cell(), circuit_dump_details(), circuit_expire_building(), circuit_expire_old_circuits_clientside(), circuit_expire_old_circuits_serverside(), circuit_extend(), circuit_extend_to_new_exit(), circuit_find_to_cannibalize(), circuit_finish_handshake(), circuit_get_best(), circuit_get_open_circ_or_launch(), circuit_handle_first_hop(), circuit_increment_failure_count(), circuit_is_acceptable(), circuit_launch_by_extend_info(), circuit_n_conn_done(), circuit_predict_and_launch_new(), circuit_remove_handled_ports(), circuit_send_next_onion_skin(), circuit_truncated(), connection_ap_handshake_attach_circuit(), consider_testing_reachability(), entry_guard_set_status(), entry_guards_compute_status(), entry_guards_prepend_from_config(), entry_nodes_should_be_added(), get_unique_circ_id_by_conn(), link_apconn_to_circ(), log_entry_guards(), new_route_len(), onion_extend_cpath(), onion_pending_add(), onion_pick_cpath_exit(), onion_populate_cpath(), onionskin_answer(), options_act(), remove_dead_entry_guards(), remove_obsolete_entry_guards(), rend_service_intro_has_opened(), rep_hist_get_predicted_ports(), smartlist_choose_by_bandwidth(), smartlist_choose_by_bandwidth_weights(), and warn_if_last_router_excluded().
#define LD_CONFIG (1u<<3) |
Parsing and acting on our configuration.
Referenced by accounting_parse_options(), add_nickname_list_to_smartlist(), add_trusted_dir_server(), addressmap_get_virtual_address(), addressmap_register(), addressmap_rewrite(), check_descriptor_ipaddress_changed(), config_assign_line(), config_assign_value(), config_find_option(), config_get_commandlines(), config_parse_interval(), config_parse_units(), config_register_addressmaps(), configure_nameservers(), connection_connect(), create_inet_sockaddr(), dirserv_load_fingerprint_file(), dirserv_read_measured_bandwidths(), do_hup(), exit_policy_remove_redundancies(), expand_abbrev(), expand_filename(), find_torrc_filename(), get_assigned_option(), get_user_homedir(), load_torrc_from_disk(), normalize_data_directory(), options_act(), options_init_from_torrc(), options_init_logs(), options_validate(), parse_addr_policy(), parse_bridge_line(), parse_dir_server_line(), parse_log_severity_config(), parse_port_config(), parse_reachable_addresses(), rend_add_service(), rend_config_services(), rend_parse_client_keys(), rend_parse_service_authorization(), rend_service_load_keys(), resolve_my_address(), router_pick_published_address(), router_rebuild_descriptor(), routerset_parse(), routerset_refresh_countries(), run_scheduled_events(), second_elapsed_callback(), set_max_file_descriptors(), signal_callback(), switch_id(), tor_init(), tor_version_is_obsolete(), validate_data_directory(), validate_dir_authorities(), and write_configuration_file().
#define LD_CONTROL (1u<<9) |
Communication via the controller protocol.
Referenced by connection_control_reached_eof(), control_connection_new(), control_event_bootstrap(), control_event_bootstrap_problem(), control_setconf_helper(), handle_control_authenticate(), handle_control_closecircuit(), handle_control_extendcircuit(), handle_control_loadconf(), handle_control_mapaddress(), handle_control_resolve(), run_scheduled_events(), and signal_callback().
#define LD_CRYPTO (1u<<1) |
The cryptography subsystem.
Referenced by _check_no_tls_errors(), crypto_create_init_cipher(), crypto_dh_compute_secret(), crypto_dh_generate_public(), crypto_dh_get_public(), crypto_global_init(), crypto_log_errors(), crypto_pk_private_hybrid_decrypt(), crypto_pk_public_checksig_digest(), crypto_pk_read_private_key_from_filename(), crypto_seed_rng(), log_engine(), tor_check_dh_key(), and tor_tls_context_new().
#define LD_DIR (1u<<13) |
Learning and using information about Tor servers.
Referenced by _free_duplicate_routerstatus_entry(), any_pending_bridge_descriptor_fetches(), authority_cert_parse_from_string(), authority_certs_fetch_missing(), bridges_retry_helper(), check_signature_token(), circuit_get_open_circ_or_launch(), client_likes_consensus(), connection_dir_client_reached_eof(), connection_dir_finished_flushing(), connection_dir_request_failed(), decide_to_advertise_dirport(), dir_signing_key_is_trusted(), dir_split_resource_into_fingerprint_pairs(), dir_split_resource_into_fingerprints(), directory_get_from_dirserver(), directory_handle_command_post(), directory_info_has_arrived(), directory_initiate_command_rend(), directory_initiate_command_routerstatus_rend(), directory_post_to_dirservers(), directory_send_command(), dirserv_add_descriptor(), dirserv_add_extrainfo(), dirserv_clear_old_networkstatuses(), dirvote_act(), dirvote_add_signatures(), dirvote_add_signatures_to_pending_consensus(), dirvote_add_vote(), dirvote_compute_consensuses(), dirvote_create_microdescriptor(), dirvote_perform_vote(), dirvote_publish_consensus(), dirvote_recalculate_timing(), do_main_loop(), download_status_increment_failure(), dump_desc(), dump_routerlist_mem_usage(), extrainfo_dump_to_string(), extrainfo_parse_entry_from_string(), fetch_bridge_descriptors(), find_dir_signing_key(), http_set_address_origin(), init_keys(), launch_router_descriptor_downloads(), learned_bridge_descriptor(), load_authority_keyset(), microdesc_cache_rebuild(), microdesc_cache_reload(), microdescs_parse_from_string(), networkstatus_add_detached_signatures(), networkstatus_check_consensus_signature(), networkstatus_check_document_signature(), networkstatus_check_weights(), networkstatus_compute_consensus(), networkstatus_get_detached_signatures(), networkstatus_getinfo_by_purpose(), networkstatus_parse_detached_signatures(), networkstatus_parse_vote_from_string(), networkstatus_set_current_consensus(), networkstatus_v2_list_clean(), networkstatus_v2_parse_from_string(), networkstatus_verify_bw_weights(), parse_bridge_line(), parse_dir_server_line(), parse_http_url(), rend_parse_v2_service_descriptor(), router_add_exit_policy(), router_add_to_routerlist(), router_load_extrainfo_from_string(), router_load_routers_from_string(), router_load_single_router(), router_new_address_suggestion(), router_parse_addr_policy(), router_parse_addr_policy_item_from_string(), router_parse_directory(), router_parse_entry_from_string(), router_parse_list_from_string(), router_parse_runningrouters(), router_pick_directory_server(), router_pick_trusteddirserver(), router_rebuild_store(), router_reload_router_list_impl(), router_reload_v2_networkstatus(), router_set_networkstatus_v2(), router_set_status(), routerlist_remove_old_routers(), routerstatus_parse_entry_from_string(), run_connection_housekeeping(), should_delay_dir_fetches(), signed_descriptor_get_body_impl(), tokenize_string(), tor_version_as_new_as(), trusted_dirs_load_certs_from_string(), update_consensus_networkstatus_downloads(), update_consensus_networkstatus_fetch_time(), update_consensus_router_descriptor_downloads(), update_extrainfo_downloads(), update_router_have_minimum_dir_info(), and v3_authority_check_key_expiry().
#define LD_DIRSERV (1u<<14) |
Learning and using information about Tor servers.
Referenced by add_fingerprint_to_dir(), authdir_wants_to_reject_router(), connection_dir_finished_flushing(), connection_handle_listener_read(), directory_handle_command(), directory_handle_command_get(), directory_handle_command_post(), directory_remove_invalid(), dirserv_add_descriptor(), dirserv_get_networkstatus_v2(), dirserv_get_networkstatus_v2_fingerprints(), dirserv_get_status_impl(), dirserv_orconn_tls_done(), dirserv_pick_cached_dir_obj(), dirserv_read_measured_bandwidths(), dirserv_regenerate_directory(), dirserv_router_has_valid_address(), measured_bw_line_apply(), measured_bw_line_parse(), router_dirport_found_reachable(), and set_cached_dir().
#define LD_EDGE (1u<<16) |
Generic edge-connection functionality.
Referenced by connection_edge_destroy(), connection_edge_end(), connection_edge_process_inbuf(), and connection_edge_reached_eof().
#define LD_FS (1u<<4) |
Reading and writing from the filesystem.
Referenced by accounting_run_housekeeping(), add_networkstatus_to_cache(), check_private_dir(), dirserv_load_fingerprint_file(), fdopen_file(), finish_writing_to_file_impl(), init_cookie_authentication(), init_key_from_file(), init_keys(), or_state_load(), or_state_save(), read_file_to_str(), rend_service_load_keys(), rotate_onion_key(), router_rebuild_store(), router_reload_consensus_networkstatus(), router_reload_v2_networkstatus(), signed_desc_append_to_journal(), start_writing_to_file(), tor_listdir(), tor_lockfile_lock(), tor_lockfile_unlock(), tor_mmap_file(), write_chunks_to_file_impl(), write_configuration_file(), and write_pidfile().
#define LD_GENERAL (1u<<0) |
Catch-all for miscellaneous events and fatal errors.
Referenced by _connection_free(), append_cell_to_circuit_queue(), check_descriptor_bandwidth_changed(), check_private_dir(), circuit_note_clock_jumped(), circuit_send_next_onion_skin(), circuit_testing_failed(), command_process_create_cell(), command_process_netinfo_cell(), conn_close_if_marked(), connection_cpu_reached_eof(), connection_dir_client_reached_eof(), connection_handle_write_impl(), connection_or_flush_from_first_active_circuit(), connection_read_to_buf(), consider_hibernation(), dirserv_load_fingerprint_file(), do_hup(), do_list_fingerprint(), do_main_loop(), dump_distinct_digest_count(), dumpmemusage(), dumpstats(), extrainfo_dump_to_string(), finish_daemon(), geoip_load_file(), geoip_parse_entry(), getinfo_helper_events(), hibernate_begin(), init_key_from_file(), init_keys(), libevent_logging_callback(), log_addr_has_changed(), log_cert_lifetime(), log_credential_status(), networkstatus_set_current_consensus(), onion_pending_add(), onion_pending_remove(), onion_skin_server_handshake(), options_act(), or_state_load(), or_state_save(), or_state_set(), parse_addr_and_port_range(), parse_addr_port(), parse_iso_time(), parse_port_range(), parse_rfc1123_time(), remove_file_if_very_old(), rend_client_receive_rendezvous(), rend_client_send_establish_rendezvous(), rend_mid_establish_intro(), rend_mid_introduce(), rend_mid_rendezvous(), rend_service_dump_stats(), rend_service_intro_has_opened(), rend_service_rendezvous_has_opened(), rotate_onion_key(), router_get_consensus_status_by_nickname(), router_get_my_descriptor(), router_load_routers_from_string(), router_set_networkstatus_v2(), router_upload_dir_desc_to_dirservers(), routers_update_all_from_networkstatus(), run_scheduled_events(), signal_callback(), spawn_enough_cpuworkers(), start_daemon(), start_writing_to_file(), switch_id(), tor_addr_parse_mask_ports(), tor_check_libevent_header_compatibility(), tor_check_libevent_version(), tor_gettimeofday(), tor_gzip_compress(), tor_gzip_uncompress(), tor_init(), tor_libevent_initialize(), tor_mlockall(), tor_mutex_acquire(), tor_mutex_init(), tor_mutex_release(), tor_mutex_uninit(), tor_tls_init(), tor_zlib_process(), try_locking(), tv_mdiff(), and tv_udiff().
#define LD_HANDSHAKE (1u<<19) |
#define LD_HIST (1u<<18) |
Router history
Referenced by dump_pk_ops(), rep_hist_buffer_stats_write(), rep_hist_downrate_old_runs(), rep_hist_dump_stats(), rep_hist_exit_stats_write(), rep_hist_load_mtbf_data(), rep_hist_load_state(), rep_hist_note_exit_bytes_read(), rep_hist_note_exit_bytes_written(), rep_hist_note_exit_stream_opened(), rep_hist_note_router_reachable(), rep_hist_note_router_unreachable(), and rep_hist_record_mtbf_data().
#define LD_HTTP (1u<<7) |
HTTP implementation.
Referenced by connection_dir_client_reached_eof(), connection_dir_finished_connecting(), connection_dir_process_inbuf(), connection_dir_reached_eof(), fetch_from_buf_http(), and parse_http_response().
#define LD_MM (1u<<6) |
Memory management.
Referenced by _tor_malloc(), _tor_realloc(), _tor_strdup(), buf_dump_freelist_sizes(), buf_shrink_freelists(), dump_cell_pool_usage(), dump_dns_mem_usage(), mp_pool_log_status(), mp_pool_new(), policies_free_all(), tor_log_mallinfo(), and tor_tls_free_all().
#define LD_NET (1u<<2) |
Networking.
Referenced by _check_no_tls_errors(), _connection_free(), _connection_write_to_buf_impl(), check_sockaddr(), client_check_address_changed(), conn_close_if_marked(), conn_read_callback(), conn_write_callback(), connection_add(), connection_ap_get_original_destination(), connection_bucket_refill(), connection_bucket_refill_helper(), connection_close_immediate(), connection_connect(), connection_consider_empty_read_buckets(), connection_consider_empty_write_buckets(), connection_create_listener(), connection_expire_held_open(), connection_handle_listener_read(), connection_handle_write_impl(), connection_proxy_connect(), connection_read_https_proxy_response(), connection_read_proxy_handshake(), connection_read_to_buf(), connection_remove(), connection_start_reading(), connection_start_writing(), connection_stop_reading(), connection_stop_writing(), directory_all_unreachable(), directory_initiate_command_rend(), dirserv_generate_networkstatus_vote_obj(), dirvote_perform_vote(), do_main_loop(), dumpstats(), fetch_from_buf_socks_client(), flush_chunk(), flush_chunk_tls(), generate_v2_networkstatus_opinion(), get_interface_address6(), got_libevent_error(), hibernate_begin(), hibernate_go_dormant(), libevent_logging_callback(), log_cert_lifetime(), network_init(), options_act_reversible(), parse_addr_port(), read_to_chunk(), rectify_client_ciphers(), resolve_my_address(), router_set_status(), second_elapsed_callback(), set_constrained_socket_buffers(), set_max_file_descriptors(), spawn_cpuworker(), tor_close_socket(), tor_tls_check_lifetime(), tor_tls_client_is_using_v2_ciphers(), tor_tls_context_new(), tor_tls_create_certificate(), tor_tls_get_error(), tor_tls_new(), tor_tls_read(), tor_tls_shutdown(), tor_tls_write(), and warn_too_many_conns().
#define LD_OR (1u<<15) |
Onion routing protocol.
Referenced by assign_onionskin_to_cpuworker(), cell_ewma_set_scale_factor(), circuit_build_failed(), circuit_extend(), circuit_package_relay_cell(), circuit_receive_relay_cell(), command_process_cell(), command_process_create_cell(), command_process_created_cell(), command_process_destroy_cell(), command_process_netinfo_cell(), command_process_relay_cell(), command_process_var_cell(), command_process_versions_cell(), connection_cpu_process_inbuf(), connection_or_group_set_badness(), connection_or_process_cells_from_inbuf(), connection_or_reached_eof(), connection_or_send_destroy(), connection_or_set_state_open(), connection_proxy_connect(), connection_tls_continue_handshake(), cpuworker_main(), dirserv_single_reachability_test(), errno_to_orconn_end_reason(), inform_testing_reachability(), process_pending_task(), relay_crypt(), relay_send_command_from_edge(), router_orport_found_reachable(), router_perform_bandwidth_test(), run_connection_housekeeping(), and spawn_cpuworker().
#define LD_PROTOCOL (1u<<5) |
Other servers' (non)compliance with the Tor protocol.
Referenced by circuit_extend(), circuit_finish_handshake(), circuit_receive_relay_cell(), command_process_cell(), command_process_create_cell(), command_process_created_cell(), command_process_relay_cell(), connection_dir_client_reached_eof(), connection_edge_process_relay_cell(), connection_edge_process_relay_cell_not_open(), connection_exit_begin_conn(), connection_or_connect(), connection_read_https_proxy_response(), directory_handle_command(), fast_client_handshake(), fetch_from_buf_http(), fetch_from_buf_socks(), onion_skin_client_handshake(), onion_skin_server_handshake(), relay_crypt(), rend_cache_store(), rend_client_introduction_acked(), rend_client_receive_rendezvous(), rend_client_rendezvous_acked(), rend_mid_establish_intro(), rend_mid_establish_rendezvous(), rend_mid_introduce(), rend_mid_rendezvous(), rend_parse_service_descriptor(), rend_process_relay_cell(), rend_service_intro_established(), rend_service_introduce(), run_connection_housekeeping(), stream_end_reason_to_socks5_response(), stream_end_reason_to_string(), tor_gzip_uncompress(), tor_tls_verify(), and try_to_extract_certs_from_tls().
#define LD_REND (1u<<11) |
Hidden services.
Referenced by _circuit_mark_for_close(), circuit_build_failed(), circuit_expire_building(), circuit_get_best(), circuit_get_open_circ_or_launch(), circuit_receive_relay_cell(), connection_ap_expire_beginning(), connection_ap_handshake_attach_circuit(), connection_dir_client_reached_eof(), connection_exit_begin_conn(), directory_get_from_hs_dir(), directory_handle_command_get(), directory_handle_command_post(), directory_post_to_hs_dir(), hid_serv_acting_as_directory(), hid_serv_get_responsible_directories(), rend_add_service(), rend_cache_clean_v2_descs_as_dir(), rend_cache_lookup_v2_desc_as_dir(), rend_cache_store(), rend_cache_store_v2_desc_as_client(), rend_cache_store_v2_desc_as_dir(), rend_client_desc_trynow(), rend_client_get_random_intro(), rend_client_introcirc_has_opened(), rend_client_introduction_acked(), rend_client_receive_rendezvous(), rend_client_refetch_v2_renddesc(), rend_client_remove_intro_point(), rend_client_rendcirc_has_opened(), rend_client_rendezvous_acked(), rend_client_send_establish_rendezvous(), rend_client_send_introduction(), rend_compute_v2_desc_id(), rend_config_services(), rend_decrypt_introduction_points(), rend_encode_v2_descriptors(), rend_encode_v2_intro_points(), rend_encrypt_v2_intro_points_basic(), rend_encrypt_v2_intro_points_stealth(), rend_mid_establish_intro(), rend_mid_establish_rendezvous(), rend_mid_introduce(), rend_mid_rendezvous(), rend_parse_client_keys(), rend_parse_introduction_points(), rend_parse_v2_service_descriptor(), rend_service_intro_established(), rend_service_intro_has_opened(), rend_service_introduce(), rend_service_launch_establish_intro(), rend_service_load_keys(), rend_service_relaunch_rendezvous(), rend_service_rendezvous_has_opened(), rend_service_set_connection_addr_port(), rend_services_introduce(), and upload_service_descriptor().
#define N_LOGGING_DOMAINS 20 |
Number of logging domains in the code.
typedef void(* log_callback)(int severity, uint32_t domain, const char *msg) |
Callback type used for add_callback_log.
int add_callback_log | ( | const log_severity_list_t * | severity, | |
log_callback | cb | |||
) |
Add a log handler to send messages in severity to the function cb.
References _log_global_min_severity, logfile_t::callback, logfile_t::fd, logfile_t::filename, get_min_log_level(), logfile_t::next, and logfile_t::severities.
Referenced by options_act_reversible().
int add_file_log | ( | const log_severity_list_t * | severity, | |
const char * | filename | |||
) |
Add a log handler to send messages to filename. If opening the logfile fails, -1 is returned and errno is set appropriately (by open(2)).
References _log_global_min_severity, add_stream_log_impl(), delete_log(), get_min_log_level(), log_tor_version(), logfile_t::needs_close, and tor_fd_seekend().
Referenced by options_init_logs().
void add_stream_log | ( | const log_severity_list_t * | severity, | |
const char * | name, | |||
int | fd | |||
) |
Add a log handler named name to send all messages in severity to fd. Steals a reference to severity; the caller must not use it after calling this function.
References add_stream_log_impl().
Referenced by options_init_logs().
int add_syslog_log | ( | const log_severity_list_t * | severity | ) |
Add a log handler to send messages to they system log facility.
References _log_global_min_severity, logfile_t::fd, logfile_t::filename, get_min_log_level(), logfile_t::is_syslog, logfile_t::next, logfile_t::severities, and syslog_count.
Referenced by options_init_logs().
void add_temp_log | ( | int | min_severity | ) |
Add a log handler to receive messages during startup (before the real logs are initialized).
References add_stream_log_impl(), logfile_t::is_temporary, set_log_severity_config(), and tor_free.
Referenced by tor_init().
void change_callback_log_severity | ( | int | loglevelMin, | |
int | loglevelMax, | |||
log_callback | cb | |||
) |
Adjust the configured severity of any logs whose callback function is cb.
References _log_global_min_severity, logfile_t::callback, get_min_log_level(), logfile_t::next, set_log_severity_config(), and logfile_t::severities.
Referenced by control_adjust_event_log_severity().
void close_temp_logs | ( | void | ) |
Close any log handlers added by add_temp_log() or marked by mark_logs_temp().
References _log_global_min_severity, close_log(), get_min_log_level(), log_free(), and logfile_t::next.
Referenced by options_act_reversible(), and rollback_log_changes().
int get_min_log_level | ( | void | ) |
Return the least severe log level that any current log is interested in.
References log_severity_list_t::masks, logfile_t::next, and logfile_t::severities.
Referenced by add_callback_log(), add_file_log(), add_stream_log_impl(), add_syslog_log(), change_callback_log_severity(), close_temp_logs(), signal_callback(), and switch_logs_debug().
void init_logging | ( | void | ) |
const char* log_level_to_string | ( | int | level | ) |
Return the string equivalent of a given log level.
References sev_to_string().
void log_set_application_name | ( | const char * | name | ) |
Set the "application name" for the logs to name: we'll use this name in the message we write when starting up, and at the start of each new log.
Tor uses this string to write the version number to the log file.
References appname, and tor_free.
Referenced by tor_init().
void logs_free_all | ( | void | ) |
Close all open log files, and free other static memory.
References appname, close_log(), log_free(), logfile_t::next, and tor_free.
Referenced by tor_free_all().
void mark_logs_temp | ( | void | ) |
Configure all log handles to be closed by close_temp_logs().
References logfile_t::is_temporary, and logfile_t::next.
Referenced by options_act_reversible().
int parse_log_level | ( | const char * | level | ) |
If level is a valid log severity, return the corresponding numeric value. Otherwise, return -1.
Referenced by parse_log_severity_config().
int parse_log_severity_config | ( | const char ** | cfg_ptr, | |
log_severity_list_t * | severity_out | |||
) |
Parse a log severity pattern in *cfg_ptr. Advance cfg_ptr after the end of the severityPattern. Set the value of severity_out to the parsed pattern. Return 0 on success, -1 on failure.
The syntax for a SeverityPattern is:
SeverityPattern = *(DomainSeverity SP)* DomainSeverity DomainSeverity = (DomainList SP)? SeverityRange SeverityRange = MinSeverity ("-" MaxSeverity )? DomainList = "[" (SP? DomainSpec SP? ",") SP? DomainSpec "]" DomainSpec = "*" | Domain | "~" DomainA missing MaxSeverity defaults to ERR. Severities and domains are case-insensitive. "~" indicates negation for a domain; negation happens last inside a DomainList. Only one SeverityRange without a DomainList is allowed per line.
References eat_whitespace(), LD_CONFIG, log_severity_list_t::masks, parse_log_domain(), parse_log_level(), smartlist_create(), smartlist_free(), smartlist_split_string(), strcasecmpstart(), and tor_free.
Referenced by options_init_logs().
void rollback_log_changes | ( | void | ) |
Make all currently temporary logs (set to be closed by close_temp_logs) live again, and close all non-temporary logs.
References close_temp_logs(), logfile_t::is_temporary, and logfile_t::next.
Referenced by options_act_reversible().
void set_log_severity_config | ( | int | loglevelMin, | |
int | loglevelMax, | |||
log_severity_list_t * | severity_out | |||
) |
Adjust a log severity configuration in severity_out to contain every domain between loglevelMin and loglevelMax, inclusive.
References log_severity_list_t::masks, and tor_assert.
Referenced by add_temp_log(), and change_callback_log_severity().
void switch_logs_debug | ( | void | ) |
Switch all logs to output at most verbose level.
References _log_global_min_severity, get_min_log_level(), log_severity_list_t::masks, logfile_t::next, and logfile_t::severities.
Referenced by signal_callback().
const char* _log_fn_function_name |
Output a message to the log, prefixed with a function name fn.