Figure out ORPort and DirPort even when 'auto' is used.

Use router_get_advertised_{dir,or}_port() functions instead of
get_primary_{dir,or}_port().
This commit is contained in:
George Kadianakis 2012-09-05 20:17:25 +03:00
parent b9551fd074
commit 4edc57caa5

View File

@ -7266,11 +7266,11 @@ get_list_of_ports_to_forward(void)
/** XXX TODO tor-fw-helper does not support forwarding ports to /** XXX TODO tor-fw-helper does not support forwarding ports to
other hosts than the local one. If the user is binding to a other hosts than the local one. If the user is binding to a
different IP address, tor-fw-helper won't work. */ different IP address, tor-fw-helper won't work. */
port = get_primary_or_port(); /* Get ORPort */ port = router_get_advertised_or_port(get_options()); /* Get ORPort */
if (port) if (port)
smartlist_add_asprintf(ports_to_forward, "%d:%d", port, port); smartlist_add_asprintf(ports_to_forward, "%d:%d", port, port);
port = get_primary_dir_port(); /* Get DirPort */ port = router_get_advertised_dir_port(get_options(), 0); /* Get DirPort */
if (port) if (port)
smartlist_add_asprintf(ports_to_forward, "%d:%d", port, port); smartlist_add_asprintf(ports_to_forward, "%d:%d", port, port);