commit 92fc728d83b7d02e95aae65b1eb083597bec141d Author: rl1987 rl1987@sdf.lonestar.org Date: Sun Feb 22 17:34:00 2015 +0200
Bugfix: we don't want loopback/multicastaddress from _hack(). --- src/common/address.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/common/address.c b/src/common/address.c index e3c2521..3e26576 100644 --- a/src/common/address.c +++ b/src/common/address.c @@ -1542,8 +1542,16 @@ get_interface_address6_via_udp_socket_hack(int severity, goto err; }
- tor_addr_from_sockaddr(addr, (struct sockaddr*)&my_addr, NULL); - r=0; + if (tor_addr_from_sockaddr(addr, (struct sockaddr*)&my_addr, NULL) == 0) { + if (tor_addr_is_loopback(addr) || tor_addr_is_multicast(addr)) { + log_fn(severity, LD_NET, "Address that we determined via UDP socket" + " magic is unsuitable for public comms."); + } + else { + r=0; + } + } + err: if (sock >= 0) tor_close_socket(sock);