tor  0.4.2.0-alpha-dev
Public Member Functions | Data Fields
crypt_path_t Struct Reference

#include <crypt_path_st.h>

Public Member Functions

relay_crypto_t CRYPT_PATH_PRIV_FIELD (crypto)
 

Data Fields

uint32_t magic
 
onion_handshake_state_t handshake_state
 
struct crypto_dh_trend_dh_handshake_state
 
char rend_circ_nonce [DIGEST_LEN]
 
extend_info_textend_info
 
uint8_t state
 
struct crypt_path_tnext
 
struct crypt_path_tprev
 
int package_window
 
int deliver_window
 

Detailed Description

Holds accounting information for a single step in the layered encryption performed by a circuit. Used only at the client edge of a circuit.

Definition at line 42 of file crypt_path_st.h.

Member Function Documentation

◆ CRYPT_PATH_PRIV_FIELD()

relay_crypto_t crypt_path_t::CRYPT_PATH_PRIV_FIELD ( crypto  )

Private member: Cryptographic state used for encrypting and authenticating relay cells to and from this hop.

Field Documentation

◆ deliver_window

int crypt_path_t::deliver_window

How many cells are we willing to deliver originating at this step?

Definition at line 75 of file crypt_path_st.h.

Referenced by cpath_assert_layer_ok(), and sendme_circuit_consider_sending().

◆ extend_info

extend_info_t* crypt_path_t::extend_info

◆ handshake_state

onion_handshake_state_t crypt_path_t::handshake_state

Current state of the handshake as performed with the OR at this step.

Definition at line 47 of file crypt_path_st.h.

Referenced by cpath_free().

◆ next

struct crypt_path_t* crypt_path_t::next

◆ package_window

int crypt_path_t::package_window

How many cells are we allowed to originate ending at this step?

Definition at line 73 of file crypt_path_st.h.

Referenced by cpath_assert_layer_ok().

◆ prev

struct crypt_path_t* crypt_path_t::prev

◆ rend_circ_nonce

char crypt_path_t::rend_circ_nonce[DIGEST_LEN]

Negotiated key material shared with the OR at this step.

Definition at line 53 of file crypt_path_st.h.

◆ rend_dh_handshake_state

struct crypto_dh_t* crypt_path_t::rend_dh_handshake_state

Diffie-hellman handshake state for performing an introduction operations

Definition at line 50 of file crypt_path_st.h.

Referenced by cpath_assert_layer_ok().

◆ state

uint8_t crypt_path_t::state

Is the circuit built to this step? Must be one of:

  • CPATH_STATE_CLOSED (The circuit has not been extended to this step)
  • CPATH_STATE_AWAITING_KEYS (We have sent an EXTEND/CREATE to this step and not received an EXTENDED/CREATED)
  • CPATH_STATE_OPEN (The circuit has been extended to this step)

Definition at line 63 of file crypt_path_st.h.

Referenced by circuit_get_cpath_opened_len(), circuit_list_path_impl(), circuit_send_next_onion_skin(), cpath_assert_layer_ok(), cpath_assert_ok(), cpath_get_next_non_open_hop(), pathbias_is_new_circ_attempt(), and pathbias_send_usable_probe().


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