Taylor Yu
f0ed7895ca
fix make check-changes
2018-02-13 15:07:55 -06:00
David Goulet
e7f6314782
Make check-changes happy
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-13 14:56:31 -05:00
David Goulet
9cf8d669fa
man: Document default values if not in the consensus for DoS mitigation
...
Fixes #25236
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-13 14:21:47 -05:00
David Goulet
b60ffc5ce0
Merge remote-tracking branch 'dgoulet/bug25223_029_01' into ticket24902_029_05
2018-02-13 13:11:10 -05:00
David Goulet
305e39d0f8
dos: Add extra safety asserts in cc_stats_refill_bucket()
...
Never allow the function to set a bucket value above the allowed circuit
burst.
Closes #25202
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-13 10:41:21 -05:00
David Goulet
4fe4f8179f
dos: Don't set consensus param if we aren't a public relay
...
We had this safeguard around dos_init() but not when the consensus changes
which can modify consensus parameters and possibly enable the DoS mitigation
even if tor wasn't a public relay.
Fixes #25223
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-13 10:35:41 -05:00
Nick Mathewson
b062730a11
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-13 08:50:59 -05:00
Nick Mathewson
17a923941a
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-02-13 08:50:58 -05:00
David Goulet
e658dad625
dirserv: Improve returned message when relay is rejected
...
Explicitly inform the operator of the rejected relay to set a valid email
address in the ContactInfo field and contact bad-relays@ mailing list.
Fixes #25170
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-13 08:47:42 -05:00
Nick Mathewson
1555946e20
Have tor_addr hashes return a randomized hash for AF_UNSPEC.
...
We don't expect this to come up very much, but we may as well make
sure that the value isn't predictable (as we do for the other
addresses) in case the issue ever comes up.
Spotted by teor.
2018-02-12 11:14:36 -05:00
Nick Mathewson
99fbbc6c47
Fix a typo in an address_set.c comment.
2018-02-12 11:14:34 -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
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
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
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
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
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
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
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
31542cc306
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-02-01 15:28:17 -05:00