#include <or.h>
Data Fields | |
uint32_t | magic |
crypto_cipher_env_t * | f_crypto |
crypto_cipher_env_t * | b_crypto |
crypto_digest_env_t * | f_digest |
crypto_digest_env_t * | b_digest |
crypto_dh_env_t * | dh_handshake_state |
char | fast_handshake_state [DIGEST_LEN] |
char | handshake_digest [DIGEST_LEN] |
extend_info_t * | extend_info |
uint8_t | state |
struct crypt_path_t * | next |
struct crypt_path_t * | prev |
int | package_window |
int | deliver_window |
Encryption key and counter for cells heading towards the OR at this step.
Referenced by assert_cpath_layer_ok(), circuit_free_cpath_node(), circuit_init_cpath_crypto(), circuit_package_relay_cell(), and onionskin_answer().
Encryption key and counter for cells heading back from the OR at this step.
Referenced by assert_cpath_layer_ok(), circuit_free_cpath_node(), circuit_init_cpath_crypto(), onionskin_answer(), and relay_crypt().
Digest state for cells heading towards the OR at this step.
Referenced by circuit_free_cpath_node(), circuit_init_cpath_crypto(), circuit_package_relay_cell(), and onionskin_answer().
Digest state for cells heading away from the OR at this step.
Referenced by circuit_free_cpath_node(), circuit_init_cpath_crypto(), onionskin_answer(), and relay_crypt().
Current state of Diffie-Hellman key negotiation with the OR at this step.
Referenced by assert_cpath_layer_ok(), circuit_finish_handshake(), circuit_free_cpath_node(), circuit_send_next_onion_skin(), rend_client_receive_rendezvous(), rend_service_introduce(), and rend_service_rendezvous_has_opened().
char crypt_path_t::fast_handshake_state[DIGEST_LEN] |
Current state of 'fast' (non-PK) key negotiation with the OR at this step. Used to save CPU when TLS is already providing all the authentication, secrecy, and integrity we need, and we're already distinguishable from an OR.
Referenced by circuit_finish_handshake(), and circuit_send_next_onion_skin().
char crypt_path_t::handshake_digest[DIGEST_LEN] |
Negotiated key material shared with the OR at this step.
Referenced by circuit_finish_handshake(), rend_service_intro_has_opened(), rend_service_introduce(), and rend_service_rendezvous_has_opened().
Information to extend to the OR at this step.
Referenced by circuit_build_failed(), circuit_conforms_to_options(), circuit_find_to_cannibalize(), circuit_free_cpath_node(), circuit_handle_first_hop(), circuit_list_path_impl(), circuit_rep_hist_note_result(), circuit_send_next_onion_skin(), connection_ap_expire_beginning(), onion_append_hop(), and should_use_create_fast_for_circuit().
uint8_t crypt_path_t::state |
Is the circuit built to this step? Must be one of:
Referenced by assert_cpath_layer_ok(), assert_cpath_ok(), circuit_build_failed(), circuit_expire_building(), circuit_finish_handshake(), circuit_list_path_impl(), circuit_rep_hist_note_result(), circuit_send_next_onion_skin(), link_apconn_to_circ(), onion_append_hop(), onion_next_hop_in_cpath(), relay_crypt(), rend_client_receive_rendezvous(), and rend_service_rendezvous_has_opened().
struct crypt_path_t* crypt_path_t::next [read] |
Link to next crypt_path_t in the circuit. (The list is circular, so the last node links to the first.)
Referenced by assert_cpath_ok(), choose_good_middle_server(), circuit_conforms_to_options(), circuit_find_to_cannibalize(), circuit_free_cpath(), circuit_get_cpath_hop(), circuit_get_cpath_len(), circuit_list_path_impl(), circuit_rep_hist_note_result(), circuit_truncated(), cpath_is_on_circuit(), onion_append_to_cpath(), onion_next_hop_in_cpath(), and relay_crypt().
struct crypt_path_t* crypt_path_t::prev [read] |
Link to previous crypt_path_t in the circuit.
Referenced by assert_cpath_ok(), circuit_build_failed(), circuit_package_relay_cell(), circuit_send_next_onion_skin(), connection_exit_begin_conn(), link_apconn_to_circ(), onion_append_to_cpath(), rend_client_send_establish_rendezvous(), rend_process_relay_cell(), rend_service_intro_has_opened(), rend_service_rendezvous_has_opened(), and router_perform_bandwidth_test().
How many cells are we allowed to originate ending at this step?
Referenced by assert_cpath_layer_ok(), circuit_consider_stop_edge_reading(), connection_edge_package_raw_inbuf(), connection_edge_process_relay_cell(), onion_append_hop(), rend_client_receive_rendezvous(), and rend_service_rendezvous_has_opened().
How many cells are we willing to deliver originating at this step?
Referenced by assert_cpath_layer_ok(), circuit_consider_sending_sendme(), connection_edge_process_relay_cell(), onion_append_hop(), rend_client_receive_rendezvous(), and rend_service_rendezvous_has_opened().