#include <or.h>
Data Fields | |
time_t | published_on |
char | nickname [MAX_NICKNAME_LEN+1] |
char | identity_digest [DIGEST_LEN] |
char | descriptor_digest [DIGEST_LEN] |
uint32_t | addr |
uint16_t | or_port |
uint16_t | dir_port |
unsigned int | is_authority:1 |
unsigned int | is_exit:1 |
unsigned int | is_stable:1 |
unsigned int | is_fast:1 |
unsigned int | is_running:1 |
unsigned int | is_named:1 |
unsigned int | is_unnamed:1 |
unsigned int | is_valid:1 |
unsigned int | is_v2_dir:1 |
unsigned int | is_possible_guard:1 |
unsigned int | is_bad_exit:1 |
unsigned int | is_bad_directory:1 |
unsigned int | is_hs_dir:1 |
unsigned int | version_known:1 |
unsigned int | version_supports_begindir:1 |
unsigned int | version_supports_conditional_consensus:1 |
unsigned int | version_supports_extrainfo_upload:1 |
unsigned int | version_supports_v3_dir:1 |
unsigned int | has_bandwidth:1 |
unsigned int | has_exitsummary:1 |
unsigned int | has_measured_bw:1 |
uint32_t | measured_bw |
uint32_t | bandwidth |
char * | exitsummary |
unsigned int | need_to_mirror:1 |
unsigned int | name_lookup_warned:1 |
time_t | last_dir_503_at |
download_status_t | dl_status |
time_t routerstatus_t::published_on |
When was this router published?
Referenced by client_would_use_router(), compare_vote_rs(), compute_routerstatus_consensus(), routerstatus_format_entry(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
char routerstatus_t::nickname[MAX_NICKNAME_LEN+1] |
The nickname this router says it has.
Referenced by add_trusted_dir_server(), compare_vote_rs(), directory_initiate_command_routerstatus_rend(), directory_post_to_hs_dir(), dirserv_would_reject_router(), hid_serv_get_responsible_directories(), routerset_contains_routerstatus(), routerstatus_format_entry(), routerstatus_get_verbose_nickname(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
char routerstatus_t::identity_digest[DIGEST_LEN] |
Digest of the router's identity key.
Referenced by add_trusted_dir_server(), compare_digest_to_routerstatus_entry(), compare_routerstatus_entries(), compare_vote_rs(), directory_initiate_command_routerstatus_rend(), directory_post_to_hs_dir(), dirserv_would_reject_router(), hid_serv_responsible_for_desc_id(), lookup_last_hid_serv_request(), networkstatus_parse_vote_from_string(), routerset_contains_routerstatus(), routerstatus_format_entry(), routerstatus_get_verbose_nickname(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), set_routerstatus_from_routerinfo(), and smartlist_choose_by_bandwidth().
char routerstatus_t::descriptor_digest[DIGEST_LEN] |
Digest of the router's most recent descriptor.
Referenced by compare_vote_rs(), router_add_to_routerlist(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), set_routerstatus_from_routerinfo(), and signed_desc_digest_is_recognized().
uint32_t routerstatus_t::addr |
IPv4 address for this router.
Referenced by add_trusted_dir_server(), compare_vote_rs(), directory_initiate_command_routerstatus_rend(), directory_post_to_hs_dir(), dirserv_would_reject_router(), routerset_contains_routerstatus(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
uint16_t routerstatus_t::or_port |
OR port for this router.
Referenced by add_trusted_dir_server(), compare_vote_rs(), directory_initiate_command_routerstatus_rend(), directory_post_to_hs_dir(), dirserv_would_reject_router(), routerset_contains_routerstatus(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
uint16_t routerstatus_t::dir_port |
Directory port for this router.
Referenced by add_trusted_dir_server(), compare_vote_rs(), directory_initiate_command_routerstatus_rend(), hid_serv_get_responsible_directories(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), set_routerstatus_from_routerinfo(), and smartlist_choose_by_bandwidth_weights().
unsigned int routerstatus_t::is_authority |
True iff this router is an authority.
Referenced by clear_status_flags_on_sybil(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_exit |
True iff this router is a good exit.
Referenced by clear_status_flags_on_sybil(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), set_routerstatus_from_routerinfo(), smartlist_choose_by_bandwidth(), and smartlist_choose_by_bandwidth_weights().
unsigned int routerstatus_t::is_stable |
True iff this router stays up a long time.
Referenced by clear_status_flags_on_sybil(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_fast |
True iff this router has good bandwidth.
Referenced by clear_status_flags_on_sybil(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), set_routerstatus_from_routerinfo(), and smartlist_choose_by_bandwidth().
unsigned int routerstatus_t::is_running |
True iff this router is up.
Referenced by clear_status_flags_on_sybil(), client_would_use_router(), router_set_status(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_named |
True iff "nickname" belongs to this router.
Referenced by clear_status_flags_on_sybil(), routerset_contains_routerstatus(), routerstatus_format_entry(), routerstatus_get_verbose_nickname(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_unnamed |
True iff "nickname" belongs to another router.
Referenced by routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_valid |
True iff this router isn't invalid.
Referenced by clear_status_flags_on_sybil(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_v2_dir |
True iff this router can serve directory information with v2 of the directory protocol. (All directory caches cache v1 directories.)
Referenced by clear_status_flags_on_sybil(), router_get_my_share_of_directory_requests(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_possible_guard |
True iff this router would be a good choice as an entry guard.
Referenced by clear_status_flags_on_sybil(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), set_routerstatus_from_routerinfo(), smartlist_choose_by_bandwidth(), and smartlist_choose_by_bandwidth_weights().
unsigned int routerstatus_t::is_bad_exit |
True iff this node is a bad choice for an exit node.
Referenced by clear_status_flags_on_sybil(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_bad_directory |
Do we think this directory is junky, underpowered, or otherwise useless?
Referenced by clear_status_flags_on_sybil(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::is_hs_dir |
True iff this router is a v2-or-later hidden service directory.
Referenced by clear_status_flags_on_sybil(), hid_serv_acting_as_directory(), hid_serv_get_responsible_directories(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().
unsigned int routerstatus_t::version_known |
True iff we know version info for this router. (i.e., a "v" entry was included.) We'll replace all these with a big tor_version_t or a char[] if the number of traits we care about ever becomes incredibly big.
Referenced by routerstatus_has_changed(), and routerstatus_parse_entry_from_string().
unsigned int routerstatus_t::version_supports_begindir |
True iff this router is a version that supports BEGIN_DIR cells.
Referenced by add_trusted_dir_server(), directory_initiate_command_routerstatus_rend(), routerstatus_has_changed(), and routerstatus_parse_entry_from_string().
True iff this router is a version that supports conditional consensus downloads (signed by list of authorities).
Referenced by add_trusted_dir_server(), directory_initiate_command_routerstatus_rend(), routerstatus_has_changed(), and routerstatus_parse_entry_from_string().
unsigned int routerstatus_t::version_supports_extrainfo_upload |
True iff this router is a version that we can post extrainfo docs to.
Referenced by router_supports_extrainfo(), routerstatus_has_changed(), and routerstatus_parse_entry_from_string().
unsigned int routerstatus_t::version_supports_v3_dir |
True iff this router is a version that, if it caches directory info, we can get v3 downloads from.
Referenced by router_get_my_share_of_directory_requests(), routerstatus_has_changed(), and routerstatus_parse_entry_from_string().
unsigned int routerstatus_t::has_bandwidth |
The vote/consensus had bw info
Referenced by routerstatus_format_entry(), routerstatus_parse_entry_from_string(), smartlist_choose_by_bandwidth(), and smartlist_choose_by_bandwidth_weights().
unsigned int routerstatus_t::has_exitsummary |
The vote/consensus had exit summaries
Referenced by routerstatus_parse_entry_from_string().
unsigned int routerstatus_t::has_measured_bw |
The vote/consensus had a measured bw
Referenced by measured_bw_line_apply(), routerstatus_format_entry(), and routerstatus_parse_entry_from_string().
uint32_t routerstatus_t::measured_bw |
Measured bandwidth (capacity) of the router
Referenced by measured_bw_line_apply(), routerstatus_format_entry(), and routerstatus_parse_entry_from_string().
uint32_t routerstatus_t::bandwidth |
Bandwidth (capacity) of the router as reported in the vote/consensus, in kilobytes/sec.
Referenced by routerstatus_format_entry(), routerstatus_parse_entry_from_string(), smartlist_choose_by_bandwidth(), and smartlist_choose_by_bandwidth_weights().
exit policy summary - XXX weasel: this probably should not stay a string.
Referenced by routerstatus_free(), routerstatus_parse_entry_from_string(), and vote_routerstatus_free().
unsigned int routerstatus_t::need_to_mirror |
True if we, as a directory mirror, want to download the corresponding routerinfo from the authority who gave us this routerstatus. (That is, if we don't have the routerinfo, and if we haven't already tried to get it from this authority.) Applies in v2 networkstatus document only.
Referenced by router_add_to_routerlist().
unsigned int routerstatus_t::name_lookup_warned |
Have we warned the user for referring to this (unnamed) router by nickname?
When did this router last tell us that it was too busy to serve directory info?
Referenced by connection_dir_client_reached_eof().