summaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
Diffstat (limited to 'src/or')
-rw-r--r--src/or/onion_ntor.c18
-rw-r--r--src/or/onion_ntor.h19
2 files changed, 21 insertions, 16 deletions
diff --git a/src/or/onion_ntor.c b/src/or/onion_ntor.c
index 3f4faf3fa7..8eab55acfe 100644
--- a/src/or/onion_ntor.c
+++ b/src/or/onion_ntor.c
@@ -3,26 +3,12 @@
#include "orconfig.h"
-#include "onion_ntor.h"
#include "crypto.h"
+#define ONION_NTOR_PRIVATE
+#include "onion_ntor.h"
#include "torlog.h"
#include "util.h"
-/** Storage held by a client while waiting for an ntor reply from a server. */
-struct ntor_handshake_state_t {
- /** Identity digest of the router we're talking to. */
- uint8_t router_id[DIGEST_LEN];
- /** Onion key of the router we're talking to. */
- curve25519_public_key_t pubkey_B;
-
- /**
- * Short-lived keypair for use with this handshake.
- * @{ */
- curve25519_secret_key_t seckey_x;
- curve25519_public_key_t pubkey_X;
- /** @} */
-};
-
/** Free storage held in an ntor handshake state. */
void
ntor_handshake_state_free(ntor_handshake_state_t *state)
diff --git a/src/or/onion_ntor.h b/src/or/onion_ntor.h
index a5cceb94db..61ff5c0ad3 100644
--- a/src/or/onion_ntor.h
+++ b/src/or/onion_ntor.h
@@ -38,6 +38,25 @@ int onion_skin_ntor_client_handshake(
const uint8_t *handshake_reply,
uint8_t *key_out,
size_t key_out_len);
+
+#ifdef ONION_NTOR_PRIVATE
+
+/** Storage held by a client while waiting for an ntor reply from a server. */
+struct ntor_handshake_state_t {
+ /** Identity digest of the router we're talking to. */
+ uint8_t router_id[DIGEST_LEN];
+ /** Onion key of the router we're talking to. */
+ curve25519_public_key_t pubkey_B;
+
+ /**
+ * Short-lived keypair for use with this handshake.
+ * @{ */
+ curve25519_secret_key_t seckey_x;
+ curve25519_public_key_t pubkey_X;
+ /** @} */
+};
+#endif
+
#endif
#endif