Tor  0.4.7.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 47 of file crypt_path_st.h.

Member Function Documentation

◆ CRYPT_PATH_PRIV_FIELD()

relay_crypto_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 deliver_window

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

Definition at line 80 of file crypt_path_st.h.

Referenced by sendme_circuit_consider_sending().

◆ extend_info

extend_info_t* extend_info

◆ handshake_state

onion_handshake_state_t handshake_state

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

Definition at line 52 of file crypt_path_st.h.

Referenced by cpath_free().

◆ next

struct crypt_path_t* next

◆ package_window

int package_window

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

Definition at line 78 of file crypt_path_st.h.

◆ prev

struct crypt_path_t* prev

◆ rend_circ_nonce

char rend_circ_nonce[DIGEST_LEN]

Negotiated key material shared with the OR at this step.

Definition at line 58 of file crypt_path_st.h.

Referenced by send_establish_intro().

◆ rend_dh_handshake_state

struct crypto_dh_t* rend_dh_handshake_state

Diffie-hellman handshake state for performing an introduction operations

Definition at line 55 of file crypt_path_st.h.

◆ state

uint8_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 68 of file crypt_path_st.h.

Referenced by circpad_send_command_to_hop(), circuit_get_cpath_opened_len(), circuit_get_nth_node(), circuit_list_path_impl(), circuit_send_next_onion_skin(), cpath_assert_ok(), cpath_get_next_non_open_hop(), finalize_rend_circuit(), pathbias_is_new_circ_attempt(), pathbias_send_usable_probe(), and relay_decrypt_cell().


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