tor
master
|
Hidden service circuitmap: A hash table that maps binary tokens to introduction and rendezvous circuits; it's used: (a) by relays acting as intro points and rendezvous points (b) by hidden services to find intro and rend circuits and (c) by HS clients to find rendezvous circuits. More...
Macros | |
#define | HS_CIRCUITMAP_PRIVATE |
#define | hs_token_free(val) FREE_AND_NULL(hs_token_t, hs_token_free_, (val)) |
Functions | |
HT_PROTOTYPE (HT_GENERATE2(hs_circuitmap_ht, HT_GENERATE2(circuit_t, HT_GENERATE2(hs_circuitmap_node, HT_GENERATE2(hs_circuit_hash_token, HT_GENERATE2(hs_circuits_have_same_token) | |
or_circuit_t * | hs_circuitmap_get_intro_circ_v3_relay_side (const ed25519_public_key_t *auth_key) |
or_circuit_t * | hs_circuitmap_get_intro_circ_v2_relay_side (const uint8_t *digest) |
or_circuit_t * | hs_circuitmap_get_rend_circ_relay_side (const uint8_t *cookie) |
void | hs_circuitmap_register_rend_circ_relay_side (or_circuit_t *circ, const uint8_t *cookie) |
void | hs_circuitmap_register_intro_circ_v2_relay_side (or_circuit_t *circ, const uint8_t *digest) |
void | hs_circuitmap_register_intro_circ_v3_relay_side (or_circuit_t *circ, const ed25519_public_key_t *auth_key) |
origin_circuit_t * | hs_circuitmap_get_intro_circ_v3_service_side (const ed25519_public_key_t *auth_key) |
origin_circuit_t * | hs_circuitmap_get_intro_circ_v2_service_side (const uint8_t *digest) |
origin_circuit_t * | hs_circuitmap_get_rend_circ_service_side (const uint8_t *cookie) |
origin_circuit_t * | hs_circuitmap_get_rend_circ_client_side (const uint8_t *cookie) |
origin_circuit_t * | hs_circuitmap_get_established_rend_circ_client_side (const uint8_t *cookie) |
void | hs_circuitmap_register_intro_circ_v2_service_side (origin_circuit_t *circ, const uint8_t *digest) |
void | hs_circuitmap_register_intro_circ_v3_service_side (origin_circuit_t *circ, const ed25519_public_key_t *auth_key) |
void | hs_circuitmap_register_rend_circ_service_side (origin_circuit_t *circ, const uint8_t *cookie) |
void | hs_circuitmap_register_rend_circ_client_side (origin_circuit_t *or_circ, const uint8_t *cookie) |
void | hs_circuitmap_remove_circuit (circuit_t *circ) |
void | hs_circuitmap_init (void) |
void | hs_circuitmap_free_all (void) |
Hidden service circuitmap: A hash table that maps binary tokens to introduction and rendezvous circuits; it's used: (a) by relays acting as intro points and rendezvous points (b) by hidden services to find intro and rend circuits and (c) by HS clients to find rendezvous circuits.
or_circuit_t* hs_circuitmap_get_intro_circ_v3_relay_side | ( | const ed25519_public_key_t * | auth_key | ) |
Public HS circuitmap API: Public relay-side API:
origin_circuit_t* hs_circuitmap_get_intro_circ_v3_service_side | ( | const ed25519_public_key_t * | auth_key | ) |
Public service-side API:
void hs_circuitmap_register_rend_circ_relay_side | ( | or_circuit_t * | circ, |
const uint8_t * | cookie | ||
) |
Public relay-side setters:
void hs_circuitmap_remove_circuit | ( | circuit_t * | circ | ) |
Public function: Remove this circuit from the HS circuitmap. Clear its HS token, and remove it from the hashtable.