aboutsummaryrefslogtreecommitdiff
path: root/src/core/or/circuitbuild.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2020-07-01 14:42:55 -0400
committerNick Mathewson <nickm@torproject.org>2020-07-02 09:51:04 -0400
commit1e97f968882f12edad20874ada99c2bd8542119d (patch)
tree31ee477578e6e7ac83cf6f8df5507bb639589fb9 /src/core/or/circuitbuild.c
parent6a0b9e47462d7c0bcb4598343cc7d6e7689216d7 (diff)
downloadtor-1e97f968882f12edad20874ada99c2bd8542119d.tar.gz
tor-1e97f968882f12edad20874ada99c2bd8542119d.zip
Refactor channel_connect_for_circuit() to take an extend_info_t.
Diffstat (limited to 'src/core/or/circuitbuild.c')
-rw-r--r--src/core/or/circuitbuild.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/core/or/circuitbuild.c b/src/core/or/circuitbuild.c
index 1f9b5050ef..d1f097c25a 100644
--- a/src/core/or/circuitbuild.c
+++ b/src/core/or/circuitbuild.c
@@ -94,12 +94,15 @@ static const node_t *choose_good_middle_server(uint8_t purpose,
* callbacks.
*/
MOCK_IMPL(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))
+channel_connect_for_circuit,(const extend_info_t *ei))
{
channel_t *chan;
+ const tor_addr_t *addr = &ei->addr;
+ uint16_t port = ei->port;
+ const char *id_digest = ei->identity_digest;
+ const ed25519_public_key_t *ed_id = &ei->ed_identity;
+
chan = channel_connect(addr, port, id_digest, ed_id);
if (chan) command_setup_channel(chan);
@@ -581,11 +584,7 @@ circuit_handle_first_hop(origin_circuit_t *circ)
circ->base_.n_hop = extend_info_dup(firsthop->extend_info);
if (should_launch) {
- n_chan = channel_connect_for_circuit(
- &firsthop->extend_info->addr,
- firsthop->extend_info->port,
- firsthop->extend_info->identity_digest,
- &firsthop->extend_info->ed_identity);
+ n_chan = channel_connect_for_circuit(firsthop->extend_info);
if (!n_chan) { /* connect failed, forget the whole thing */
log_info(LD_CIRC,"connect to firsthop failed. Closing.");
return -END_CIRC_REASON_CONNECTFAILED;