Extract the non-stats part of geoip into a new src/lib/geoip.

This commit is contained in:
Nick Mathewson 2018-09-27 10:26:01 -04:00
parent fa32574bdb
commit c8f2a6d2fe
25 changed files with 66 additions and 28 deletions

2
.gitignore vendored
View File

@ -173,6 +173,8 @@ uptime-*.json
/src/lib/libtor-fdio-testing.a /src/lib/libtor-fdio-testing.a
/src/lib/libtor-fs.a /src/lib/libtor-fs.a
/src/lib/libtor-fs-testing.a /src/lib/libtor-fs-testing.a
/src/lib/libtor-geoip.a
/src/lib/libtor-geoip-testing.a
/src/lib/libtor-intmath.a /src/lib/libtor-intmath.a
/src/lib/libtor-intmath-testing.a /src/lib/libtor-intmath-testing.a
/src/lib/libtor-lock.a /src/lib/libtor-lock.a

View File

@ -40,6 +40,7 @@ endif
# "Common" libraries used to link tor's utility code. # "Common" libraries used to link tor's utility code.
TOR_UTIL_LIBS = \ TOR_UTIL_LIBS = \
src/lib/libtor-geoip.a \
src/lib/libtor-process.a \ src/lib/libtor-process.a \
src/lib/libtor-time.a \ src/lib/libtor-time.a \
src/lib/libtor-fs.a \ src/lib/libtor-fs.a \
@ -68,6 +69,7 @@ TOR_UTIL_LIBS = \
# and tests) # and tests)
if UNITTESTS_ENABLED if UNITTESTS_ENABLED
TOR_UTIL_TESTING_LIBS = \ TOR_UTIL_TESTING_LIBS = \
src/lib/libtor-geoip-testing.a \
src/lib/libtor-process-testing.a \ src/lib/libtor-process-testing.a \
src/lib/libtor-time-testing.a \ src/lib/libtor-time-testing.a \
src/lib/libtor-fs-testing.a \ src/lib/libtor-fs-testing.a \

View File

@ -103,7 +103,7 @@
#include "feature/relay/routermode.h" #include "feature/relay/routermode.h"
#include "feature/rend/rendclient.h" #include "feature/rend/rendclient.h"
#include "feature/rend/rendservice.h" #include "feature/rend/rendservice.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/stats/geoip_stats.h" #include "feature/stats/geoip_stats.h"
#include "feature/stats/predict_ports.h" #include "feature/stats/predict_ports.h"
#include "feature/stats/rephist.h" #include "feature/stats/rephist.h"

View File

@ -61,7 +61,7 @@
#include "feature/rend/rendcache.h" #include "feature/rend/rendcache.h"
#include "feature/rend/rendclient.h" #include "feature/rend/rendclient.h"
#include "feature/rend/rendservice.h" #include "feature/rend/rendservice.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/stats/geoip_stats.h" #include "feature/stats/geoip_stats.h"
#include "feature/stats/predict_ports.h" #include "feature/stats/predict_ports.h"
#include "feature/stats/rephist.h" #include "feature/stats/rephist.h"

View File

@ -117,7 +117,6 @@ LIBTOR_APP_A_SOURCES = \
src/feature/rend/rendcommon.c \ src/feature/rend/rendcommon.c \
src/feature/rend/rendmid.c \ src/feature/rend/rendmid.c \
src/feature/rend/rendservice.c \ src/feature/rend/rendservice.c \
src/feature/stats/geoip.c \
src/feature/stats/geoip_stats.c \ src/feature/stats/geoip_stats.c \
src/feature/stats/rephist.c \ src/feature/stats/rephist.c \
src/feature/stats/predict_ports.c src/feature/stats/predict_ports.c
@ -350,7 +349,6 @@ noinst_HEADERS += \
src/feature/rend/rendcommon.h \ src/feature/rend/rendcommon.h \
src/feature/rend/rendmid.h \ src/feature/rend/rendmid.h \
src/feature/rend/rendservice.h \ src/feature/rend/rendservice.h \
src/feature/stats/geoip.h \
src/feature/stats/geoip_stats.h \ src/feature/stats/geoip_stats.h \
src/feature/stats/rephist.h \ src/feature/stats/rephist.h \
src/feature/stats/predict_ports.h src/feature/stats/predict_ports.h

View File

@ -102,7 +102,7 @@
#include "feature/relay/routermode.h" #include "feature/relay/routermode.h"
#include "feature/rend/rendclient.h" #include "feature/rend/rendclient.h"
#include "feature/rend/rendcommon.h" #include "feature/rend/rendcommon.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/stats/rephist.h" #include "feature/stats/rephist.h"
#include "lib/crypt_ops/crypto_util.h" #include "lib/crypt_ops/crypto_util.h"

View File

