[or-cvs] [tor/master 03/40] Create geoip.h

nickm at torproject.org nickm at torproject.org
Fri Jul 30 01:56:56 UTC 2010


Author: Sebastian Hahn <sebastian at torproject.org>
Date: Wed, 21 Jul 2010 14:38:52 +0200
Subject: Create geoip.h
Commit: ff4030f6211033be127dd4f671f34b15998b101a

---
 src/or/config.c        |    1 +
 src/or/connection.c    |    1 +
 src/or/connection_or.c |    1 +
 src/or/control.c       |    1 +
 src/or/directory.c     |    2 +
 src/or/geoip.c         |    1 +
 src/or/geoip.h         |   58 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/or/main.c          |    1 +
 src/or/or.h            |   39 --------------------------------
 src/or/relay.c         |    1 +
 src/or/router.c        |    1 +
 src/or/routerlist.c    |    1 +
 src/test/test.c        |    1 +
 13 files changed, 70 insertions(+), 39 deletions(-)
 create mode 100644 src/or/geoip.h

diff --git a/src/or/config.c b/src/or/config.c
index 70a3ee6..89032d6 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 82764ec..e0b1907 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 247cc4e..8e9992c 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 6892166..f01be85 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 52e1c39..90a6fd1 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 248c68e..f027f32 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 0000000..c3a4fbc
--- /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 521d2c2..4138544 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 10165d4..ecb04d8 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 fab2d88..1c15549 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 d105aef..7d239d6 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 8d403de..cd5bdcf 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 a753db2..b8b26b3 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"
-- 
1.7.1




More information about the tor-commits mailing list