|
Tor 0.4.9.8
|
Header file for geoip.c. More...
#include "orconfig.h"#include "lib/net/nettypes.h"#include "lib/testsupport/testsupport.h"#include "lib/net/inaddr_st.h"#include "lib/geoip/country.h"Go to the source code of this file.
Data Structures | |
| struct | geoip_country_t |
Functions | |
| const struct smartlist_t * | geoip_get_countries (void) |
| int | geoip_load_file (sa_family_t family, const char *filename, int severity) |
| int | geoip_get_country_by_addr (const struct tor_addr_t *addr) |
| int | geoip_get_n_countries (void) |
| const char * | geoip_get_country_name (country_t num) |
| int | geoip_is_loaded (sa_family_t family) |
| const char * | geoip_db_digest (sa_family_t family) |
| country_t | geoip_get_country (const char *countrycode) |
| void | geoip_free_all (void) |
| const char * geoip_db_digest | ( | sa_family_t | family | ) |
Return the hex-encoded SHA1 digest of the loaded GeoIP file. The result does not need to be deallocated, but will be overwritten by the next call of hex_str().
Definition at line 473 of file geoip.c.
Referenced by extrainfo_dump_to_string_stats_helper().
| void geoip_free_all | ( | void | ) |
Release all storage held in this file.
Definition at line 510 of file geoip.c.
Referenced by tor_free_all().
| const struct smartlist_t * geoip_get_countries | ( | void | ) |
Return a list of geoip_country_t for all known countries.
Definition at line 89 of file geoip.c.
Referenced by geoip_get_request_history().
| country_t geoip_get_country | ( | const char * | country | ) |
Return the index of the country's entry in the GeoIP country list if it is a valid 2-letter country code, otherwise return -1.
Definition at line 101 of file geoip.c.
Referenced by routerset_add_unknown_ccs(), and routerset_refresh_countries().
| const char * geoip_get_country_name | ( | country_t | num | ) |
Return the two-letter country code associated with the number num, or "??" for an unknown value.
Definition at line 447 of file geoip.c.
Referenced by addr_is_in_cc_list(), geoip_get_client_history(), and getinfo_helper_geoip().
| int geoip_get_n_countries | ( | void | ) |
Return the number of countries recognized by the GeoIP country list.
Definition at line 437 of file geoip.c.
Referenced by geoip_get_client_history(), and routerset_refresh_countries().
| int geoip_is_loaded | ( | sa_family_t | family | ) |
Return true iff we have loaded a GeoIP database.
Definition at line 458 of file geoip.c.
Referenced by config_maybe_load_geoip_files_(), extrainfo_dump_to_string_stats_helper(), geoip_get_client_history(), getinfo_helper_geoip(), options_act(), options_act_relay_stats(), and routerset_refresh_countries().
| int geoip_load_file | ( | sa_family_t | family, |
| const char * | filename, | ||
| int | severity ) |
Clear appropriate GeoIP database, based on family, and reload it from the file filename. Return 0 on success, -1 on failure.
Recognized line formats for IPv4 are: INTIPLOW,INTIPHIGH,CC and "INTIPLOW","INTIPHIGH","CC","CC3","COUNTRY NAME" where INTIPLOW and INTIPHIGH are IPv4 addresses encoded as 4-byte unsigned integers, and CC is a country code.
Recognized line format for IPv6 is: IPV6LOW,IPV6HIGH,CC where IPV6LOW and IPV6HIGH are IPv6 addresses and CC is a country code.
It also recognizes, and skips over, blank lines and lines that start with '#' (comments).
Definition at line 324 of file geoip.c.
Referenced by config_load_geoip_file_().