[or-cvs] [tor/master] When we've disabled .exit hostnames, actually reject them.

nickm at torproject.org nickm at torproject.org
Wed Feb 3 20:59:45 UTC 2010


Author: Nick Mathewson <nickm at torproject.org>
Date: Wed, 3 Feb 2010 15:59:15 -0500
Subject: When we've disabled .exit hostnames, actually reject them.
Commit: 7d5d4f9f0385a8594bf363bee2392e8b055499fb

Previously we were treating them as decent hostnames and sending them
to the exit, which is completely wrong.
---
 ChangeLog                |    3 +++
 src/or/connection_edge.c |   10 ++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2cf7776..053ea66 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,9 @@ Changes in version 0.2.2.9-alpha - 2010-??-??
       when it updates its libraries in a security patch.
     - Fix static compilation by listing the openssl libraries in the right
       order.  Fixes bug 1237.
+    - Actually reject .exit hostnames when we're supposed to be rejecting
+      them; do not pass them on to the exit server.  Bugfix on 0.2.2.7-alpha;
+      found and diagnosed by Scott Bennett and Downie on or-talk.
 
   o Code simplifications and refactoring:
     - Generate our manpage and HTML documentation using Asciidoc.  This
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index d7e8394..8447853 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -2935,10 +2935,12 @@ parse_extended_hostname(char *address, int allowdotexit)
       if (allowdotexit) {
         *s = 0; /* NUL-terminate it */
         return EXIT_HOSTNAME; /* .exit */
-      } /* else */
-      log_warn(LD_APP, "The \".exit\" notation is disabled in Tor due to "
-               "security risks. Set AllowDotExit in your torrc to enable it.");
-      /* FFFF send a controller event too to notify Vidalia users */
+      } else {
+        log_warn(LD_APP, "The \".exit\" notation is disabled in Tor due to "
+                 "security risks. Set AllowDotExit in your torrc to enable it.");
+        /* FFFF send a controller event too to notify Vidalia users */
+        return BAD_HOSTNAME;
+      }
     }
     if (strcmp(s+1,"onion"))
       return NORMAL_HOSTNAME; /* neither .exit nor .onion, thus normal */
-- 
1.6.5



More information about the tor-commits mailing list