Browse Source

r8576@Kushana: nickm | 2006-08-25 17:16:01 -0400
Fix bug 314: Instead of checking address_in_virtualrange, check addressmap_have_mapping(). This should be more accurate. [Rename to addressmap_have_mapping() from addressmap_already_mapped().]


svn:r8226

Nick Mathewson 18 years ago
parent
commit
fd36eb0788
5 changed files with 8 additions and 8 deletions
  1. 2 2
      doc/TODO
  2. 2 2
      src/or/buffers.c
  3. 1 1
      src/or/circuituse.c
  4. 2 2
      src/or/connection_edge.c
  5. 1 1
      src/or/or.h

+ 2 - 2
doc/TODO

@@ -24,12 +24,12 @@ Important bugfixes in 0.1.2.x:
     until we've fetched correct ones.
   - If the client's clock is too far in the past, it will drop (or
     just not try to get) descriptors, so it'll never build circuits.
-  - bug #308: if Tor writes a bad datestamp to its datadir files, it
+  o bug #308: if Tor writes a bad datestamp to its datadir files, it
     will then refuse to start even if you fix your clock.
 
 Items for 0.1.2.x:
   o bug #280: getaddrinfo does not set hints
-  - bug #314: is the fix for this just to check not only
+  o bug #314: is the fix for this just to check not only
     address_is_in_virtual_range(req->address) but also to check whether
     ent = strmap_get(addressmap, address) and ent->new_address is set?
   - when we start, remove any entryguards that are listed in excludenodes.

+ 2 - 2
src/or/buffers.c

@@ -995,7 +995,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req,
           strlcpy(req->address,tmpbuf,sizeof(req->address));
           req->port = ntohs(*(uint16_t*)(buf->cur+8));
           buf_remove_from_front(buf, 10);
-          if (!address_is_in_virtual_range(req->address) &&
+          if (!addressmap_have_mapping(req->address) &&
               !have_warned_about_unsafe_socks) {
             log_warn(LD_APP,
                 "Your application (using socks5 on port %d) is giving "
@@ -1091,7 +1091,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req,
 
       startaddr = NULL;
       if (socks4_prot != socks4a &&
-          !address_is_in_virtual_range(tmpbuf) &&
+          !addressmap_have_mapping(tmpbuf) &&
           !have_warned_about_unsafe_socks) {
         log_warn(LD_APP,
                  "Your application (using socks4 on port %d) is giving Tor "

+ 1 - 1
src/or/circuituse.c

@@ -1069,7 +1069,7 @@ consider_recording_trackhost(edge_connection_t *conn, origin_circuit_t *circ)
   /* Search the addressmap for this conn's destination. */
   /* If he's not in the address map.. */
   if (!options->TrackHostExits ||
-      addressmap_already_mapped(conn->socks_request->address))
+      addressmap_have_mapping(conn->socks_request->address))
     return; /* nothing to track, or already mapped */
 
   SMARTLIST_FOREACH(options->TrackHostExits, const char *, cp, {

+ 2 - 2
src/or/connection_edge.c

@@ -645,9 +645,9 @@ addressmap_rewrite(char *address, size_t maxlen)
 
 /** Return 1 if <b>address</b> is already registered, else return 0 */
 int
-addressmap_already_mapped(const char *address)
+addressmap_have_mapping(const char *address)
 {
-  return strmap_get(addressmap, address) ? 1 : 0;
+  return strmap_get_lc(addressmap, address) ? 1 : 0;
 }
 
 /** Register a request to map <b>address</b> to <b>new_address</b>,

+ 1 - 1
src/or/or.h

@@ -1913,7 +1913,7 @@ void addressmap_clear_configured(void);
 void addressmap_clear_transient(void);
 void addressmap_free_all(void);
 void addressmap_rewrite(char *address, size_t maxlen);
-int addressmap_already_mapped(const char *address);
+int addressmap_have_mapping(const char *address);
 void addressmap_register(const char *address, char *new_address,
                          time_t expires);
 int parse_virtual_addr_network(const char *val, int validate_only,