tor
master
|
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"
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) |
Implement introductions points and rendezvous points.
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.
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.
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.
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.