Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Mike Perry
Tor
Commits
ff4030f6
Commit
ff4030f6
authored
Jul 21, 2010
by
Sebastian Hahn
Browse files
Create geoip.h
parent
e69dc22f
Changes
13
Hide whitespace changes
Inline
Side-by-side
src/or/config.c
View file @
ff4030f6
...
...
@@ -12,6 +12,7 @@
#define CONFIG_PRIVATE
#include
"or.h"
#include
"geoip.h"
#ifdef MS_WINDOWS
#include
<shlobj.h>
#endif
...
...
src/or/connection.c
View file @
ff4030f6
...
...
@@ -12,6 +12,7 @@
#include
"or.h"
#include
"dnsserv.h"
#include
"geoip.h"
static
connection_t
*
connection_create_listener
(
struct
sockaddr
*
listensockaddr
,
...
...
src/or/connection_or.c
View file @
ff4030f6
...
...
@@ -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
);
...
...
src/or/control.c
View file @
ff4030f6
...
...
@@ -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. */
...
...
src/or/directory.c
View file @
ff4030f6
...
...
@@ -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>
...
...
src/or/geoip.c
View file @
ff4030f6
...
...
@@ -11,6 +11,7 @@
#include
"or.h"
#include
"ht.h"
#include
"dnsserv.h"
#include
"geoip.h"
static
void
clear_geoip_db
(
void
);
...
...
src/or/geoip.h
0 → 100644
View file @
ff4030f6
/* 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
src/or/main.c
View file @
ff4030f6
...
...
@@ -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>
...
...
src/or/or.h
View file @
ff4030f6
...
...
@@ -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
);
...
...
src/or/relay.c
View file @
ff4030f6
...
...
@@ -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
,
...
...
src/or/router.c
View file @
ff4030f6
...
...
@@ -7,6 +7,7 @@
#define ROUTER_PRIVATE
#include
"or.h"
#include
"geoip.h"
/**
* \file router.c
...
...
src/or/routerlist.c
View file @
ff4030f6
...
...
@@ -12,6 +12,7 @@
**/
#include
"or.h"
#include
"geoip.h"
// #define DEBUG_ROUTERLIST
...
...
src/test/test.c
View file @
ff4030f6
...
...
@@ -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"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment