mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 21:53:48 +01:00
2f1b3d647f
Signed-off-by: David Goulet <dgoulet@torproject.org>
30 lines
933 B
Plaintext
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];
|
|
};
|