From e9c294654deeb41a4f80420c3f4ee67cd9ecee70 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 25 May 2007 14:48:12 +0000 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ src/tools/tor-resolve.c | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index dcf455c250..c51f2ad87b 100644 --- a/ChangeLog +++ b/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 diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c index 3eebb57a6e..6fabd5d337 100644 --- a/src/tools/tor-resolve.c +++ b/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"