tor  0.4.2.1-alpha-dev
Data Fields
rend_intro_point_t Struct Reference

#include <rend_intro_point_st.h>

Data Fields

extend_info_textend_info
 
struct crypto_pk_tintro_key
 
unsigned int timed_out: 1
 
unsigned int unreachable_count: 3
 
unsigned int listed_in_last_desc: 1
 
struct replaycache_t * accepted_intro_rsa_parts
 
int accepted_introduce2_count
 
int max_introductions
 
time_t time_published
 
time_t time_to_expire
 
unsigned int circuit_retries
 
unsigned int circuit_established:1
 

Detailed Description

Introduction point information. Used both in rend_service_t (on the service side) and in rend_service_descriptor_t (on both the client and service side).

Definition at line 16 of file rend_intro_point_st.h.

Field Documentation

◆ accepted_intro_rsa_parts

struct replaycache_t* rend_intro_point_t::accepted_intro_rsa_parts

(Service side only) A replay cache recording the RSA-encrypted parts of INTRODUCE2 cells this intro point's circuit has received. This is used to prevent replay attacks.

Definition at line 41 of file rend_intro_point_st.h.

◆ accepted_introduce2_count

int rend_intro_point_t::accepted_introduce2_count

(Service side only) Count of INTRODUCE2 cells accepted from this intro point.

Definition at line 46 of file rend_intro_point_st.h.

Referenced by intro_point_accepted_intro_count().

◆ circuit_established

unsigned int rend_intro_point_t::circuit_established

(Service side only) Set if this intro point has an established circuit and unset if it doesn't.

Definition at line 73 of file rend_intro_point_st.h.

Referenced by count_established_intro_points().

◆ circuit_retries

unsigned int rend_intro_point_t::circuit_retries

(Service side only) The amount of circuit creation we've made to this intro point. This is incremented every time we do a circuit relaunch on this object 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 69 of file rend_intro_point_st.h.

◆ extend_info

extend_info_t* rend_intro_point_t::extend_info

Extend info for connecting to this introduction point via a multi-hop path.

Definition at line 17 of file rend_intro_point_st.h.

Referenced by find_intro_circuit(), and rend_service_launch_establish_intro().

◆ intro_key

struct crypto_pk_t* rend_intro_point_t::intro_key

Introduction key that replaces the service key, if this descriptor is V2.

Definition at line 19 of file rend_intro_point_st.h.

◆ listed_in_last_desc

unsigned int rend_intro_point_t::listed_in_last_desc

(Service side only) Flag indicating that this intro point was included in the last HS descriptor we generated.

Definition at line 36 of file rend_intro_point_st.h.

◆ max_introductions

int rend_intro_point_t::max_introductions

(Service side only) Maximum number of INTRODUCE2 cells that this IP will accept. This is a random value between INTRO_POINT_MIN_LIFETIME_INTRODUCTIONS and INTRO_POINT_MAX_LIFETIME_INTRODUCTIONS.

Definition at line 52 of file rend_intro_point_st.h.

Referenced by intro_point_should_expire_now().

◆ time_published

time_t rend_intro_point_t::time_published

(Service side only) The time at which this intro point was first published, or -1 if this intro point has not yet been published.

Definition at line 57 of file rend_intro_point_st.h.

Referenced by intro_point_should_expire_now().

◆ time_to_expire

time_t rend_intro_point_t::time_to_expire

(Service side only) The time at which this intro point should (start to) expire, or -1 if we haven't decided when this intro point should expire.

Definition at line 62 of file rend_intro_point_st.h.

Referenced by intro_point_should_expire_now().

◆ timed_out

unsigned int rend_intro_point_t::timed_out

(Client side only) Flag indicating that a timeout has occurred after sending an INTRODUCE cell to this intro point. After a timeout, an intro point should not be tried again during the same hidden service connection attempt, but it may be tried again during a future connection attempt.

Definition at line 27 of file rend_intro_point_st.h.

◆ unreachable_count

unsigned int rend_intro_point_t::unreachable_count

(Client side only) The number of times we have failed to build a circuit to this intro point for some reason other than our circuit-build timeout. See also MAX_INTRO_POINT_REACHABILITY_FAILURES.

Definition at line 32 of file rend_intro_point_st.h.


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