Browse Source

Even though the man page said that "TrackHostExits ." should
work, nobody had ever implemented it. Bugfix on 0.1.0.x.


svn:r13647

Roger Dingledine 17 years ago
parent
commit
18a209ffe6
2 changed files with 4 additions and 1 deletions
  1. 2 0
      ChangeLog
  2. 2 1
      src/or/circuituse.c

+ 2 - 0
ChangeLog

@@ -67,6 +67,8 @@ Changes in version 0.2.0.20-?? - 2008-02-??
       on the socket. Bugfix on 0.1.2.x.
     - Change the behavior of "getinfo status/good-server-descriptor"
       so it doesn't return failure when any authority disappears.
+    - Even though the man page said that "TrackHostExits ." should
+      work, nobody had ever implemented it. Bugfix on 0.1.0.x.
 
   o Code simplifications and refactoring:
     - Remove the tor_strpartition function: its logic was confused,

+ 2 - 1
src/or/circuituse.c

@@ -1185,7 +1185,8 @@ consider_recording_trackhost(edge_connection_t *conn, origin_circuit_t *circ)
 
   SMARTLIST_FOREACH(options->TrackHostExits, const char *, cp, {
     if (cp[0] == '.') { /* match end */
-      if (!strcasecmpend(conn->socks_request->address, cp) ||
+      if (cp[1] == '\0' ||
+          !strcasecmpend(conn->socks_request->address, cp) ||
           !strcasecmp(conn->socks_request->address, &cp[1]))
           found_needle = 1;
     } else if (strcasecmp(cp, conn->socks_request->address) == 0) {