tor  0.4.2.0-alpha-dev
Data Fields
networkstatus_t Struct Reference

#include <networkstatus_st.h>

Data Fields

networkstatus_type_t type
 
consensus_flavor_t flavor
 
unsigned int has_measured_bws: 1
 
time_t published
 
time_t valid_after
 
time_t fresh_until
 
time_t valid_until
 
int consensus_method
 
smartlist_tsupported_methods
 
smartlist_tpackage_lines
 
int vote_seconds
 
int dist_seconds
 
char * client_versions
 
char * server_versions
 
char * recommended_relay_protocols
 
char * recommended_client_protocols
 
char * required_relay_protocols
 
char * required_client_protocols
 
smartlist_tknown_flags
 
smartlist_tnet_params
 
smartlist_tweight_params
 
smartlist_tvoters
 
struct authority_cert_tcert
 
common_digests_t digests
 
uint8_t digest_sha3_as_signed [DIGEST256_LEN]
 
smartlist_trouterstatus_list
 
digestmap_t * desc_digest_map
 
networkstatus_sr_info_t sr_info
 
smartlist_tbw_file_headers
 
uint8_t bw_file_digest256 [DIGEST256_LEN]
 

Detailed Description

A common structure to hold a v3 network status vote, or a v3 network status consensus.

Definition at line 21 of file networkstatus_st.h.

Field Documentation

◆ bw_file_digest256

uint8_t networkstatus_t::bw_file_digest256[DIGEST256_LEN]

A SHA256 digest of the bandwidth file used in a vote.

Definition at line 104 of file networkstatus_st.h.

◆ bw_file_headers

smartlist_t* networkstatus_t::bw_file_headers

List of key=value strings from the headers of the bandwidth list file

Definition at line 101 of file networkstatus_st.h.

◆ cert

struct authority_cert_t* networkstatus_t::cert

Vote only: the voter's certificate.

Definition at line 80 of file networkstatus_st.h.

◆ client_versions

char* networkstatus_t::client_versions

Comma-separated list of recommended client software, or NULL if this voter has no opinion.

Definition at line 51 of file networkstatus_st.h.

Referenced by networkstatus_vote_free_().

◆ consensus_method

int networkstatus_t::consensus_method

Consensus only: what method was used to produce this consensus?

Definition at line 35 of file networkstatus_st.h.

◆ desc_digest_map

digestmap_t* networkstatus_t::desc_digest_map

If present, a map from descriptor digest to elements of routerstatus_list.

Definition at line 95 of file networkstatus_st.h.

Referenced by MOCK_IMPL(), router_get_descriptor_digests_in_consensus(), and signed_descs_update_status_from_consensus_networkstatus().

◆ digest_sha3_as_signed

uint8_t networkstatus_t::digest_sha3_as_signed[DIGEST256_LEN]

A SHA3-256 digest of the document, not including signatures: used for consensus diffs

Definition at line 86 of file networkstatus_st.h.

◆ digests

common_digests_t networkstatus_t::digests

Digests of this document, as signed.

Definition at line 83 of file networkstatus_st.h.

◆ dist_seconds

int networkstatus_t::dist_seconds

How long does this vote/consensus claim that authorities take to distribute their consensus signatures to one another?

Definition at line 47 of file networkstatus_st.h.

◆ flavor

consensus_flavor_t networkstatus_t::flavor

◆ fresh_until

time_t networkstatus_t::fresh_until

Time before which this is the most recent vote or consensus.

Definition at line 29 of file networkstatus_st.h.

Referenced by networkstatus_add_detached_signatures(), and update_consensus_networkstatus_fetch_time_impl().

◆ has_measured_bws

unsigned int networkstatus_t::has_measured_bws

True iff this networkstatus contains measured= bandwidth values.

Definition at line 24 of file networkstatus_st.h.

◆ known_flags

smartlist_t* networkstatus_t::known_flags

List of flags that this vote/consensus applies to routers. If a flag is not listed here, the voter has no opinion on what its value should be.

Definition at line 65 of file networkstatus_st.h.

Referenced by networkstatus_vote_free_().

◆ net_params

smartlist_t* networkstatus_t::net_params

List of key=value strings for the parameters in this vote or consensus, sorted by key.

Definition at line 69 of file networkstatus_st.h.

Referenced by MOCK_IMPL().

◆ package_lines

smartlist_t* networkstatus_t::package_lines

List of 'package' lines describing hashes of downloadable packages

Definition at line 40 of file networkstatus_st.h.

◆ published

time_t networkstatus_t::published

Vote only: Time when vote was written.

Definition at line 27 of file networkstatus_st.h.

◆ recommended_relay_protocols

char* networkstatus_t::recommended_relay_protocols

Lists of subprotocol versions which are recommended for relays and clients, or which are require for relays and clients. Tor shouldn't make any more network connections if a required protocol is missing.

Definition at line 58 of file networkstatus_st.h.

Referenced by get_nth_protocol_set_vote(), networkstatus_check_required_protocols(), and networkstatus_vote_free_().

◆ routerstatus_list

smartlist_t* networkstatus_t::routerstatus_list

List of router statuses, sorted by identity digest. For a vote, the elements are vote_routerstatus_t; for a consensus, the elements are routerstatus_t.

Definition at line 91 of file networkstatus_st.h.

Referenced by control_event_newconsensus(), MOCK_IMPL(), networkstatus_vote_find_entry_idx(), networkstatus_vote_find_mutable_entry(), and router_get_mutable_consensus_status_by_id().

◆ sr_info

networkstatus_sr_info_t networkstatus_t::sr_info

Contains the shared random protocol data from a vote or consensus.

Definition at line 98 of file networkstatus_st.h.

Referenced by extract_shared_random_commits().

◆ supported_methods

smartlist_t* networkstatus_t::supported_methods

Vote only: what methods is this voter willing to use?

Definition at line 37 of file networkstatus_st.h.

◆ type

networkstatus_type_t networkstatus_t::type

◆ valid_after

time_t networkstatus_t::valid_after

◆ valid_until

time_t networkstatus_t::valid_until

Time after which this vote or consensus should not be used.

Definition at line 31 of file networkstatus_st.h.

Referenced by networkstatus_add_detached_signatures(), and signed_descs_update_status_from_consensus_networkstatus().

◆ vote_seconds

int networkstatus_t::vote_seconds

How long does this vote/consensus claim that authorities take to distribute their votes to one another?

Definition at line 44 of file networkstatus_st.h.

◆ voters

smartlist_t* networkstatus_t::voters

List of networkstatus_voter_info_t. For a vote, only one element is included. For a consensus, one element is included for every voter whose vote contributed to the consensus.

Definition at line 78 of file networkstatus_st.h.

Referenced by get_voter(), networkstatus_check_consensus_signature(), and networkstatus_get_voter_by_id().

◆ weight_params

smartlist_t* networkstatus_t::weight_params

List of key=value strings for the bw weight parameters in the consensus.

Definition at line 73 of file networkstatus_st.h.

Referenced by networkstatus_get_bw_weight().


The documentation for this struct was generated from the following file: