Tor  0.4.3.0-alpha-dev
Data Fields
hs_service_intro_point_t Struct Reference

#include <hs_service.h>

Data Fields

hs_intropoint_t base
 
curve25519_public_key_t onion_key
 
ed25519_keypair_t auth_key_kp
 
curve25519_keypair_t enc_key_kp
 
crypto_pk_tlegacy_key
 
uint8_t legacy_key_digest [DIGEST_LEN]
 
uint64_t introduce2_count
 
uint64_t introduce2_max
 
time_t time_to_expire
 
uint32_t circuit_retries
 
replaycache_t * replay_cache
 
unsigned int support_intro2_dos_defense: 1
 

Detailed Description

Service side introduction point.

Definition at line 36 of file hs_service.h.

Field Documentation

◆ auth_key_kp

ed25519_keypair_t auth_key_kp

◆ base

Top level intropoint "shared" data between client/service.

Definition at line 38 of file hs_service.h.

Referenced by describe_intro_point(), hs_cell_build_establish_intro(), hs_circ_service_get_established_intro_circ(), hs_circ_service_get_intro_circ(), and register_intro_circ().

◆ circuit_retries

uint32_t circuit_retries

The amount of circuit creation we've made to this intro point. This is incremented every time we do a circuit relaunch on this intro point which is triggered when the circuit dies but the node is still in the consensus. After MAX_INTRO_POINT_CIRCUIT_RETRIES, we give up on it.

Definition at line 71 of file hs_service.h.

Referenced by should_remove_intro_point().

◆ enc_key_kp

Encryption keypair for the "ntor" type.

Definition at line 49 of file hs_service.h.

Referenced by hs_circ_handle_introduce2(), and service_intro_point_free_().

◆ introduce2_count

uint64_t introduce2_count

Amount of INTRODUCE2 cell accepted from this intro point.

Definition at line 59 of file hs_service.h.

Referenced by intro_point_should_expire().

◆ introduce2_max

uint64_t introduce2_max

Maximum number of INTRODUCE2 cell this intro point should accept.

Definition at line 62 of file hs_service.h.

Referenced by intro_point_should_expire().

◆ legacy_key

crypto_pk_t* legacy_key

Legacy key if that intro point doesn't support v3. This should be used if the base object legacy flag is set.

Definition at line 53 of file hs_service.h.

Referenced by hs_cell_build_establish_intro().

◆ legacy_key_digest

uint8_t legacy_key_digest[DIGEST_LEN]

Legacy key SHA1 public key digest. This should be used only if the base object legacy flag is set.

Definition at line 56 of file hs_service.h.

Referenced by hs_circ_service_get_established_intro_circ(), hs_circ_service_get_intro_circ(), and register_intro_circ().

◆ onion_key

Onion key of the introduction point used to extend to it for the ntor handshake.

Definition at line 42 of file hs_service.h.

Referenced by setup_desc_intro_point().

◆ replay_cache

replaycache_t* replay_cache

Replay cache recording the encrypted part of an INTRODUCE2 cell that the circuit associated with this intro point has received. This is used to prevent replay attacks.

Definition at line 76 of file hs_service.h.

Referenced by hs_circ_handle_introduce2().

◆ support_intro2_dos_defense

unsigned int support_intro2_dos_defense

Support the INTRO2 DoS defense. If set, the DoS extension described by proposal 305 is sent.

Definition at line 80 of file hs_service.h.

Referenced by build_establish_intro_extensions().

◆ time_to_expire

time_t time_to_expire

The time at which this intro point should expire and stop being used.

Definition at line 65 of file hs_service.h.

Referenced by intro_point_should_expire().


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