tor  0.4.2.0-alpha-dev
Data Fields
routerinfo_t Struct Reference

#include <routerinfo_st.h>

Data Fields

signed_descriptor_t cache_info
 
char * nickname
 
uint32_t addr
 
uint16_t or_port
 
uint16_t dir_port
 
tor_addr_t ipv6_addr
 
uint16_t ipv6_orport
 
char * onion_pkey
 
size_t onion_pkey_len
 
crypto_pk_tidentity_pkey
 
struct curve25519_public_key_tonion_curve25519_pkey
 
time_t cert_expiration_time
 
char * platform
 
char * protocol_list
 
uint32_t bandwidthrate
 
uint32_t bandwidthburst
 
uint32_t bandwidthcapacity
 
smartlist_texit_policy
 
struct short_policy_tipv6_exit_policy
 
long uptime
 
smartlist_tdeclared_family
 
char * contact_info
 
unsigned int is_hibernating:1
 
unsigned int caches_extra_info:1
 
unsigned int allow_single_hop_exits:1
 
unsigned int wants_to_be_hs_dir:1
 
unsigned int policy_is_reject_star:1
 
unsigned int needs_retest_if_added:1
 
unsigned int supports_tunnelled_dir_requests:1
 
unsigned int omit_from_vote:1
 
protover_summary_flags_t pv
 
uint8_t purpose
 

Detailed Description

Information about another onion router in the network.

Definition at line 15 of file routerinfo_st.h.

Field Documentation

◆ addr

uint32_t routerinfo_t::addr

◆ allow_single_hop_exits

unsigned int routerinfo_t::allow_single_hop_exits

Whether the router says it allows single hop exits.

Definition at line 69 of file routerinfo_st.h.

Referenced by node_allows_single_hop_exits().

◆ bandwidthburst

uint32_t routerinfo_t::bandwidthburst

How large is this OR's token bucket?

Definition at line 53 of file routerinfo_st.h.

◆ bandwidthcapacity

uint32_t routerinfo_t::bandwidthcapacity

◆ bandwidthrate

uint32_t routerinfo_t::bandwidthrate

How many bytes does this OR add to its token bucket per second?

Definition at line 51 of file routerinfo_st.h.

Referenced by bridge_get_advertised_bandwidth_bounded(), router_get_advertised_bandwidth(), and router_get_advertised_bandwidth_capped().

◆ caches_extra_info

unsigned int routerinfo_t::caches_extra_info

Whether the router says it caches and serves extrainfo documents.

Definition at line 67 of file routerinfo_st.h.

Referenced by router_supports_extrainfo().

◆ cert_expiration_time

time_t routerinfo_t::cert_expiration_time

What's the earliest expiration time on all the certs in this routerinfo?

Definition at line 43 of file routerinfo_st.h.

◆ contact_info

char* routerinfo_t::contact_info

Declared contact info for this router.

Definition at line 64 of file routerinfo_st.h.

Referenced by authdir_wants_to_reject_router(), esc_router_info(), router_differences_are_cosmetic(), and routerinfo_free_().

◆ declared_family

smartlist_t* routerinfo_t::declared_family

Nicknames of router which this router claims are its family.

Definition at line 62 of file routerinfo_st.h.

Referenced by node_family_contains(), node_has_declared_family(), node_lookup_declared_family(), and router_differences_are_cosmetic().

◆ dir_port

uint16_t routerinfo_t::dir_port

Port for HTTP directory connections.

Definition at line 21 of file routerinfo_st.h.

Referenced by fascist_firewall_allows_ri_impl(), inform_testing_reachability(), and router_differences_are_cosmetic().

◆ exit_policy

smartlist_t* routerinfo_t::exit_policy

What streams will this OR permit to exit on IPv4? NULL for 'reject *:*'.

Definition at line 56 of file routerinfo_st.h.

Referenced by compare_tor_addr_to_node_policy(), router_add_exit_policy(), router_compare_to_my_exit_policy(), router_differences_are_cosmetic(), and router_dump_exit_policy_to_string().

◆ identity_pkey

crypto_pk_t* routerinfo_t::identity_pkey

Public RSA key for signing.

Definition at line 38 of file routerinfo_st.h.

Referenced by dirserv_router_get_status(), router_differences_are_cosmetic(), and routerinfo_free_().

◆ ipv6_addr

tor_addr_t routerinfo_t::ipv6_addr

◆ ipv6_exit_policy

