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
This commit is contained in:
Nick Mathewson 2007-05-25 14:48:12 +00:00
parent 7127c30f46
commit e9c294654d
2 changed files with 11 additions and 3 deletions

View File

@ -121,6 +121,11 @@ Changes in version 0.2.0.1-alpha - 2007-??-??
whether the current version is recommended, and whether any versions whether the current version is recommended, and whether any versions
are good, and how many authorities agree. (Patch from shibz.) 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): o Minor features (other):
- More unit tests. - More unit tests.
- Warn when using a version of libevent before 1.3b to run a server on - Warn when using a version of libevent before 1.3b to run a server on

View File

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