]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Use fmt_addrport in pt_get_extra_info_descriptor_string.
authorDavid Fifield <david@bamsoftware.com>
Thu, 11 Oct 2012 00:08:07 +0000 (17:08 -0700)
committerNick Mathewson <nickm@torproject.org>
Thu, 11 Oct 2012 02:25:30 +0000 (22:25 -0400)
This patch is by asn.
https://trac.torproject.org/projects/tor/ticket/7011#comment:11

src/or/transports.c

index 56ab6005f0fc5a4b7b1b3740b5464d6343fde099..1586213367077089b9a905364ccc918eb9bff362 100644 (file)
@@ -1384,19 +1384,21 @@ pt_get_extra_info_descriptor_string(void)
       /* If the transport proxy returned "0.0.0.0" as its address, and
        * we know our external IP address, use it. Otherwise, use the
        * returned address. */
-      const char *addr_str = fmt_and_decorate_addr(&t->addr);
+      const char *addrport = NULL;
       uint32_t external_ip_address = 0;
       if (tor_addr_is_null(&t->addr) &&
           router_pick_published_address(get_options(),
                                         &external_ip_address) >= 0) {
-        /* returned addr was 0.0.0.0 and we found our external IP
-           address: use it. */
-        addr_str = fmt_addr32(external_ip_address);
+        tor_addr_t addr;
+        tor_addr_from_ipv4h(&addr, external_ip_address);
+        addrport = fmt_addrport(&addr, t->port);
+      } else {
+        addrport = fmt_addrport(&t->addr, t->port);
       }
 
       smartlist_add_asprintf(string_chunks,
-                             "transport %s %s:%u",
-                             t->name, addr_str, t->port);
+                             "transport %s %s",
+                             t->name, addrport);
     } SMARTLIST_FOREACH_END(t);
 
   } SMARTLIST_FOREACH_END(mp);