Tor  0.4.3.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 26 of file networkstatus_st.h.

Field Documentation

◆ bw_file_digest256

uint8_t bw_file_digest256[DIGEST256_LEN]

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

Definition at line 109 of file networkstatus_st.h.

◆ bw_file_headers

smartlist_t* bw_file_headers

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

Definition at line 106 of file networkstatus_st.h.

◆ cert

struct authority_cert_t* cert

Vote only: the voter's certificate.

Definition at line 85 of file networkstatus_st.h.

◆ client_versions

char* client_versions

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

Definition at line 56 of file networkstatus_st.h.

Referenced by networkstatus_vote_free_().

◆ consensus_method

int consensus_method

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

Definition at line 40 of file networkstatus_st.h.

◆ desc_digest_map

digestmap_t* desc_digest_map

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

Definition at line 100 of file networkstatus_st.h.

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

◆ digest_sha3_as_signed

uint8_t digest_sha3_as_signed[DIGEST256_LEN]

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

Definition at line 91 of file networkstatus_st.h.

Referenced by digest_list_contains_best_consensus().

◆ digests

Digests of this document, as signed.

Definition at line 88 of file networkstatus_st.h.

◆ dist_seconds

int dist_seconds

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

Definition at line 52 of file networkstatus_st.h.

◆ flavor

◆ fresh_until

time_t fresh_until

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

Definition at line 34 of file networkstatus_st.h.

Referenced by get_voting_interval(), and update_consensus_networkstatus_fetch_time_impl().

◆ has_measured_bws

unsigned int has_measured_bws

True iff this networkstatus contains measured= bandwidth values.

Definition at line 29 of file networkstatus_st.h.

◆ known_flags

smartlist_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 70 of file networkstatus_st.h.

Referenced by networkstatus_vote_free_().

◆ net_params

smartlist_t* net_params

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

Definition at line 74 of file networkstatus_st.h.

Referenced by networkstatus_get_param().

◆ package_lines

smartlist_t* package_lines

List of 'package' lines describing hashes of downloadable packages

Definition at line 45 of file networkstatus_st.h.

◆ published

time_t published

Vote only: Time when vote was written.

Definition at line 32 of file networkstatus_st.h.

◆ recommended_relay_protocols

char* 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 63 of file networkstatus_st.h.

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

◆ routerstatus_list

smartlist_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 96 of file networkstatus_st.h.

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

◆ sr_info

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

Definition at line 103 of file networkstatus_st.h.

Referenced by sr_get_current_for_control(), and sr_get_previous_for_control().

◆ supported_methods

smartlist_t* supported_methods

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

Definition at line 42 of file networkstatus_st.h.

◆ type

◆ valid_after

time_t valid_after

◆ valid_until

time_t valid_until

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

Definition at line 36 of file networkstatus_st.h.

Referenced by signed_descs_update_status_from_consensus_networkstatus().

◆ vote_seconds

int vote_seconds

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

Definition at line 49 of file networkstatus_st.h.

◆ voters

smartlist_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 83 of file networkstatus_st.h.

Referenced by networkstatus_get_voter_by_id().

◆ weight_params

smartlist_t* weight_params

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

Definition at line 78 of file networkstatus_st.h.

Referenced by networkstatus_get_bw_weight().


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