tor  master
Functions
rendmid.c File Reference

Implement introductions points and rendezvous points. More...

#include "or.h"
#include "channel.h"
#include "circuitlist.h"
#include "circuituse.h"
#include "config.h"
#include "crypto.h"
#include "dos.h"
#include "relay.h"
#include "rendmid.h"
#include "rephist.h"
#include "hs_circuitmap.h"
#include "hs_intropoint.h"
Include dependency graph for rendmid.c:

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.

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.

◆ 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.

◆ 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.

◆ 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.