]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Bugfix: we don't want loopback/multicastaddress from _hack().
authorrl1987 <rl1987@sdf.lonestar.org>
Sun, 22 Feb 2015 15:34:00 +0000 (17:34 +0200)
committerNick Mathewson <nickm@torproject.org>
Tue, 31 Mar 2015 18:37:02 +0000 (14:37 -0400)
src/common/address.c

index e3c25212352f11d3e02919628fd612d87eeb9e07..3e265768154afb0f57f23eb8662a47d8b8053cbe 100644 (file)
@@ -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);