Browse Source

r12945@catbus: nickm | 2007-05-25 10:37:12 -0400
Add a "force" option to tor-resolve so we can make it look up .onion addresses if we know that this will create a virtual mapping we want.


svn:r10323

Nick Mathewson 17 years ago
parent
commit
e9c294654d
2 changed files with 11 additions and 3 deletions
  1. 5 0
      ChangeLog
  2. 6 3
      src/tools/tor-resolve.c

+ 5 - 0
ChangeLog

@@ -121,6 +121,11 @@ Changes in version 0.2.0.1-alpha - 2007-??-??
       whether the current version is recommended, and whether any versions
       are good, and how many authorities agree. (Patch from shibz.)
 
+  o Minor features (tor-resolve):
+    - Add an "-F" option to force a resolve for a .onion address.  Thanks
+      to the AutomapHostsOnResolve option, this is no longer a completely
+      silly thing to do.
+
   o Minor features (other):
     - More unit tests.
     - Warn when using a version of libevent before 1.3b to run a server on

+ 6 - 3
src/tools/tor-resolve.c

@@ -259,7 +259,8 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
 static void
 usage(void)
 {
-  puts("Syntax: tor-resolve [-4] [-v] [-x] hostname [sockshost:socksport]");
+  puts("Syntax: tor-resolve [-4] [-v] [-x] [-F] "
+       "hostname [sockshost:socksport]");
   exit(1);
 }
 
@@ -269,7 +270,7 @@ main(int argc, char **argv)
 {
   uint32_t sockshost;
   uint16_t socksport;
-  int isSocks4 = 0, isVerbose = 0, isReverse = 0;
+  int isSocks4 = 0, isVerbose = 0, isReverse = 0, force = 0;
   char **arg;
   int n_args;
   struct in_addr a;
@@ -296,6 +297,8 @@ main(int argc, char **argv)
       isSocks4 = 0;
     else if (!strcmp("-x", arg[0]))
       isReverse = 1;
+    else if (!strcmp("-F", arg[0]))
+      force = 1;
     else {
       fprintf(stderr, "Unrecognized flag '%s'\n", arg[0]);
       usage();
@@ -331,7 +334,7 @@ main(int argc, char **argv)
     usage();
   }
 
-  if (!strcasecmpend(arg[0], ".onion")) {
+  if (!strcasecmpend(arg[0], ".onion") && !force) {
     fprintf(stderr,
        "%s is a hidden service; those don't have IP addresses.\n\n"
        "To connect to a hidden service, you need to send the hostname\n"