Fix for bug 7112 (spewing complaints from tor_addr_is_internal)

In 4768c0efe3 (not in any released
version of Tor), we removed a little block of code that set the addr
field of an exit connection used in making a tunneled directory
request.  Turns out that wasn't right.
This commit is contained in:
Nick Mathewson
2012-10-17 11:15:01 -04:00
parent f633184af1
commit 898bd1ae8f
+5
View File
@@ -3180,7 +3180,12 @@ connection_exit_begin_conn(cell_t *cell, circuit_t *circ)
n_stream->on_circuit = circ;
if (rh.command == RELAY_COMMAND_BEGIN_DIR) {
tor_addr_t tmp_addr;
tor_assert(or_circ);
if (or_circ->p_chan &&
channel_get_addr_if_possible(or_circ->p_chan, &tmp_addr)) {
tor_addr_copy(&n_stream->base_.addr, &tmp_addr);
}
return connection_exit_connect_dir(n_stream);
}