mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-09-21 05:26:20 +02:00
hs: Always note the virtual port in the ident
Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
50f44afeb4
commit
695957511b
@ -887,12 +887,14 @@ hs_set_conn_addr_port(const smartlist_t *ports, edge_connection_t *conn)
|
||||
chosen_port = smartlist_choose(matching_ports);
|
||||
smartlist_free(matching_ports);
|
||||
if (chosen_port) {
|
||||
if (!(chosen_port->is_unix_addr)) {
|
||||
/* save the original destination before we overwrite it */
|
||||
if (conn->hs_ident) {
|
||||
conn->hs_ident->orig_virtual_port = TO_CONN(conn)->port;
|
||||
}
|
||||
/* Remember, v2 doesn't use an hs_ident. */
|
||||
if (conn->hs_ident) {
|
||||
/* There is always a connection identifier at this point. Regardless of a
|
||||
* Unix or TCP port, note the virtual port. */
|
||||
conn->hs_ident->orig_virtual_port = chosen_port->virtual_port;
|
||||
}
|
||||
|
||||
if (!(chosen_port->is_unix_addr)) {
|
||||
/* Get a non-AF_UNIX connection ready for connection_exit_connect() */
|
||||
tor_addr_copy(&TO_CONN(conn)->addr, &chosen_port->real_addr);
|
||||
TO_CONN(conn)->port = chosen_port->real_port;
|
||||
|
Loading…
Reference in New Issue
Block a user