tor/src/or
David Goulet 666582a679 dos: Exclude known relays from client connection count
This is to avoid positively identifying Exit relays if tor client connection
comes from them that is reentering the network.

One thing to note is that this is done only in the DoS subsystem but we'll
still add it to the geoip cache as a "client" seen. This is done that way so
to avoid as much as possible changing the current behavior of the geoip client
cache since this is being backported.

Closes #25193

Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-09 11:13:04 -05:00
..
addressmap.c Fix parse_virtual_addr_network minimum network size 2016-10-03 12:18:51 +01:00
addressmap.h Update the copyright year. 2016-02-27 18:48:19 +01:00
buffers.c Fix GCC 7 -Wimplicit-fallthrough warnings 2017-09-11 17:47:04 -04:00
buffers.h Make preferred_chunk_size avoid overflow, handle big inputs better 2016-09-13 09:07:12 -04:00
channel.c test: Add unit tests for the DoS subsystem 2018-01-30 09:18:16 -05:00
channel.h test: Add unit tests for the DoS subsystem 2018-01-30 09:18:16 -05:00
channeltls.c channel_tls_get_remote_addr_method now returns real_addr. 2018-01-31 16:12:13 -05:00
channeltls.h Add -Wmissing-variable-declarations, with attendant fixes 2016-06-11 10:11:54 -04:00
circpathbias.c Replace nearly all XXX0vv comments with smarter ones 2016-05-30 16:18:16 -04:00
circpathbias.h Update the copyright year. 2016-02-27 18:48:19 +01:00
circuitbuild.c Refactor circuit_pick_create_handshake 2016-10-31 17:01:33 +11:00
circuitbuild.h Client & HS ignore UseNTorHandshake, all non-HS handshakes use ntor 2016-08-24 11:02:00 +10:00
circuitlist.c Merge branch 'maint-0.2.8' into maint-0.2.9 2017-10-23 08:53:25 -04:00
circuitlist.h Fix memory leak in TestingEnableCellStatsEvent 2016-03-28 11:12:15 -04:00
circuitmux.c Merge branch 'maint-0.2.8' into maint-0.2.9 2017-12-21 10:43:12 -05:00
circuitmux.h Merge branch 'maint-0.2.5' into maint-0.2.8 2017-12-21 10:43:06 -05:00
circuitmux_ewma.c Module documentation for circuitmux_ewma.c 2016-10-18 11:28:40 -04:00
circuitmux_ewma.h Add -Wmissing-variable-declarations, with attendant fixes 2016-06-11 10:11:54 -04:00
circuitstats.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
circuitstats.h Update the copyright year. 2016-02-27 18:48:19 +01:00
circuituse.c Stop logging single onion and Tor2web long-term one-hop circuits 2016-11-09 11:23:51 +11:00
circuituse.h Update the copyright year. 2016-02-27 18:48:19 +01:00
command.c dos: Apply defense for circuit creation DoS 2018-01-30 09:18:15 -05:00
command.h Update the copyright year. 2016-02-27 18:48:19 +01:00
config.c dos: Make circuit rate limit per second, not tenths anymore 2018-01-30 09:18:16 -05:00
config.h Merge remote-tracking branch 'public/spaces_in_unix_addrs' 2016-10-14 10:21:41 -04:00
confparse.c Log a warning when Testing options are deprecated. 2016-08-19 20:21:04 -04:00
confparse.h Log a warning when Testing options are deprecated. 2016-08-19 20:21:04 -04:00
connection.c dos: Add the connection DoS mitigation subsystem 2018-01-30 09:18:15 -05:00
connection.h Add connection_is_moribund() inline 2016-08-20 03:34:16 +00:00
connection_edge.c Fix GCC 7 -Wimplicit-fallthrough warnings 2017-09-11 17:47:04 -04:00
connection_edge.h Update the copyright year. 2016-02-27 18:48:19 +01:00
connection_or.c Merge branch 'maint-0.2.8' into maint-0.2.9 2017-06-27 11:04:44 -04:00
connection_or.h Unit test for pick_oos_victims() 2016-08-20 01:43:52 +00:00
control.c Fix crashes on empty +HSPOST and +POSTDESCRIPTOR commands 2017-09-07 09:20:00 -04:00
control.h Expose GETINFO download status statics for test suite and make things mockable 2016-06-29 05:55:42 +00:00
cpuworker.c Actually free the worker_state_t object when we do an update with it 2016-10-31 15:20:25 -04:00
cpuworker.h Update the copyright year. 2016-02-27 18:48:19 +01:00
dircollate.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
dircollate.h Merge branch 'maint-0.2.7' 2016-03-21 13:26:04 -04:00
directory.c Stop relays calling directory_fetches_from_authorities on dir downloads 2017-09-13 09:46:17 +10:00
directory.h Do not apply 'max_failures' to random-exponential schedules. 2016-11-06 20:08:11 -05:00
dirserv.c Mark descriptors as undownloadable when dirserv_add_() rejects them 2017-06-27 12:01:46 -04:00
dirserv.h Include protocol versions in votes. 2016-09-26 10:56:51 -07:00
dirvote.c Prevent int underflow in dirvote.c compare_vote_rs_. 2017-02-14 16:31:23 -05:00
dirvote.h Merge branch 'protover_v2_squashed' 2016-09-26 11:00:08 -07:00
dns.c Fix DNS resolution on busy exit relays 2017-11-05 14:36:32 -05:00
dns.h DefecTor countermeasure: change server- and client-side DNS TTL clipping 2017-01-18 08:55:57 -05:00
dns_structs.h Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
dnsserv.c Merge branch 'maint-0.2.5' into maint-0.2.6 2017-02-07 10:37:53 -05:00
dnsserv.h Update the copyright year. 2016-02-27 18:48:19 +01:00
dos.c dos: Exclude known relays from client connection count 2018-02-09 11:13:04 -05:00
dos.h dos: Make sure cc_stats_refill_bucket can't overflow while calculating 2018-01-31 09:27:59 -05:00
entrynodes.c Fix all -Wshadow warnings on Linux 2016-07-28 06:58:44 -04:00
entrynodes.h Expose GETINFO download status statics for test suite and make things mockable 2016-06-29 05:55:42 +00:00
ext_orport.c Module-level docs for ext_orport and router.c 2016-10-18 19:32:49 -04:00
ext_orport.h Update the copyright year. 2016-02-27 18:48:19 +01:00
fallback_dirs.inc Add 7 other fallback dirs from teor's tests 2018-01-08 11:03:44 -05:00
fp_pair.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
fp_pair.h Update the copyright year. 2016-02-27 18:48:19 +01:00
geoip.c geoip: Make geoip_client_cache_total_allocation() return the counter 2018-02-05 13:38:55 -05:00
geoip.h Merge branch 'ticket25122_029_02' into ticket24902_029_05 2018-02-02 14:55:01 -05:00
hibernate.c Merge remote-tracking branch 'public/bug22245_024' into maint-0.2.9 2017-08-01 11:22:42 -04:00
hibernate.h Update the copyright year. 2016-02-27 18:48:19 +01:00
include.am dos: Initial code of Denial of Service mitigation 2018-01-30 09:18:15 -05:00
keypin.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
keypin.h Update the copyright year. 2016-02-27 18:48:19 +01:00
main.c dos: Initial code of Denial of Service mitigation 2018-01-30 09:18:15 -05:00
main.h Merge branch 'maint-0.2.8' into maint-0.2.9 2016-11-03 15:44:46 -04:00
Makefile.nmake Implement scheduler mechanism to track lists of channels wanting cells or writes; doesn't actually drive the cell flow from it yet 2014-09-30 22:48:24 -07:00
microdesc.c Prevents negative number of written bytes on error message. 2016-08-16 17:12:18 +01:00
microdesc.h Add unit tests for networkstatus_consensus_is_bootstrapping 2016-05-19 07:58:41 -04:00
networkstatus.c dos: Initial code of Denial of Service mitigation 2018-01-30 09:18:15 -05:00
networkstatus.h prop264: sometimes check client _and_ server versions. 2016-09-26 10:56:53 -07:00
nodelist.c test: Add unit tests for addressset.c 2018-02-08 16:56:05 -05:00
nodelist.h test: Add unit tests for addressset.c 2018-02-08 16:56:05 -05:00
ntmain.c Merge remote-tracking branch 'public/bug23081_025' into maint-0.2.9 2017-10-23 08:47:52 -04:00
ntmain.h Update the copyright year. 2016-02-27 18:48:19 +01:00
onion.c Merge remote-tracking branch 'public/bug20059_024_v2' into maint-0.2.9 2017-08-01 11:28:36 -04:00
onion.h Update the copyright year. 2016-02-27 18:48:19 +01:00
onion_fast.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
onion_fast.h Update the copyright year. 2016-02-27 18:48:19 +01:00
onion_ntor.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
onion_ntor.h Update the copyright year. 2016-02-27 18:48:19 +01:00
onion_tap.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
onion_tap.h Update the copyright year. 2016-02-27 18:48:19 +01:00
or.h dos: Make circuit rate limit per second, not tenths anymore 2018-01-30 09:18:16 -05:00
periodic.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
periodic.h Update the copyright year. 2016-02-27 18:48:19 +01:00
policies.c Merge remote-tracking branch 'teor/bug24736_028' into maint-0.2.9 2018-01-02 10:09:44 -05:00
policies.h Fix policies.c instance of the "if (r=(a-b)) return r" pattern 2017-02-14 16:31:11 -05:00
protover.c Handle NULL input to protover_compute_for_old_tor() 2017-11-27 15:16:30 -05:00
protover.h Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
reasons.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
reasons.h Update the copyright year. 2016-02-27 18:48:19 +01:00
relay.c geoip: Hook the client history cache into the OOM handler 2018-02-02 14:48:41 -05:00
relay.h Merge branch 'maint-0.2.5' into maint-0.2.8 2017-12-21 10:43:06 -05:00
rendcache.c Merge branch 'maint-0.2.6' into maint-0.2.7-redux 2017-02-07 09:59:12 -05:00
rendcache.h Add -Wmissing-variable-declarations, with attendant fixes 2016-06-11 10:11:54 -04:00
rendclient.c Merge branch 'feature-17178-v7-squashed-v2' 2016-09-13 10:20:08 -04:00
rendclient.h Implement Prop #260: Single Onion Services 2016-09-13 10:10:54 -04:00
rendcommon.c Merge branch 'maint-0.2.5' into maint-0.2.6 2016-12-20 18:11:25 -05:00
rendcommon.h Implement Prop #260: Single Onion Services 2016-09-13 10:10:54 -04:00
rendmid.c dos: Add the DoSRefuseSingleHopClientRendezvous option 2018-01-30 09:18:16 -05:00
rendmid.h Update the copyright year. 2016-02-27 18:48:19 +01:00
rendservice.c hs: Use hs_service_max_rdv_failures consensus param, defaulting to 2 2018-01-19 16:13:54 -05:00
rendservice.h Stop ignoring hidden service key anonymity when first starting tor 2016-12-01 09:44:53 -05:00
rephist.c Merge branch 'maint-0.2.8' into maint-0.2.9 2017-12-11 16:54:14 -05:00
rephist.h Add -Wmissing-variable-declarations, with attendant fixes 2016-06-11 10:11:54 -04:00
replaycache.c Turn replaycache.c module doc into doxygen 2016-10-18 12:31:50 -04:00
replaycache.h Update the copyright year. 2016-02-27 18:48:19 +01:00
router.c Merge branch 'maint-0.2.8' into maint-0.2.9 2017-12-11 16:54:14 -05:00
router.h refactor router_pick_published_address to have another arg 2016-11-16 16:13:03 -05:00
routerkeys.c Fix spurious compiler warning in do_getpass(). 2016-10-11 09:34:08 -04:00
routerkeys.h Update the copyright year. 2016-02-27 18:48:19 +01:00
routerlist.c Merge remote-tracking branch 'public/bug23985_029' into maint-0.2.9 2017-12-11 16:51:54 -05:00
routerlist.h Rename routerstatus_version_supports_ntor to *_supports_extend2_cells 2016-10-31 17:02:21 +11:00
routerparse.c Reject Tor versions that contain non-numeric prefixes 2017-02-19 22:38:06 +11:00
routerparse.h Extract the part of tor_version_as_new_as that extracts platform 2017-02-15 07:46:34 -05:00
routerset.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
routerset.h Update the copyright year. 2016-02-27 18:48:19 +01:00
scheduler.c Merge branch 'bug18902_squashed' 2016-07-28 06:59:03 -04:00
scheduler.h Add -Wmissing-variable-declarations, with attendant fixes 2016-06-11 10:11:54 -04:00
shared_random.c capture and detect expected BUG messages in shared-random tests 2016-09-08 15:13:53 -04:00
shared_random.h Merge remote-tracking branch 'dgoulet/bug19567_029_01' 2016-07-05 12:14:04 -04:00
shared_random_state.c Merge remote-tracking branch 'public/deprecation_v2' 2016-08-19 19:58:51 -04:00
shared_random_state.h Keep make check-spaces happy 2016-07-01 21:52:32 +00:00
statefile.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
statefile.h Update the copyright year. 2016-02-27 18:48:19 +01:00
status.c dos: Add a heartbeat log 2018-01-30 09:18:16 -05:00
status.h Update the copyright year. 2016-02-27 18:48:19 +01:00
tor_main.c Write a bunch of module documentation. 2016-10-17 10:16:59 -04:00
torcert.c Fix all doxygen warnings (other than missing docs) 2016-03-26 09:53:12 -04:00
torcert.h Update the copyright year. 2016-02-27 18:48:19 +01:00
transports.c refactor router_pick_published_address to have another arg 2016-11-16 16:13:03 -05:00
transports.h Update the copyright year. 2016-02-27 18:48:19 +01:00