tor  0.4.2.0-alpha-dev
Functions
rendmid.c File Reference
#include "core/or/or.h"
#include "core/or/channel.h"
#include "core/or/circuitlist.h"
#include "core/or/circuituse.h"
#include "app/config/config.h"
#include "lib/crypt_ops/crypto_cipher.h"
#include "core/or/dos.h"
#include "core/or/relay.h"
#include "feature/rend/rendmid.h"
#include "feature/stats/rephist.h"
#include "feature/hs/hs_circuitmap.h"
#include "feature/hs/hs_dos.h"
#include "feature/hs/hs_intropoint.h"
#include "core/or/or_circuit_st.h"

Go to the source code of this file.

Functions

int rend_mid_establish_intro_legacy (or_circuit_t *circ, const uint8_t *request, size_t request_len)
 
int rend_mid_introduce_legacy (or_circuit_t *circ, const uint8_t *request, size_t request_len)
 
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)
 

Detailed Description

Implement introductions points and rendezvous points.

Definition in file rendmid.c.

Function Documentation

◆ rend_mid_establish_intro_legacy()

int rend_mid_establish_intro_legacy ( or_circuit_t circ,
const uint8_t *  request,
size_t  request_len 
)

Respond to an ESTABLISH_INTRO cell by checking the signed data and setting the circuit's purpose and service pk digest.

Definition at line 30 of file rendmid.c.

References DIGEST_LEN, and REND_SERVICE_ID_LEN_BASE32.

◆ rend_mid_establish_rendezvous()

int rend_mid_establish_rendezvous ( or_circuit_t circ,
const uint8_t *  request,
size_t  request_len 
)

Process an ESTABLISH_RENDEZVOUS cell by setting the circuit's purpose and rendezvous cookie.

Definition at line 234 of file rendmid.c.

◆ rend_mid_introduce_legacy()

int rend_mid_introduce_legacy ( or_circuit_t circ,
const uint8_t *  request,
size_t  request_len 
)

Process an INTRODUCE1 cell by finding the corresponding introduction circuit, and relaying the body of the INTRODUCE1 cell inside an INTRODUCE2 cell.

Definition at line 143 of file rendmid.c.

References REND_SERVICE_ID_LEN_BASE32.

◆ rend_mid_rendezvous()

int rend_mid_rendezvous ( or_circuit_t circ,
const uint8_t *  request,
size_t  request_len 
)

Process a RENDEZVOUS1 cell by looking up the correct rendezvous circuit by its relaying the cell's body in a RENDEZVOUS2 cell, and connecting the two circuits.

Definition at line 307 of file rendmid.c.