aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/or/config.c1
-rw-r--r--src/or/connection.c1
-rw-r--r--src/or/connection_or.c1
-rw-r--r--src/or/control.c1
-rw-r--r--src/or/directory.c2
-rw-r--r--src/or/geoip.c1
-rw-r--r--src/or/geoip.h58
-rw-r--r--src/or/main.c1
-rw-r--r--src/or/or.h39
-rw-r--r--src/or/relay.c1
-rw-r--r--src/or/router.c1
-rw-r--r--src/or/routerlist.c1
-rw-r--r--src/test/test.c1
13 files changed, 70 insertions, 39 deletions
diff --git a/src/or/config.c b/src/or/config.c
index 70a3ee621..89032d67b 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -12,6 +12,7 @@
#define CONFIG_PRIVATE
#include "or.h"
+#include "geoip.h"
#ifdef MS_WINDOWS
#include <shlobj.h>
#endif
diff --git a/src/or/connection.c b/src/or/connection.c
index 82764ec4c..e0b1907a0 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -12,6 +12,7 @@
#include "or.h"
#include "dnsserv.h"
+#include "geoip.h"
static connection_t *connection_create_listener(
struct sockaddr *listensockaddr,
diff --git a/src/or/connection_or.c b/src/or/connection_or.c
index 247cc4e59..8e9992c86 100644
--- a/src/or/connection_or.c
+++ b/src/or/connection_or.c
@@ -11,6 +11,7 @@
**/
#include "or.h"
+#include "geoip.h"
static int connection_tls_finish_handshake(or_connection_t *conn);
static int connection_or_process_cells_from_inbuf(or_connection_t *conn);
diff --git a/src/or/control.c b/src/or/control.c
index 68921663e..f01be85b7 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -12,6 +12,7 @@
#include "or.h"
#include "dnsserv.h"
+#include "geoip.h"
/** Yield true iff <b>s</b> is the state of a control_connection_t that has
* finished authentication and is accepting commands. */
diff --git a/src/or/directory.c b/src/or/directory.c
index 52e1c392c..90a6fd128 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -4,6 +4,8 @@
/* See LICENSE for licensing information */
#include "or.h"
+#include "geoip.h"
+
#if defined(EXPORTMALLINFO) && defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
#ifndef OPENBSD
#include <malloc.h>
diff --git a/src/or/geoip.c b/src/or/geoip.c
index 248c68ea4..f027f3299 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -11,6 +11,7 @@
#include "or.h"
#include "ht.h"
#include "dnsserv.h"
+#include "geoip.h"
static void clear_geoip_db(void);
diff --git a/src/or/geoip.h b/src/or/geoip.h
new file mode 100644
index 000000000..c3a4fbcdf
--- /dev/null
+++ b/src/or/geoip.h
@@ -0,0 +1,58 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2010, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file geoip.h
+ * \brief Header file for geoip.c.
+ **/
+
+#ifndef _TOR_GEOIP_H
+#define _TOR_GEOIP_H
+
+#ifdef GEOIP_PRIVATE
+int geoip_parse_entry(const char *line);
+#endif
+int should_record_bridge_info(or_options_t *options);
+int geoip_load_file(const char *filename, or_options_t *options);
+int geoip_get_country_by_ip(uint32_t ipaddr);
+int geoip_get_n_countries(void);
+const char *geoip_get_country_name(country_t num);
+int geoip_is_loaded(void);
+country_t geoip_get_country(const char *countrycode);
+
+void geoip_note_client_seen(geoip_client_action_t action,
+ uint32_t addr, time_t now);
+void geoip_remove_old_clients(time_t cutoff);
+
+void geoip_note_ns_response(geoip_client_action_t action,
+ geoip_ns_response_t response);
+time_t geoip_get_history_start(void);
+char *geoip_get_client_history_dirreq(time_t now,
+ geoip_client_action_t action);
+char *geoip_get_client_history_bridge(time_t now,
+ geoip_client_action_t action);
+char *geoip_get_request_history(time_t now, geoip_client_action_t action);
+int getinfo_helper_geoip(control_connection_t *control_conn,
+ const char *question, char **answer,
+ const char **errmsg);
+void geoip_free_all(void);
+
+void geoip_start_dirreq(uint64_t dirreq_id, size_t response_size,
+ geoip_client_action_t action, dirreq_type_t type);
+void geoip_change_dirreq_state(uint64_t dirreq_id, dirreq_type_t type,
+ dirreq_state_t new_state);
+
+void geoip_dirreq_stats_init(time_t now);
+void geoip_dirreq_stats_write(time_t now);
+void geoip_entry_stats_init(time_t now);
+void geoip_entry_stats_write(time_t now);
+void geoip_bridge_stats_init(time_t now);
+time_t geoip_bridge_stats_write(time_t now);
+const char *geoip_get_bridge_stats_extrainfo(time_t);
+const char *geoip_get_bridge_stats_controller(time_t);
+
+#endif
+
diff --git a/src/or/main.c b/src/or/main.c
index 521d2c2ca..41385447a 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -13,6 +13,7 @@
#define MAIN_PRIVATE
#include "or.h"
#include "dnsserv.h"
+#include "geoip.h"
#ifdef USE_DMALLOC
#include <dmalloc.h>
#include <openssl/crypto.h>
diff --git a/src/or/or.h b/src/or/or.h
index 10165d493..ecb04d885 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -4103,16 +4103,6 @@ void dump_dns_mem_usage(int severity);
* we are willing to talk about it? */
#define DIR_RECORD_USAGE_MIN_OBSERVATION_TIME (12*60*60)
-#ifdef GEOIP_PRIVATE
-int geoip_parse_entry(const char *line);
-#endif
-int should_record_bridge_info(or_options_t *options);
-int geoip_load_file(const char *filename, or_options_t *options);
-int geoip_get_country_by_ip(uint32_t ipaddr);
-int geoip_get_n_countries(void);
-const char *geoip_get_country_name(country_t num);
-int geoip_is_loaded(void);
-country_t geoip_get_country(const char *countrycode);
/** Indicates an action that we might be noting geoip statistics on.
* Note that if we're noticing CONNECT, we're a bridge, and if we're noticing
* the others, we're not.
@@ -4125,9 +4115,6 @@ typedef enum {
/** We've served a v2 networkstatus consensus as a directory server. */
GEOIP_CLIENT_NETWORKSTATUS_V2 = 2,
} geoip_client_action_t;
-void geoip_note_client_seen(geoip_client_action_t action,
- uint32_t addr, time_t now);
-void geoip_remove_old_clients(time_t cutoff);
/** Indicates either a positive reply or a reason for rejectng a network
* status request that will be included in geoip statistics. */
typedef enum {
@@ -4146,18 +4133,6 @@ typedef enum {
GEOIP_REJECT_BUSY = 5,
} geoip_ns_response_t;
#define GEOIP_NS_RESPONSE_NUM 6
-void geoip_note_ns_response(geoip_client_action_t action,
- geoip_ns_response_t response);
-time_t geoip_get_history_start(void);
-char *geoip_get_client_history_dirreq(time_t now,
- geoip_client_action_t action);
-char *geoip_get_client_history_bridge(time_t now,
- geoip_client_action_t action);
-char *geoip_get_request_history(time_t now, geoip_client_action_t action);
-int getinfo_helper_geoip(control_connection_t *control_conn,
- const char *question, char **answer,
- const char **errmsg);
-void geoip_free_all(void);
/** Directory requests that we are measuring can be either direct or
* tunneled. */
@@ -4188,20 +4163,6 @@ typedef enum {
DIRREQ_OR_CONN_BUFFER_FLUSHED = 4
} dirreq_state_t;
-void geoip_start_dirreq(uint64_t dirreq_id, size_t response_size,
- geoip_client_action_t action, dirreq_type_t type);
-void geoip_change_dirreq_state(uint64_t dirreq_id, dirreq_type_t type,
- dirreq_state_t new_state);
-
-void geoip_dirreq_stats_init(time_t now);
-void geoip_dirreq_stats_write(time_t now);
-void geoip_entry_stats_init(time_t now);
-void geoip_entry_stats_write(time_t now);
-void geoip_bridge_stats_init(time_t now);
-time_t geoip_bridge_stats_write(time_t now);
-const char *geoip_get_bridge_stats_extrainfo(time_t);
-const char *geoip_get_bridge_stats_controller(time_t);
-
/********************************* hibernate.c **********************/
int accounting_parse_options(or_options_t *options, int validate_only);
diff --git a/src/or/relay.c b/src/or/relay.c
index fab2d8896..1c15549d0 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -12,6 +12,7 @@
#include <math.h>
#include "or.h"
+#include "geoip.h"
#include "mempool.h"
static int relay_crypt(circuit_t *circ, cell_t *cell,
diff --git a/src/or/router.c b/src/or/router.c
index d105aeffa..7d239d602 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -7,6 +7,7 @@
#define ROUTER_PRIVATE
#include "or.h"
+#include "geoip.h"
/**
* \file router.c
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 8d403def3..cd5bdcf71 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -12,6 +12,7 @@
**/
#include "or.h"
+#include "geoip.h"
// #define DEBUG_ROUTERLIST
diff --git a/src/test/test.c b/src/test/test.c
index a753db27f..b8b26b3d9 100644
--- a/src/test/test.c
+++ b/src/test/test.c
@@ -43,6 +43,7 @@ long int lround(double x);
double fabs(double x);
#include "or.h"
+#include "geoip.h"
#include "test.h"
#include "torgzip.h"
#include "mempool.h"