@ -43,7 +43,7 @@
#include "lib/crypt_ops/crypto_util.h" #include "lib/crypt_ops/crypto_util.h"
#include "feature/dirauth/reachability.h" #include "feature/dirauth/reachability.h"
#include "feature/client/entrynodes.h" #include "feature/client/entrynodes.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "core/mainloop/mainloop.h" #include "core/mainloop/mainloop.h"
#include "trunnel/link_handshake.h" #include "trunnel/link_handshake.h"
#include "feature/nodelist/microdesc.h" #include "feature/nodelist/microdesc.h"

View File

@ -41,6 +41,7 @@
#include "lib/fs/mmap.h" #include "lib/fs/mmap.h"
#include "lib/fs/path.h" #include "lib/fs/path.h"
#include "lib/fs/userdb.h" #include "lib/fs/userdb.h"
#include "lib/geoip/country.h"
#include "lib/intmath/addsub.h" #include "lib/intmath/addsub.h"
#include "lib/intmath/bits.h" #include "lib/intmath/bits.h"
#include "lib/intmath/cmp.h" #include "lib/intmath/cmp.h"
@ -798,9 +799,6 @@ typedef struct download_status_t download_status_t;
typedef struct signed_descriptor_t signed_descriptor_t; typedef struct signed_descriptor_t signed_descriptor_t;
/** A signed integer representing a country code. */
typedef int16_t country_t;
/** Flags used to summarize the declared protocol versions of a relay, /** Flags used to summarize the declared protocol versions of a relay,
* so we don't need to parse them again and again. */ * so we don't need to parse them again and again. */
typedef struct protover_summary_flags_t { typedef struct protover_summary_flags_t {

View File

@ -27,7 +27,7 @@
#include "feature/relay/router.h" #include "feature/relay/router.h"
#include "feature/relay/routermode.h" #include "feature/relay/routermode.h"
#include "feature/nodelist/routerparse.h" #include "feature/nodelist/routerparse.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "ht.h" #include "ht.h"
#include "lib/encoding/confline.h" #include "lib/encoding/confline.h"

View File

@ -3,7 +3,7 @@
#include "core/mainloop/connection.h" #include "core/mainloop/connection.h"
#include "feature/control/control.h" #include "feature/control/control.h"
#include "feature/control/getinfo_geoip.h" #include "feature/control/getinfo_geoip.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
/** Helper used to implement GETINFO ip-to-country/... controller command. */ /** Helper used to implement GETINFO ip-to-country/... controller command. */
int int

View File

@ -65,7 +65,7 @@
#include "feature/nodelist/routerset.h" #include "feature/nodelist/routerset.h"
#include "feature/nodelist/torcert.h" #include "feature/nodelist/torcert.h"
#include "feature/rend/rendservice.h" #include "feature/rend/rendservice.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "lib/net/address.h" #include "lib/net/address.h"
#include <string.h> #include <string.h>

View File

@ -34,7 +34,7 @@ n * Copyright (c) 2001-2004, Roger Dingledine.
#include "feature/nodelist/nodelist.h" #include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerparse.h" #include "feature/nodelist/routerparse.h"
#include "feature/nodelist/routerset.h" #include "feature/nodelist/routerset.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "core/or/addr_policy_st.h" #include "core/or/addr_policy_st.h"
#include "core/or/extend_info_st.h" #include "core/or/extend_info_st.h"

View File

@ -36,7 +36,7 @@
#include "feature/relay/routerkeys.h" #include "feature/relay/routerkeys.h"
#include "feature/relay/routermode.h" #include "feature/relay/routermode.h"
#include "feature/relay/selftest.h" #include "feature/relay/selftest.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/stats/geoip_stats.h" #include "feature/stats/geoip_stats.h"
#include "feature/stats/rephist.h" #include "feature/stats/rephist.h"
#include "lib/crypt_ops/crypto_ed25519.h" #include "lib/crypt_ops/crypto_ed25519.h"

View File

@ -35,7 +35,7 @@
#include "feature/control/control.h" #include "feature/control/control.h"
#include "feature/client/dnsserv.h" #include "feature/client/dnsserv.h"
#include "core/or/dos.h" #include "core/or/dos.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/stats/geoip_stats.h" #include "feature/stats/geoip_stats.h"
#include "feature/nodelist/routerlist.h" #include "feature/nodelist/routerlist.h"

View File

@ -11,6 +11,7 @@ include src/lib/encoding/include.am
include src/lib/evloop/include.am include src/lib/evloop/include.am
include src/lib/fdio/include.am include src/lib/fdio/include.am
include src/lib/fs/include.am include src/lib/fs/include.am
include src/lib/geoip/include.am
include src/lib/include.libdonna.am include src/lib/include.libdonna.am
include src/lib/intmath/include.am include src/lib/intmath/include.am
include src/lib/lock/include.am include src/lib/lock/include.am

View File

@ -0,0 +1,12 @@
lib/cc/*.h
lib/container/*.h
lib/crypt_ops/*.h
lib/ctime/*.h
lib/encoding/*.h
lib/fs/*.h
lib/geoip/*.h
lib/log/*.h
lib/malloc/*.h
lib/net/*.h
lib/string/*.h
lib/testsupport/*.h

14
src/lib/geoip/country.h Normal file
View File

@ -0,0 +1,14 @@
/* Copyright (c) 2001 Matej Pfajfar.
* Copyright (c) 2001-2004, Roger Dingledine.
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
* Copyright (c) 2007-2018, The Tor Project, Inc. */
/* See LICENSE for licensing information */
#ifndef TOR_COUNTRY_H
#define TOR_COUNTRY_H
#include "lib/cc/torint.h"
/** A signed integer representing a country code. */
typedef int16_t country_t;
#endif

View File

@ -28,12 +28,7 @@
*/ */
#define GEOIP_PRIVATE #define GEOIP_PRIVATE
#include "lib/geoip/geoip.h"
#include "lib/cc/torint.h"
/** A signed integer representing a country code. */
typedef int16_t country_t; // XXXX duplicate in or.h
#include "feature/stats/geoip.h"
#include "lib/container/map.h" #include "lib/container/map.h"
#include "lib/container/order.h" #include "lib/container/order.h"
#include "lib/container/smartlist.h" #include "lib/container/smartlist.h"
@ -49,7 +44,6 @@ typedef int16_t country_t; // XXXX duplicate in or.h
#include "lib/string/compat_string.h" #include "lib/string/compat_string.h"
#include "lib/string/scanf.h" #include "lib/string/scanf.h"
#include "lib/string/util_string.h" #include "lib/string/util_string.h"
#include "lib/time/tvdiff.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>

View File

@ -14,7 +14,7 @@
#include "lib/net/nettypes.h" #include "lib/net/nettypes.h"
#include "lib/testsupport/testsupport.h" #include "lib/testsupport/testsupport.h"
#include "lib/cc/torint.h" #include "lib/geoip/country.h"
#ifdef GEOIP_PRIVATE #ifdef GEOIP_PRIVATE
STATIC int geoip_parse_entry(const char *line, sa_family_t family); STATIC int geoip_parse_entry(const char *line, sa_family_t family);

17
src/lib/geoip/include.am Normal file
View File

@ -0,0 +1,17 @@
noinst_LIBRARIES += src/lib/libtor-geoip.a
if UNITTESTS_ENABLED
noinst_LIBRARIES += src/lib/libtor-geoip-testing.a
endif
src_lib_libtor_geoip_a_SOURCES = \
src/lib/geoip/geoip.c
src_lib_libtor_geoip_testing_a_SOURCES = \
$(src_lib_libtor_geoip_a_SOURCES)
src_lib_libtor_geoip_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_lib_libtor_geoip_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
src/lib/geoip/geoip.h \
src/lib/geoip/country.h

View File

@ -29,7 +29,7 @@
#include "feature/client/entrynodes.h" #include "feature/client/entrynodes.h"
#include "feature/client/transports.h" #include "feature/client/transports.h"
#include "feature/relay/ext_orport.h" #include "feature/relay/ext_orport.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/hibernate/hibernate.h" #include "feature/hibernate/hibernate.h"
#include "core/mainloop/mainloop.h" #include "core/mainloop/mainloop.h"
#include "feature/nodelist/networkstatus.h" #include "feature/nodelist/networkstatus.h"

View File

@ -32,7 +32,7 @@
#include "feature/nodelist/routerparse.h" #include "feature/nodelist/routerparse.h"
#include "feature/nodelist/networkstatus.h" #include "feature/nodelist/networkstatus.h"
#include "core/proto/proto_http.h" #include "core/proto/proto_http.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/stats/geoip_stats.h" #include "feature/stats/geoip_stats.h"
#include "feature/dircache/dirserv.h" #include "feature/dircache/dirserv.h"
#include "feature/dirauth/dirvote.h" #include "feature/dirauth/dirvote.h"

View File

@ -10,7 +10,7 @@
#define GEOIP_PRIVATE #define GEOIP_PRIVATE
#include "core/or/or.h" #include "core/or/or.h"
#include "app/config/config.h" #include "app/config/config.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/stats/geoip_stats.h" #include "feature/stats/geoip_stats.h"
#include "test/test.h" #include "test/test.h"

View File

@ -8,7 +8,7 @@
#include "app/config/confparse.h" #include "app/config/confparse.h"
#include "app/config/config.h" #include "app/config/config.h"
#include "test/test.h" #include "test/test.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#define ROUTERSET_PRIVATE #define ROUTERSET_PRIVATE
#include "feature/nodelist/routerset.h" #include "feature/nodelist/routerset.h"

View File

@ -4,7 +4,7 @@
#define ROUTERSET_PRIVATE #define ROUTERSET_PRIVATE
#include "core/or/or.h" #include "core/or/or.h"
#include "feature/stats/geoip.h" #include "lib/geoip/geoip.h"
#include "feature/nodelist/routerset.h" #include "feature/nodelist/routerset.h"
#include "feature/nodelist/routerparse.h" #include "feature/nodelist/routerparse.h"
#include "core/or/policies.h" #include "core/or/policies.h"