diff --git a/doc/TODO b/doc/TODO index a044f547ed..fb653c4c50 100644 --- a/doc/TODO +++ b/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. diff --git a/src/or/buffers.c b/src/or/buffers.c index 20fa700a04..75ba23712f 100644 --- a/src/or/buffers.c +++ b/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 " diff --git a/src/or/circuituse.c b/src/or/circuituse.c index ba819de4d3..e4faee31af 100644 --- a/src/or/circuituse.c +++ b/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, { diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 0131b066b9..4e5ee2fdd1 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -645,9 +645,9 @@ addressmap_rewrite(char *address, size_t maxlen) /** Return 1 if address 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 address to new_address, diff --git a/src/or/or.h b/src/or/or.h index 44d8c851d4..79a9ebe363 100644 --- a/src/or/or.h +++ b/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,