/* * 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]; };