tor/src/trunnel/hs/cell_rendezvous.trunnel
David Goulet 2f1b3d647f trunnel: Add RENDEZVOUS2 cell definition
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24 13:03:28 -04:00

30 lines
933 B
Plaintext

/*
* This contains the definition of the RENDEZVOUS1/2 cell for onion service
* version 3 and onward. The following format is specified in proposal 224
* section 4.2.
*/
/* Rendezvous cookie length. */
const TRUNNEL_REND_COOKIE_LEN = 20;
/* The HANDSHAKE_INFO field layout is as follow:
* SERVER_PK [PK_PUBKEY_LEN bytes]
* AUTH [MAC_LEN bytes]
* This means, the size is 32 bytes + 32 bytes. */
const TRUNNEL_HANDSHAKE_INFO_LEN = 64;
/* RENDEZVOUS1 payload. See details in section 4.2. */
struct trn_cell_rendezvous1 {
/* The RENDEZVOUS_COOKIE field. */
u8 rendezvous_cookie[TRUNNEL_REND_COOKIE_LEN];
/* The HANDSHAKE_INFO field which has a variable length depending on the
* handshake type used. */
u8 handshake_info[];
};
/* RENDEZVOUS2 payload. See details in section 4.2. */
struct trn_cell_rendezvous2 {
/* The HANDSHAKE_INFO field. */
u8 handshake_info[TRUNNEL_HANDSHAKE_INFO_LEN];
};