Explorar o código

Give an early error if you pass a .onion or a .exit hostname to tor-resolve

svn:r3027
Nick Mathewson %!s(int64=21) %!d(string=hai) anos
pai
achega
fd68834b17
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      src/tools/tor-resolve.c

+ 9 - 0
src/tools/tor-resolve.c

@@ -204,6 +204,15 @@ main(int argc, char **argv)
     usage();
     usage();
   }
   }
 
 
+  if (!strcasecmpend(arg[0], ".onion") || !strcasecmpend(arg[0], ".exit")) {
+    const char *name_type = (!strcasecmpend(arg[0], ".exit")) ?
+      "an exit-local hostname" : "a hidden service";
+    fprintf(stderr, "%s is %s; those don't have IP addresses.\n\n"
+            "To connect to %s, you need to send the hostname to Tor;\n"
+            "we suggest SOCKS 4a.\n", arg[0], name_type, name_type);
+    return 1;
+  }
+
   if (do_resolve(arg[0], sockshost, socksport, &result))
   if (do_resolve(arg[0], sockshost, socksport, &result))
     return 1;
     return 1;