21 #ifndef TOR_HS_IDENT_H
22 #define TOR_HS_IDENT_H
30 #define HS_REND_COOKIE_LEN DIGEST_LEN
34 HS_IDENT_CIRCUIT_INTRO = 1,
35 HS_IDENT_CIRCUIT_RENDEZVOUS = 2,
119 #define hs_ident_circuit_free(id) \
120 FREE_AND_NULL(hs_ident_circuit_t, hs_ident_circuit_free_, (id))
126 #define hs_ident_dir_conn_free(id) \
127 FREE_AND_NULL(hs_ident_dir_conn_t, hs_ident_dir_conn_free_, (id))
136 #define hs_ident_edge_conn_free(id) \
137 FREE_AND_NULL(hs_ident_edge_conn_t, hs_ident_edge_conn_free_, (id))
Header for crypto_ed25519.c.
Header file containing common data for the whole HS subsystem.
void hs_ident_edge_conn_free_(hs_ident_edge_conn_t *ident)
#define HS_REND_COOKIE_LEN
void hs_ident_dir_conn_free_(hs_ident_dir_conn_t *ident)
hs_ident_circuit_t * hs_ident_circuit_dup(const hs_ident_circuit_t *src)
hs_ident_dir_conn_t * hs_ident_dir_conn_dup(const hs_ident_dir_conn_t *src)
void hs_ident_circuit_free_(hs_ident_circuit_t *ident)
hs_ident_edge_conn_t * hs_ident_edge_conn_new(const ed25519_public_key_t *identity_pk)
void hs_ident_dir_conn_init(const ed25519_public_key_t *identity_pk, const ed25519_public_key_t *blinded_pk, hs_ident_dir_conn_t *ident)
hs_ident_circuit_t * hs_ident_circuit_new(const ed25519_public_key_t *identity_pk)
int hs_ident_intro_circ_is_valid(const hs_ident_circuit_t *ident)
uint8_t rendezvous_cookie[HS_REND_COOKIE_LEN]
ed25519_public_key_t intro_auth_pk
curve25519_keypair_t rendezvous_client_kp
curve25519_public_key_t intro_enc_pk
uint8_t rendezvous_ntor_key_seed[DIGEST256_LEN]
ed25519_public_key_t identity_pk
uint8_t rendezvous_handshake_info[CURVE25519_PUBKEY_LEN+DIGEST256_LEN]
ed25519_public_key_t blinded_pk
ed25519_public_key_t identity_pk
ed25519_public_key_t identity_pk
uint16_t orig_virtual_port
#define CURVE25519_PUBKEY_LEN