9 #ifndef TOR_ONION_NTOR_H
10 #define TOR_ONION_NTOR_H
23 #define NTOR_ONIONSKIN_LEN 84
25 #define NTOR_REPLY_LEN 64
28 #define ntor_handshake_state_free(state) \
29 FREE_AND_NULL(ntor_handshake_state_t, ntor_handshake_state_free_, (state))
34 uint8_t *onion_skin_out);
39 const uint8_t *my_node_id,
40 uint8_t *handshake_reply_out,
46 const uint8_t *handshake_reply,
49 const char **msg_out);
51 #ifdef ONION_NTOR_PRIVATE
Header for crypto_curve25519.c.
int onion_skin_ntor_server_handshake(const uint8_t *onion_skin, const di_digest256_map_t *private_keys, const curve25519_keypair_t *junk_keys, const uint8_t *my_node_id, uint8_t *handshake_reply_out, uint8_t *key_out, size_t key_out_len)
int onion_skin_ntor_create(const uint8_t *router_id, const curve25519_public_key_t *router_key, ntor_handshake_state_t **handshake_state_out, uint8_t *onion_skin_out)
int onion_skin_ntor_client_handshake(const ntor_handshake_state_t *handshake_state, const uint8_t *handshake_reply, uint8_t *key_out, size_t key_out_len, const char **msg_out)
struct ntor_handshake_state_t ntor_handshake_state_t
void ntor_handshake_state_free_(ntor_handshake_state_t *state)
Integer definitions used throughout Tor.