Commit 69595751 authored by David Goulet's avatar David Goulet 🐼
Browse files

hs: Always note the virtual port in the ident

parent 50f44afe
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -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 */
    /* Remember, v2 doesn't use an hs_ident. */
    if (conn->hs_ident) {
        conn->hs_ident->orig_virtual_port = TO_CONN(conn)->port;
      /* 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;