mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
Move the "nowhereland" logic into geoip.c
This commit is contained in:
parent
8fca6fb2aa
commit
4dd4d240b7
@ -228,9 +228,10 @@ geoip_load_file(const char *filename, or_options_t *options)
|
||||
}
|
||||
|
||||
/** Given an IP address in host order, return a number representing the
|
||||
* country to which that address belongs, or -1 for unknown. The return value
|
||||
* will always be less than geoip_get_n_countries(). To decode it,
|
||||
* call geoip_get_country_name().
|
||||
* country to which that address belongs, -1 for "No geoip information
|
||||
* available", or 0 for the 'unknown country'. The return value will always
|
||||
* be less than geoip_get_n_countries(). To decode it, call
|
||||
* geoip_get_country_name().
|
||||
*/
|
||||
int
|
||||
geoip_get_country_by_ip(uint32_t ipaddr)
|
||||
@ -239,7 +240,7 @@ geoip_get_country_by_ip(uint32_t ipaddr)
|
||||
if (!geoip_entries)
|
||||
return -1;
|
||||
ent = smartlist_bsearch(geoip_entries, &ipaddr, _geoip_compare_key_to_entry);
|
||||
return ent ? (int)ent->country : -1;
|
||||
return ent ? (int)ent->country : 0;
|
||||
}
|
||||
|
||||
/** Return the number of countries recognized by the GeoIP database. */
|
||||
|
@ -5335,10 +5335,6 @@ routerset_contains(const routerset_t *set, const tor_addr_t *addr,
|
||||
if (country < 0 && addr)
|
||||
country = geoip_get_country_by_ip(tor_addr_to_ipv4h(addr));
|
||||
|
||||
/* XXXX can we safely move this into geoip_get_country_by_ip? */
|
||||
if (country < 0)
|
||||
country = 0;
|
||||
|
||||
if (country >= 0 && country < set->n_countries &&
|
||||
bitarray_is_set(set->countries, country))
|
||||
return 2;
|
||||
|
Loading…
Reference in New Issue
Block a user