aboutsummaryrefslogtreecommitdiff
path: root/src/core/or/circuitbuild.h
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2020-03-17 17:18:40 +1000
committerteor <teor@torproject.org>2020-03-20 18:05:10 +1000
commit81687f5bc975842bb4d251881b04e19092ab336e (patch)
tree1450f4ea123bf03e8ec9baa32164d45f5ed15409 /src/core/or/circuitbuild.h
parentfdba6ff0c0f27b9948101e63efd5acb965a2f6a3 (diff)
downloadtor-81687f5bc975842bb4d251881b04e19092ab336e.tar.gz
tor-81687f5bc975842bb4d251881b04e19092ab336e.zip
relay: Split out relay-only circuit building
Move the relay-only circuit building functions into a new file. Part of 33633.
Diffstat (limited to 'src/core/or/circuitbuild.h')
-rw-r--r--src/core/or/circuitbuild.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/core/or/circuitbuild.h b/src/core/or/circuitbuild.h
index 9a35c36ac5..c66c0dc752 100644
--- a/src/core/or/circuitbuild.h
+++ b/src/core/or/circuitbuild.h
@@ -32,15 +32,10 @@ void circuit_n_chan_done(channel_t *chan, int status,
int circuit_timeout_want_to_count_circ(const origin_circuit_t *circ);
int circuit_send_next_onion_skin(origin_circuit_t *circ);
void circuit_note_clock_jumped(int64_t seconds_elapsed, bool was_idle);
-int circuit_extend(cell_t *cell, circuit_t *circ);
struct created_cell_t;
int circuit_finish_handshake(origin_circuit_t *circ,
const struct created_cell_t *created_cell);
int circuit_truncated(origin_circuit_t *circ, int reason);
-int onionskin_answer(or_circuit_t *circ,
- const struct created_cell_t *created_cell,
- const char *keys, size_t keys_len,
- const uint8_t *rend_circ_nonce);
MOCK_DECL(int, circuit_all_predicted_ports_handled, (time_t now,
int *need_uptime,
int *need_capacity));
@@ -76,6 +71,20 @@ const node_t *choose_good_entry_server(uint8_t purpose,
struct circuit_guard_state_t **guard_state_out);
void circuit_upgrade_circuits_from_guard_wait(void);
+struct ed25519_public_key_t;
+
+channel_t *
+channel_connect_for_circuit(const tor_addr_t *addr,
+ uint16_t port,
+ const char *id_digest,
+ const struct ed25519_public_key_t *ed_id);
+struct create_cell_t;
+
+int
+circuit_deliver_create_cell(circuit_t *circ,
+ const struct create_cell_t *create_cell,
+ int relayed);
+
#ifdef CIRCUITBUILD_PRIVATE
STATIC circid_t get_unique_circ_id_by_chan(channel_t *chan);
STATIC int new_route_len(uint8_t purpose, extend_info_t *exit_ei,