struct short_policy_t* routerinfo_t::ipv6_exit_policy

What streams will this OR permit to exit on IPv6? NULL for 'reject *:*'

Definition at line 60 of file routerinfo_st.h.

Referenced by compare_tor_addr_to_node_policy(), and router_compare_to_my_exit_policy().

◆ is_hibernating

unsigned int routerinfo_t::is_hibernating

Whether the router claims to be hibernating

Definition at line 65 of file routerinfo_st.h.

Referenced by dirserv_set_router_is_running(), dirserv_should_launch_reachability_test(), router_differences_are_cosmetic(), and router_is_active().

◆ needs_retest_if_added

unsigned int routerinfo_t::needs_retest_if_added

True if, after we have added this router, we should re-launch tests for it.

Definition at line 78 of file routerinfo_st.h.

◆ nickname

char* routerinfo_t::nickname

◆ omit_from_vote

unsigned int routerinfo_t::omit_from_vote

Used during voting to indicate that we should not include an entry for this routerinfo. Used only during voting.

Definition at line 87 of file routerinfo_st.h.

Referenced by routers_make_ed_keys_unique().

◆ onion_curve25519_pkey

struct curve25519_public_key_t* routerinfo_t::onion_curve25519_pkey

Public curve25519 key for onions

Definition at line 40 of file routerinfo_st.h.

Referenced by routerinfo_free_().

◆ onion_pkey

char* routerinfo_t::onion_pkey

Public RSA TAP key for onions, ASN.1 encoded. We store this in its encoded format since storing it as a crypto_pk_t uses significantly more memory.

Definition at line 34 of file routerinfo_st.h.

Referenced by router_differences_are_cosmetic(), and routerinfo_free_().

◆ onion_pkey_len

size_t routerinfo_t::onion_pkey_len

Length of onion_pkey, in bytes.

Definition at line 36 of file routerinfo_st.h.

Referenced by router_differences_are_cosmetic().

◆ or_port

uint16_t routerinfo_t::or_port

◆ platform

char* routerinfo_t::platform

What software/operating system is this OR using?

Definition at line 45 of file routerinfo_st.h.

Referenced by esc_router_info(), node_get_platform(), router_differences_are_cosmetic(), and routerinfo_free_().

◆ policy_is_reject_star

unsigned int routerinfo_t::policy_is_reject_star

True iff the exit policy for this router rejects everything.

Definition at line 74 of file routerinfo_st.h.

Referenced by MOCK_IMPL(), node_exit_policy_rejects_all(), router_dump_exit_policy_to_string(), and router_exit_policy_rejects_all().

◆ protocol_list

char* routerinfo_t::protocol_list

Encoded list of subprotocol versions supported by this OR

Definition at line 47 of file routerinfo_st.h.

Referenced by routerinfo_free_().

◆ purpose

uint8_t routerinfo_t::purpose

In what way did we find out about this router? One of ROUTER_PURPOSE_*. Routers of different purposes are kept segregated and used for different things; see notes on ROUTER_PURPOSE_* macros above.

Definition at line 112 of file routerinfo_st.h.

Referenced by dirserv_set_bridges_running(), dirserv_should_launch_reachability_test(), learned_bridge_descriptor(), node_get_purpose(), router_add_to_routerlist(), router_differences_are_cosmetic(), and signed_descriptor_from_routerinfo().

◆ pv

protover_summary_flags_t routerinfo_t::pv

Flags to summarize the protocol versions for this routerinfo_t.

Definition at line 90 of file routerinfo_st.h.

Referenced by node_get_protover_summary_flags().

◆ supports_tunnelled_dir_requests

unsigned int routerinfo_t::supports_tunnelled_dir_requests

True iff this router included "tunnelled-dir-server" in its descriptor, implying it accepts tunnelled directory requests, or it advertised dir_port > 0.

Definition at line 83 of file routerinfo_st.h.

Referenced by dirauth_set_routerstatus_from_routerinfo(), directory_fetches_from_authorities(), node_is_dir(), and router_differences_are_cosmetic().

◆ uptime

long routerinfo_t::uptime

How many seconds the router claims to have been up

Definition at line 61 of file routerinfo_st.h.

Referenced by node_get_declared_uptime(), and real_uptime().

◆ wants_to_be_hs_dir

unsigned int routerinfo_t::wants_to_be_hs_dir

True iff this router claims to be a hidden service directory.

Definition at line 72 of file routerinfo_st.h.


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