Tor
0.4.7.0-alpha-dev
|
Header file for dirlist.c. More...
Go to the source code of this file.
Macros | |
#define | router_addr_is_trusted_dir(d) router_addr_is_trusted_dir_type((d), NO_DIRINFO) |
#define | router_digest_is_trusted_dir(d) router_digest_is_trusted_dir_type((d), NO_DIRINFO) |
Enumerations | |
enum | auth_dirport_usage_t { AUTH_USAGE_LEGACY , AUTH_USAGE_UPLOAD , AUTH_USAGE_VOTING , AUTH_USAGE_DOWNLOAD } |
enum auth_dirport_usage_t |
Different usages for an authority's HTTP directory port.
Historically, only legacy ports existed; proposal 330 added multiple types of dirport to better enable authorities to offload work and resist DoS attacks.
auth_dirport_usage_t auth_dirport_usage_for_purpose | ( | int | purpose | ) |
void clear_dir_servers | ( | void | ) |
void dir_server_add | ( | dir_server_t * | ent | ) |
void dirlist_add_trusted_dir_addresses | ( | void | ) |
dir_server_t* fallback_dir_server_new | ( | const tor_addr_t * | ipv4_addr, |
uint16_t | ipv4_dirport, | ||
uint16_t | ipv4_orport, | ||
const tor_addr_port_t * | addrport_ipv6, | ||
const char * | id_digest, | ||
double | weight | ||
) |
Return a new dir_server_t for a fallback directory server at addr:or_port/dir_port, with identity key digest id_digest
int get_n_authorities | ( | dirinfo_type_t | type | ) |
Return the number of directory authorities whose type matches some bit set in type
Definition at line 103 of file dirlist.c.
Referenced by fetch_bridge_descriptors(), networkstatus_check_consensus_signature(), and should_keep_srv().
void mark_all_dirservers_up | ( | smartlist_t * | server_list | ) |
Mark as running every dir_server_t in server_list.
Definition at line 232 of file dirlist.c.
Referenced by router_reset_status_download_failures().
bool router_addr_is_trusted_dir_type | ( | const tor_addr_t * | addr, |
dirinfo_type_t | type | ||
) |
int router_digest_is_fallback_dir | ( | const char * | digest | ) |
Return 1 if any fallback dirserver's identity key hashes to digest, or 0 if no such fallback is in the list of fallback_dir_servers. (fallback_dir_servers is affected by the FallbackDir and UseDefaultFallbackDirs torrc options.) The list of fallback directories includes the list of authorities.
int router_digest_is_trusted_dir_type | ( | const char * | digest, |
dirinfo_type_t | type | ||
) |
dir_server_t* router_get_fallback_dirserver_by_digest | ( | const char * | digest | ) |
Return the dir_server_t for the fallback dirserver whose identity key hashes to digest, or NULL if no such fallback is in the list of fallback_dir_servers. (fallback_dir_servers is affected by the FallbackDir and UseDefaultFallbackDirs torrc options.) The list of fallback directories includes the list of authorities.
Definition at line 181 of file dirlist.c.
Referenced by router_digest_is_fallback_dir().
smartlist_t* router_get_trusted_dir_servers_mutable | ( | void | ) |
Return a smartlist containing a list of dir_server_t * for all known trusted dirservers. Callers must not modify the list or its contents.
dir_server_t* router_get_trusteddirserver_by_digest | ( | const char * | digest | ) |
Return the dir_server_t for the directory authority whose identity key hashes to digest, or NULL if no such authority is known.
Definition at line 160 of file dirlist.c.
Referenced by handle_response_upload_dir().
void trusted_dir_server_add_dirport | ( | dir_server_t * | ds, |
auth_dirport_usage_t | usage, | ||
const tor_addr_port_t * | dirport | ||
) |
Add dirport as an HTTP DirPort contact point for the directory authority ds, for use when contacting that authority for the given usage.
Multiple ports of the same usage are allowed; if present, then only the first one of each address family is currently used.
const tor_addr_port_t* trusted_dir_server_get_dirport | ( | const dir_server_t * | ds, |
auth_dirport_usage_t | usage, | ||
int | addr_family | ||
) |
const tor_addr_port_t* trusted_dir_server_get_dirport_exact | ( | const dir_server_t * | ds, |
auth_dirport_usage_t | usage, | ||
int | addr_family | ||
) |
Helper for trusted_dir_server_get_dirport: only return the exact requested usage type.
Definition at line 503 of file dirlist.c.
Referenced by trusted_dir_server_get_dirport().
dir_server_t* trusted_dir_server_new | ( | const char * | nickname, |
const char * | address, | ||
uint16_t | ipv4_dirport, | ||
uint16_t | ipv4_orport, | ||
const tor_addr_port_t * | ipv6_addrport, | ||
const char * | digest, | ||
const char * | v3_auth_digest, | ||
dirinfo_type_t | type, | ||
double | weight | ||
) |
dir_server_t* trusteddirserver_get_by_v3_auth_digest | ( | const char * | digest | ) |
Return the dir_server_t for the directory authority whose v3 identity key hashes to digest, or NULL if no such authority is known.