]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Tweak tor-resolve docs and logs
authorNick Mathewson <nickm@torproject.org>
Wed, 28 Jan 2015 15:11:08 +0000 (10:11 -0500)
committerNick Mathewson <nickm@torproject.org>
Wed, 28 Jan 2015 15:11:08 +0000 (10:11 -0500)
Resolves 14325

changes/ticket14325 [new file with mode: 0644]
doc/tor-resolve.1.txt
src/tools/tor-resolve.c

diff --git a/changes/ticket14325 b/changes/ticket14325
new file mode 100644 (file)
index 0000000..38daa05
--- /dev/null
@@ -0,0 +1,5 @@
+  o Documentation fixes:
+    - Make the tor-resolve documentation match its help string and its
+      options. Resolves part of ticket 14325.
+    - Log a more useful error message from tor-resolve when failing to
+      look up a hidden service address. Resolves part of ticket 14325.
index 341d3022448d8ed96c72afe88ff858c8ea225149..30e16d5daa290c51405d262bcbd24f42a41ce8d1 100644 (file)
@@ -14,7 +14,7 @@ tor-resolve - resolve a hostname to an IP address via tor
 
 SYNOPSIS
 --------
-**tor-resolve** [-4|-5] [-v] [-x] __hostname__ [__sockshost__[:__socksport__]]
+**tor-resolve** [-4|-5] [-v] [-x] [-p __socksport__] __hostname__ [__sockshost__[:__socksport__]]
 
 DESCRIPTION
 -----------
@@ -40,6 +40,9 @@ OPTIONS
     Use the SOCKS4a protocol rather than the default SOCKS5 protocol. Doesn't
     support reverse DNS.
 
+**-p** __socksport__::
+    Override the default SOCKS port without setting the hostname.
+
 SEE ALSO
 --------
 **tor**(1), **torify**(1). +
index e6eadf1dd37146d62fba8f28f497d648fbfdc671..04815a63f703ed6879d3231dec875794dc10972a 100644 (file)
@@ -108,6 +108,18 @@ build_socks_resolve_request(char **out,
   return len;
 }
 
+static void
+onion_warning(const char *hostname)
+{
+  log_warn(LD_NET,
+        "%s is a hidden service; those don't have IP addresses. "
+        "You can use the AutomapHostsOnResolve option to have Tor return a "
+        "fake address for hidden services.  Or you can have your "
+        "application send the address to Tor directly; we recommend an "
+        "application that uses SOCKS 5 with hostnames.",
+           hostname);
+}
+
 /** Given a <b>len</b>-byte SOCKS4a response in <b>response</b>, set
  * *<b>addr_out</b> to the address it contains (in host order).
  * Return 0 on success, -1 on error.
@@ -137,10 +149,7 @@ parse_socks4a_resolve_response(const char *hostname,
   if (status != 90) {
     log_warn(LD_NET,"Got status response '%d': socks request failed.", status);
     if (!strcasecmpend(hostname, ".onion")) {
-      log_warn(LD_NET,
-        "%s is a hidden service; those don't have IP addresses. "
-        "To connect to a hidden service, you need to send the hostname "
-        "to Tor; we suggest an application that uses SOCKS 4a.",hostname);
+      onion_warning(hostname);
       return -1;
     }
     return -1;
@@ -276,11 +285,7 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
                (unsigned)reply_buf[1],
                socks5_reason_to_string(reply_buf[1]));
       if (reply_buf[1] == 4 && !strcasecmpend(hostname, ".onion")) {
-        log_warn(LD_NET,
-            "%s is a hidden service; those don't have IP addresses. "
-            "To connect to a hidden service, you need to send the hostname "
-            "to Tor; we suggest an application that uses SOCKS 4a.",
-            hostname);
+        onion_warning(hostname);
       }
       goto err;
     }
@@ -326,8 +331,8 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
 static void
 usage(void)
 {
-  puts("Syntax: tor-resolve [-4] [-v] [-x] [-F] [-p port] "
-       "hostname [sockshost:socksport]");
+  puts("Syntax: tor-resolve [-4] [-5] [-v] [-x] [-F] [-p port] "
+       "hostname [sockshost[:socksport]]");
   exit(1);
 }