aboutsummaryrefslogtreecommitdiff
path: root/src/or/hs_circuit.h
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2017-05-12 12:00:43 -0400
committerNick Mathewson <nickm@torproject.org>2017-07-07 11:12:26 -0400
commit0cb66fc900f5198fb063454801af3b4b22867e50 (patch)
tree0363480ade41d9553509bd818625c8d378a68488 /src/or/hs_circuit.h
parent0b2018a4d078a6ea47678c296c634714ab7eee94 (diff)
downloadtor-0cb66fc900f5198fb063454801af3b4b22867e50.tar.gz
tor-0cb66fc900f5198fb063454801af3b4b22867e50.zip
prop224: Introduce e2e rendezvous circuit code.
This commit adds most of the work of #21859. It introduces hs_circuit.c functions that can handle the setup of e2e circuits for prop224 hidden services, and also for legacy hidden service clients. Entry points are: prop224 circuits: hs_circuit_setup_e2e_rend_circ() legacy client-side circuits: hs_circuit_setup_e2e_rend_circ_legacy_client() This commit swaps the old rendclient code to use the new API. I didn't try to accomodate the legacy service-side code in this API, since that's too tangled up and it would mess up the new API considerably IMO (all this service_pending_final_cpath_ref stuff is complicated and I didn't want to change it). Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or/hs_circuit.h')
-rw-r--r--src/or/hs_circuit.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/or/hs_circuit.h b/src/or/hs_circuit.h
new file mode 100644
index 0000000000..1c2924ccad
--- /dev/null
+++ b/src/or/hs_circuit.h
@@ -0,0 +1,23 @@
+/* Copyright (c) 2017, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file hs_circuit.h
+ * \brief Header file containing circuit data for the whole HS subsytem.
+ **/
+
+#ifndef TOR_HS_CIRCUIT_H
+#define TOR_HS_CIRCUIT_H
+
+#include "or.h"
+
+/* e2e circuit API. */
+
+int hs_circuit_setup_e2e_rend_circ(origin_circuit_t *circ,
+ const uint8_t *ntor_key_seed,
+ int is_service_side);
+int hs_circuit_setup_e2e_rend_circ_legacy_client(origin_circuit_t *circ,
+ const uint8_t *rend_cell_body);
+
+#endif /* TOR_HS_CIRCUIT_H */
+