Nick Mathewson
99fbbc6c47
Fix a typo in an address_set.c comment.
2018-02-12 11:14:34 -05:00
Nick Mathewson
3fda19ef24
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-12 08:33:48 -05:00
Nick Mathewson
021c3bd587
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-12 08:33:47 -05:00
Nick Mathewson
91109bc813
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-02-12 08:33:47 -05:00
Nick Mathewson
e91bae66d8
Merge branch 'bug23318-redux_029' into maint-0.2.9
2018-02-12 08:33:03 -05:00
Nick Mathewson
1a877693da
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-11 18:11:04 -05:00
Nick Mathewson
98fc8cd937
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-11 18:11:04 -05:00
Nick Mathewson
b2c4d4e7fa
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-02-11 18:11:04 -05:00
Nick Mathewson
84c13336c4
Merge remote-tracking branch 'public/bug24198_029' into maint-0.2.9
2018-02-11 18:10:59 -05:00
Nick Mathewson
2a24ce9656
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-11 18:09:35 -05:00
Nick Mathewson
67043d957f
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-11 18:09:35 -05:00
Nick Mathewson
8939eaf479
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-02-11 18:09:35 -05:00
Nick Mathewson
848ba26c18
Merge branch 'ticket24315_029' into maint-0.2.9
2018-02-11 18:07:37 -05:00
Nick Mathewson
9e81221c96
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-11 17:01:00 -05:00
Nick Mathewson
684d57fe8a
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-11 17:00:52 -05:00
Nick Mathewson
eccef6ba60
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-02-11 16:51:56 -05:00
Nick Mathewson
5dc785ceef
Merge remote-tracking branch 'public/bug21074_029' into maint-0.2.9
2018-02-11 16:51:53 -05:00
Nick Mathewson
cb3c1f2e54
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-10 16:09:01 -05:00
Nick Mathewson
4de20d1754
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-10 16:09:01 -05:00
Nick Mathewson
86583ad78e
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-02-10 16:09:00 -05:00
Nick Mathewson
320dac4602
Merge branch 'bug24978_029_enable' into maint-0.2.9
2018-02-10 16:08:58 -05:00
David Goulet
1a4fc9cddf
test: DoS test to make sure we exclude known relays
...
Part of #25193
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-09 11:31:01 -05:00
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
David Goulet
112638921b
Merge branch 'ticket25183_029_01' into ticket24902_029_05
2018-02-08 16:56:21 -05:00
David Goulet
a445327b80
test: Add unit tests for addressset.c
...
This also adds one that tests the integration with the nodelist.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-08 16:56:05 -05:00
Nick Mathewson
6892d32921
Add an address_set to the nodelist.
...
This set is rebuilt whenever a consensus arrives. In between
consensuses, it is add-only.
2018-02-08 14:40:05 -05:00
Nick Mathewson
0640da4269
Function to add an ipv4 address to an address_set
...
This is a convenience function, so callers don't need to wrap
the IPv4 address.
2018-02-08 14:38:14 -05:00
Nick Mathewson
46bd2aed91
Add an address-set backend using a bloom filter.
...
We're going to need this to make our anti-DoS code (see 24902) more
robust.
2018-02-08 14:38:11 -05:00
Nick Mathewson
67127dca57
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-08 10:29:06 -05:00
Nick Mathewson
84bc75b2e7
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-08 10:29:06 -05:00
Nick Mathewson
04a8e81fa9
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-02-08 10:29:05 -05:00
Nick Mathewson
0ddc2dc531
Merge branch 'maint-0.2.5' into maint-0.2.9
2018-02-08 10:29:05 -05:00
Karsten Loesing
f1278b7e57
Update geoip and geoip6 to the February 7 2018 database.
2018-02-08 10:32:41 +01:00
Nick Mathewson
22a5d3dd2a
remove a redundant semicolon
2018-02-06 08:13:11 -05:00
David Goulet
f08fa97460
geoip: Make geoip_client_cache_total_allocation() return the counter
...
The HT_FOREACH() is insanely heavy on the CPU and this is part of the fast
path so make it return the nice memory size counter we added in
4d812e29b9
.
Fixes #25148
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-05 13:38:55 -05:00
David Goulet
78d6cb5870
dos: We can put less token than the current amount
...
Becasue the circuit creation burst and rate can change at runtime it is
possible that between two refill of a bucket, we end up setting the bucket
value to less than there currently is.
Fixes #25128
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-02 17:04:12 -05:00
Nick Mathewson
3bed8fdb91
Use tt_u64_op() for uint64_t inputs.
2018-02-02 15:23:55 -05:00
David Goulet
475218c108
Merge branch 'ticket25122_029_02' into ticket24902_029_05
2018-02-02 14:55:01 -05:00
David Goulet
e758d659a0
geoip: Add clientmap_entry_new() function
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-02 14:48:41 -05:00
David Goulet
4d812e29b9
geoip: Increment and decrement functions for the geoip client cache
...
These functions protect againts over and underflow. They BUG() in case we
overflow the counter.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-02 14:48:41 -05:00
David Goulet
51839f4765
geoip: Hook the client history cache into the OOM handler
...
If the cache is using 20% of our maximum allowed memory, clean 10% of it. Same
behavior as the HS descriptor cache.
Closes #25122
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-02 14:48:41 -05:00
Nick Mathewson
f5e37b2eb6
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-02 12:03:54 -05:00
Nick Mathewson
4ceae7c6b9
Merge branch 'bug25125_032_01_squashed' into maint-0.3.2
2018-02-02 12:03:48 -05:00
David Goulet
005e228f80
sched: When releasing a channel, do not BUG() if absent from the pending list
...
The current code flow makes it that we can release a channel in a PENDING
state but not in the pending list. This happens while the channel is being
processed in the scheduler loop.
Fixes #25125
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-02 12:03:27 -05:00
Nick Mathewson
90716e3f9c
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-01 16:58:03 -05:00
Nick Mathewson
77634795b0
Merge remote-tracking branch 'dgoulet/bug24700_032_01' into maint-0.3.2
2018-02-01 16:57:57 -05:00
Nick Mathewson
cb5654f300
sched: Use the sched_heap_idx field to double-check our fix for 24700.
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-01 16:00:59 -05:00
Nick Mathewson
1a4876587e
Merge branch 'maint-0.3.2' into release-0.3.2
2018-02-01 15:28:17 -05:00
Nick Mathewson
31542cc306
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-01 15:28:17 -05:00
Nick Mathewson
9cbc40e376
Merge remote-tracking branch 'teor/bug25070_031' into maint-0.3.1
2018-02-01 15:28:11 -05:00