11 #define RENDCOMMON_PRIVATE
36 const uint8_t *payload)
43 if (!layer_hint || layer_hint != origin_circ->
cpath->
prev) {
45 "Relay cell (rend purpose %d) from wrong hop on origin circ",
54 case RELAY_COMMAND_ESTABLISH_INTRO:
58 case RELAY_COMMAND_ESTABLISH_RENDEZVOUS:
62 case RELAY_COMMAND_INTRODUCE1:
66 case RELAY_COMMAND_INTRODUCE2:
70 case RELAY_COMMAND_INTRODUCE_ACK:
74 case RELAY_COMMAND_RENDEZVOUS1:
78 case RELAY_COMMAND_RENDEZVOUS2:
82 case RELAY_COMMAND_INTRO_ESTABLISHED:
86 case RELAY_COMMAND_RENDEZVOUS_ESTABLISHED:
94 if (r == 0 && origin_circ) {
100 log_info(
LD_PROTOCOL,
"Dropping cell (type %d) for wrong circuit type.",
122 tor_assert(hs_service_allow_non_anonymous_connection(options));
origin_circuit_t * TO_ORIGIN_CIRCUIT(circuit_t *x)
or_circuit_t * TO_OR_CIRCUIT(circuit_t *x)
Header file for circuitlist.c.
#define CIRCUIT_IS_ORIGIN(c)
void circuit_read_valid_data(origin_circuit_t *circ, uint16_t relay_body_len)
Header file for circuituse.c.
tor_cmdline_mode_t command
Header file for config.c.
Circuit-build-stse structure.
Path structures for origin circuits.
int hs_client_receive_introduce_ack(origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
int hs_client_receive_rendezvous2(origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
int hs_client_receive_rendezvous_acked(origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
Header file containing client data for the HS subsystem.
Header file containing common data for the whole HS subsystem.
int hs_intro_received_introduce1(or_circuit_t *circ, const uint8_t *request, size_t request_len)
int hs_intro_received_establish_intro(or_circuit_t *circ, const uint8_t *request, size_t request_len)
Header file for hs_intropoint.c.
int hs_service_receive_introduce2(origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
int hs_service_receive_intro_established(origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
#define log_fn(severity, domain, args,...)
Master header file for Tor-specific functionality.
Origin circuit structure.
void rend_process_relay_cell(circuit_t *circ, const crypt_path_t *layer_hint, int command, size_t length, const uint8_t *payload)
Header file for rendcommon.c.
int rend_mid_establish_rendezvous(or_circuit_t *circ, const uint8_t *request, size_t request_len)
int rend_mid_rendezvous(or_circuit_t *circ, const uint8_t *request, size_t request_len)
Header file for rendmid.c.
unsigned int onehop_tunnel
struct crypt_path_t * prev
cpath_build_state_t * build_state
#define tor_fragile_assert()