#include <or.h>
Data Fields | |
signed_descriptor_t | cache_info |
char * | address |
char * | nickname |
uint32_t | addr |
uint16_t | or_port |
uint16_t | dir_port |
crypto_pk_env_t * | onion_pkey |
crypto_pk_env_t * | identity_pkey |
char * | platform |
uint32_t | bandwidthrate |
uint32_t | bandwidthburst |
uint32_t | bandwidthcapacity |
smartlist_t * | exit_policy |
long | uptime |
smartlist_t * | declared_family |
char * | contact_info |
unsigned int | is_hibernating:1 |
unsigned int | has_old_dnsworkers:1 |
unsigned int | caches_extra_info:1 |
unsigned int | allow_single_hop_exits:1 |
unsigned int | is_running:1 |
unsigned int | is_valid:1 |
unsigned int | is_named:1 |
unsigned int | is_fast:1 |
unsigned int | is_stable:1 |
unsigned int | is_possible_guard:1 |
unsigned int | is_exit:1 |
unsigned int | is_bad_exit:1 |
unsigned int | is_bad_directory:1 |
unsigned int | wants_to_be_hs_dir:1 |
unsigned int | is_hs_dir:1 |
unsigned int | policy_is_reject_star:1 |
uint8_t | purpose |
time_t | last_reachable |
time_t | testing_since |
country_t | country |
char* routerinfo_t::address |
Location of OR: either a hostname or an IP address.
Referenced by authdir_wants_to_reject_router(), connection_or_init_conn_from_address(), consider_testing_reachability(), directory_get_from_dirserver(), directory_initiate_command_routerstatus_rend(), dirserv_router_get_status(), dirserv_router_has_valid_address(), dirserv_single_reachability_test(), inform_testing_reachability(), router_differences_are_cosmetic(), router_dirport_found_reachable(), router_dump_router_to_string(), router_orport_found_reachable(), router_parse_entry_from_string(), router_rebuild_descriptor(), router_set_status(), routerinfo_free(), and second_elapsed_callback().
char* routerinfo_t::nickname |
Human-readable OR name.
Referenced by add_an_entry_guard(), authdir_wants_to_reject_router(), choose_good_exit_server_general(), circuit_send_next_onion_skin(), command_process_create_cell(), connection_or_init_conn_from_address(), directory_remove_invalid(), dirserv_add_descriptor(), dirserv_router_get_status(), dirserv_router_has_valid_address(), dirserv_single_reachability_test(), extend_info_from_router(), learned_bridge_descriptor(), list_single_server_status(), rep_hist_dump_stats(), rep_hist_get_router_stability_doc(), router_add_to_routerlist(), router_differences_are_cosmetic(), router_dump_router_to_string(), router_get_by_hexdigest(), router_get_verbose_nickname(), router_hex_digest_matches(), router_nickname_matches(), router_parse_entry_from_string(), router_parse_list_from_string(), router_rebuild_descriptor(), router_set_status(), routerinfo_free(), routerlist_remove_old_routers(), routerset_contains_router(), and set_routerstatus_from_routerinfo().
uint32_t routerinfo_t::addr |
IPv4 address of OR, in host order.
Referenced by _compare_routerinfo_by_ip_and_bw(), check_descriptor_ipaddress_changed(), connection_or_init_conn_from_address(), connection_or_send_netinfo(), consider_testing_reachability(), directory_conn_is_self_reachability_test(), directory_get_from_dirserver(), dirserv_router_get_status(), dirserv_single_reachability_test(), extend_info_from_router(), fascist_firewall_allows_or(), rep_hist_get_router_stability_doc(), router_add_to_routerlist(), router_parse_entry_from_string(), router_rebuild_descriptor(), routerinfo_get_configured_bridge(), routerinfo_set_country(), routers_in_same_network_family(), routerset_contains_router(), and set_routerstatus_from_routerinfo().
uint16_t routerinfo_t::or_port |
Port for TLS connections.
Referenced by connection_or_init_conn_from_address(), consider_testing_reachability(), directory_get_from_dirserver(), dirserv_router_get_status(), dirserv_single_reachability_test(), extend_info_from_router(), fascist_firewall_allows_or(), inform_testing_reachability(), router_add_to_routerlist(), router_differences_are_cosmetic(), router_dump_router_to_string(), router_orport_found_reachable(), router_parse_entry_from_string(), router_rebuild_descriptor(), routerinfo_get_configured_bridge(), routerset_contains_router(), second_elapsed_callback(), and set_routerstatus_from_routerinfo().
uint16_t routerinfo_t::dir_port |
Port for HTTP directory connections.
Referenced by consider_testing_reachability(), directory_conn_is_self_reachability_test(), directory_fetches_from_authorities(), inform_testing_reachability(), router_differences_are_cosmetic(), router_dirport_found_reachable(), router_dump_router_to_string(), router_parse_entry_from_string(), router_rebuild_descriptor(), second_elapsed_callback(), set_routerstatus_from_routerinfo(), and smartlist_choose_by_bandwidth_weights().
Public RSA key for onions.
Referenced by dirvote_create_microdescriptor(), extend_info_from_router(), router_differences_are_cosmetic(), router_dump_router_to_string(), router_parse_entry_from_string(), router_rebuild_descriptor(), and routerinfo_free().
Public RSA key for signing.
Referenced by dirserv_router_get_status(), extrainfo_parse_entry_from_string(), router_differences_are_cosmetic(), router_dump_router_to_string(), router_parse_entry_from_string(), router_rebuild_descriptor(), routerinfo_free(), and routerinfo_incompatible_with_extrainfo().
char* routerinfo_t::platform |
What software/operating system is this OR using?
Referenced by command_process_create_cell(), dirserv_router_get_status(), esc_router_info(), router_differences_are_cosmetic(), router_digest_version_as_new_as(), router_dump_router_to_string(), router_parse_entry_from_string(), router_rebuild_descriptor(), router_supports_extrainfo(), routerinfo_free(), and set_routerstatus_from_routerinfo().
uint32_t routerinfo_t::bandwidthrate |
How many bytes does this OR add to its token bucket per second?
Referenced by router_differences_are_cosmetic(), router_dump_router_to_string(), router_get_advertised_bandwidth(), router_get_advertised_bandwidth_capped(), router_parse_entry_from_string(), router_rebuild_descriptor(), and run_scheduled_events().
uint32_t routerinfo_t::bandwidthburst |
How large is this OR's token bucket?
Referenced by router_differences_are_cosmetic(), router_dump_router_to_string(), router_parse_entry_from_string(), and router_rebuild_descriptor().
uint32_t routerinfo_t::bandwidthcapacity |
How many bytes/s is this router known to handle?
Referenced by check_descriptor_bandwidth_changed(), router_differences_are_cosmetic(), router_dump_router_to_string(), router_get_advertised_bandwidth(), router_get_advertised_bandwidth_capped(), router_parse_entry_from_string(), router_rebuild_descriptor(), and run_scheduled_events().
What streams will this OR permit to exit? NULL for 'reject *:*'.
Referenced by circuit_stream_is_being_handled(), connection_ap_can_use_exit(), dirvote_create_microdescriptor(), dns_resolve_impl(), policies_set_router_exitpolicy_to_reject_all(), router_add_exit_policy(), router_compare_to_my_exit_policy(), router_differences_are_cosmetic(), router_dump_router_to_string(), router_handles_some_port(), router_parse_entry_from_string(), router_rebuild_descriptor(), routerinfo_free(), and routerstatus_format_entry().
long routerinfo_t::uptime |
How many seconds the router claims to have been up
Referenced by real_uptime(), rep_hist_get_router_stability_doc(), router_differences_are_cosmetic(), and router_parse_entry_from_string().
Nicknames of router which this router claims are its family.
Referenced by dirvote_create_microdescriptor(), router_differences_are_cosmetic(), router_dump_router_to_string(), router_parse_entry_from_string(), router_rebuild_descriptor(), routerinfo_free(), routerlist_add_family(), and routers_in_same_family().
Declared contact info for this router.
Referenced by authdir_wants_to_reject_router(), dirserv_router_get_status(), esc_router_info(), router_differences_are_cosmetic(), router_parse_entry_from_string(), and routerinfo_free().
unsigned int routerinfo_t::is_hibernating |
Whether the router claims to be hibernating
Referenced by rep_hist_get_router_stability_doc(), router_differences_are_cosmetic(), router_is_active(), and router_parse_entry_from_string().
unsigned int routerinfo_t::has_old_dnsworkers |
Whether the router is using dnsworker code.
Referenced by connection_ap_can_use_exit(), router_differences_are_cosmetic(), and router_parse_entry_from_string().
unsigned int routerinfo_t::caches_extra_info |
Whether the router caches and serves extrainfo documents.
Referenced by router_parse_entry_from_string(), and router_supports_extrainfo().
unsigned int routerinfo_t::allow_single_hop_exits |
Whether the router allows single hop exits.
Referenced by choose_good_exit_server_general(), handle_control_attachstream(), and router_parse_entry_from_string().
unsigned int routerinfo_t::is_running |
As far as we know, is this OR currently running?
Referenced by _compare_routerinfo_by_ip_and_bw(), add_nickname_list_to_smartlist(), bridges_retry_helper(), choose_good_exit_server_general(), count_acceptable_routers(), dirserv_set_router_is_running(), dirserv_thinks_router_is_hs_dir(), entry_guard_set_status(), learned_bridge_descriptor(), rep_hist_get_router_stability_doc(), router_clear_status_flags(), router_is_active(), router_rebuild_descriptor(), router_set_status(), and set_routerstatus_from_routerinfo().
unsigned int routerinfo_t::is_valid |
Has a trusted dirserver validated this OR? (For Authdir: Have we validated this OR?)
Referenced by authdir_wants_to_reject_router(), choose_good_exit_server_general(), count_acceptable_routers(), directory_remove_invalid(), dirserv_add_descriptor(), list_single_server_status(), rep_hist_get_router_stability_doc(), router_add_to_routerlist(), router_clear_status_flags(), router_is_active(), router_rebuild_descriptor(), and set_routerstatus_from_routerinfo().
unsigned int routerinfo_t::is_named |
Do we believe the nickname that this OR gives us?
Referenced by authdir_wants_to_reject_router(), circuit_list_path_impl(), directory_remove_invalid(), router_get_by_hexdigest(), router_get_verbose_nickname(), router_hex_digest_matches(), router_rebuild_descriptor(), and routerset_contains_router().
unsigned int routerinfo_t::is_stable |
Do we think this is a fast OR?
Referenced by router_clear_status_flags(), router_is_unreliable(), and set_routerstatus_from_routerinfo().
unsigned int routerinfo_t::is_possible_guard |
Do we think this is a stable OR? Do we think this is an OK guard?
Referenced by entry_guard_set_status(), router_clear_status_flags(), router_is_unreliable(), smartlist_choose_by_bandwidth(), and smartlist_choose_by_bandwidth_weights().
unsigned int routerinfo_t::is_exit |
Do we think this is an OK exit?
Referenced by router_clear_status_flags(), set_routerstatus_from_routerinfo(), smartlist_choose_by_bandwidth(), and smartlist_choose_by_bandwidth_weights().
unsigned int routerinfo_t::is_bad_exit |
Do we think this exit is censored, borked, or otherwise nasty?
Referenced by authdir_wants_to_reject_router(), choose_good_exit_server_general(), directory_remove_invalid(), router_clear_status_flags(), and set_routerstatus_from_routerinfo().
unsigned int routerinfo_t::is_bad_directory |
Do we think this directory is junky, underpowered, or otherwise useless?
Referenced by authdir_wants_to_reject_router(), directory_remove_invalid(), router_clear_status_flags(), and set_routerstatus_from_routerinfo().
unsigned int routerinfo_t::wants_to_be_hs_dir |
True iff this router claims to be a hidden service directory.
Referenced by dirserv_thinks_router_is_hs_dir(), and router_parse_entry_from_string().
unsigned int routerinfo_t::is_hs_dir |
True iff this router is a hidden service directory according to the authorities.
Referenced by router_clear_status_flags(), and set_routerstatus_from_routerinfo().
unsigned int routerinfo_t::policy_is_reject_star |
True iff the exit policy for this router rejects everything.
Referenced by router_exit_policy_rejects_all(), and router_parse_entry_from_string().
time_t routerinfo_t::last_reachable |
What positions in a circuit is this router good for? When was the last time we could reach this OR?
Referenced by dirserv_set_router_is_running(), and router_add_to_routerlist().
time_t routerinfo_t::testing_since |
When did we start testing reachability for this OR?
Referenced by dirserv_single_reachability_test(), and router_add_to_routerlist().
According to the geoip db what country is this router in?
Referenced by router_parse_entry_from_string(), routerinfo_set_country(), and routerset_contains_router().