]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
7 years agoMerge branch 'maint-0.2.5' into maint-0.2.9
Nick Mathewson [Tue, 13 Mar 2018 14:58:02 +0000 (10:58 -0400)] 
Merge branch 'maint-0.2.5' into maint-0.2.9

7 years agoUpdate geoip and geoip6 to the March 8 2018 database.
Karsten Loesing [Mon, 12 Mar 2018 13:47:06 +0000 (14:47 +0100)] 
Update geoip and geoip6 to the March 8 2018 database.

7 years agoBump version to 0.2.9.15-dev
Nick Mathewson [Sat, 3 Mar 2018 16:32:16 +0000 (11:32 -0500)] 
Bump version to 0.2.9.15-dev

7 years agoversion bump to 0.2.9.15
Nick Mathewson [Thu, 1 Mar 2018 21:42:17 +0000 (16:42 -0500)] 
version bump to 0.2.9.15

7 years agoProtover tests: disable some obsoleted tests
Nick Mathewson [Thu, 15 Feb 2018 23:56:29 +0000 (18:56 -0500)] 
Protover tests: disable some obsoleted tests

These were meant to demonstrate old behavior, or old rust behavior.

One of them _should_ work in Rust, but won't because of
implementation details.  We'll fix that up later.

7 years agoSpec conformance on protover: always reject ranges where lo>hi
Nick Mathewson [Thu, 15 Feb 2018 15:49:47 +0000 (10:49 -0500)] 
Spec conformance on protover: always reject ranges where lo>hi

7 years agoForbid UINT32_MAX as a protocol version
Nick Mathewson [Thu, 15 Feb 2018 14:05:55 +0000 (09:05 -0500)] 
Forbid UINT32_MAX as a protocol version

The C code and the rust code had different separate integer overflow
bugs here.  That suggests that we're better off just forbidding this
pathological case.

Also, add tests for expected behavior on receiving a bad protocol
list in a consensus.

Fixes another part of 25249.

7 years agoForbid "-0" as a protocol version.
Nick Mathewson [Thu, 15 Feb 2018 13:46:13 +0000 (08:46 -0500)] 
Forbid "-0" as a protocol version.

Fixes part of 24249; bugfix on 0.2.9.4-alpha.

7 years agoAdd more of Teor's protover tests.
Nick Mathewson [Wed, 14 Feb 2018 16:56:03 +0000 (11:56 -0500)] 
Add more of Teor's protover tests.

These are as Teor wrote them; I've disabled the ones that don't pass
yet, with XXXX comments.

7 years agoAdd some protover vote round-trip tests from Teor.
Nick Mathewson [Wed, 14 Feb 2018 16:47:05 +0000 (11:47 -0500)] 
Add some protover vote round-trip tests from Teor.

I've refactored these to be a separate function, to avoid tricky
merge conflicts.

Some of these are disabled with "XXXX" comments; they should get
fixed moving forward.

7 years agoAdd another NULL-pointer fix for protover.c.
Nick Mathewson [Wed, 14 Feb 2018 15:45:57 +0000 (10:45 -0500)] 
Add another NULL-pointer fix for protover.c.

This one can only be exploited if you can generate a correctly
signed consensus, so it's not as bad as 25074.

Fixes bug 25251; also tracked as TROVE-2018-004.

7 years agoCorrectly handle NULL returns from parse_protocol_list when voting.
Nick Mathewson [Thu, 1 Feb 2018 21:33:52 +0000 (16:33 -0500)] 
Correctly handle NULL returns from parse_protocol_list when voting.

In some cases we had checked for it, but in others we had not.  One
of these cases could have been used to remotely cause
denial-of-service against directory authorities while they attempted
to vote.

Fixes TROVE-2018-001.

7 years agoMerge remote-tracking branch 'dgoulet/ticket24902_029_05' into maint-0.2.9
Nick Mathewson [Fri, 16 Feb 2018 14:41:06 +0000 (09:41 -0500)] 
Merge remote-tracking branch 'dgoulet/ticket24902_029_05' into maint-0.2.9

7 years agostop calling channel_mark_client in response to a create_fast
Roger Dingledine [Wed, 31 Jan 2018 08:21:27 +0000 (03:21 -0500)] 
stop calling channel_mark_client in response to a create_fast

since all it does is produce false positives

this commit should get merged into 0.2.9 and 0.3.0 *and* 0.3.1, even
though the code in the previous commit is already present in 0.3.1. sorry
for the mess.

7 years agobackport to make channel_is_client() accurate
Roger Dingledine [Tue, 30 Jan 2018 23:05:39 +0000 (18:05 -0500)] 
backport to make channel_is_client() accurate

This commit takes a piece of commit af8cadf3a9 and a piece of commit
46fe353f25, with the goal of making channel_is_client() be based on what
sort of connection handshake the other side used, rather than seeing
whether the other side ever sent a create_fast cell to us.

7 years agofix make check-changes
Taylor Yu [Tue, 13 Feb 2018 21:06:04 +0000 (15:06 -0600)] 
fix make check-changes

7 years agoMake check-changes happy
David Goulet [Tue, 13 Feb 2018 19:56:31 +0000 (14:56 -0500)] 
Make check-changes happy

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agoman: Document default values if not in the consensus for DoS mitigation
David Goulet [Tue, 13 Feb 2018 15:53:47 +0000 (10:53 -0500)] 
man: Document default values if not in the consensus for DoS mitigation

Fixes #25236

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agoMerge remote-tracking branch 'dgoulet/bug25223_029_01' into ticket24902_029_05
David Goulet [Tue, 13 Feb 2018 18:11:10 +0000 (13:11 -0500)] 
Merge remote-tracking branch 'dgoulet/bug25223_029_01' into ticket24902_029_05

7 years agodos: Add extra safety asserts in cc_stats_refill_bucket()
David Goulet [Tue, 13 Feb 2018 15:41:21 +0000 (10:41 -0500)] 
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>
7 years agodos: Don't set consensus param if we aren't a public relay
David Goulet [Tue, 13 Feb 2018 15:29:41 +0000 (10:29 -0500)] 
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>
7 years agodirserv: Improve returned message when relay is rejected
David Goulet [Thu, 8 Feb 2018 14:42:26 +0000 (09:42 -0500)] 
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>
7 years agoHave tor_addr hashes return a randomized hash for AF_UNSPEC.
Nick Mathewson [Mon, 12 Feb 2018 16:08:33 +0000 (11:08 -0500)] 
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.

7 years agoFix a typo in an address_set.c comment.
Nick Mathewson [Mon, 12 Feb 2018 15:59:46 +0000 (10:59 -0500)] 
Fix a typo in an address_set.c comment.

7 years agoMerge branch 'bug23318-redux_029' into maint-0.2.9
Nick Mathewson [Mon, 12 Feb 2018 13:33:03 +0000 (08:33 -0500)] 
Merge branch 'bug23318-redux_029' into maint-0.2.9

7 years agoMerge remote-tracking branch 'public/bug24198_029' into maint-0.2.9
Nick Mathewson [Sun, 11 Feb 2018 23:10:59 +0000 (18:10 -0500)] 
Merge remote-tracking branch 'public/bug24198_029' into maint-0.2.9

7 years agoMerge branch 'ticket24315_029' into maint-0.2.9
Nick Mathewson [Sun, 11 Feb 2018 23:07:37 +0000 (18:07 -0500)] 
Merge branch 'ticket24315_029' into maint-0.2.9

7 years agoMerge remote-tracking branch 'public/bug21074_029' into maint-0.2.9
Nick Mathewson [Sun, 11 Feb 2018 21:51:53 +0000 (16:51 -0500)] 
Merge remote-tracking branch 'public/bug21074_029' into maint-0.2.9

7 years agoMerge branch 'bug24978_029_enable' into maint-0.2.9
Nick Mathewson [Sat, 10 Feb 2018 21:08:58 +0000 (16:08 -0500)] 
Merge branch 'bug24978_029_enable' into maint-0.2.9

7 years agotest: DoS test to make sure we exclude known relays
David Goulet [Fri, 9 Feb 2018 16:31:01 +0000 (11:31 -0500)] 
test: DoS test to make sure we exclude known relays

Part of #25193

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Exclude known relays from client connection count
David Goulet [Fri, 9 Feb 2018 16:11:41 +0000 (11:11 -0500)] 
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>
7 years agoMerge branch 'ticket25183_029_01' into ticket24902_029_05
David Goulet [Thu, 8 Feb 2018 21:56:21 +0000 (16:56 -0500)] 
Merge branch 'ticket25183_029_01' into ticket24902_029_05

7 years agotest: Add unit tests for addressset.c
David Goulet [Thu, 8 Feb 2018 19:35:22 +0000 (14:35 -0500)] 
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>
7 years agoAdd an address_set to the nodelist.
Nick Mathewson [Thu, 8 Feb 2018 17:14:42 +0000 (12:14 -0500)] 
Add an address_set to the nodelist.

This set is rebuilt whenever a consensus arrives.  In between
consensuses, it is add-only.

7 years agoFunction to add an ipv4 address to an address_set
Nick Mathewson [Thu, 8 Feb 2018 17:13:56 +0000 (12:13 -0500)] 
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.

7 years agoAdd an address-set backend using a bloom filter.
Nick Mathewson [Wed, 7 Feb 2018 14:49:35 +0000 (09:49 -0500)] 
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.

7 years agoMerge branch 'maint-0.2.5' into maint-0.2.9
Nick Mathewson [Thu, 8 Feb 2018 15:29:05 +0000 (10:29 -0500)] 
Merge branch 'maint-0.2.5' into maint-0.2.9

7 years agoUpdate geoip and geoip6 to the February 7 2018 database.
Karsten Loesing [Thu, 8 Feb 2018 09:32:41 +0000 (10:32 +0100)] 
Update geoip and geoip6 to the February 7 2018 database.

7 years agoremove a redundant semicolon
Nick Mathewson [Tue, 30 Jan 2018 23:11:16 +0000 (18:11 -0500)] 
remove a redundant semicolon

7 years agogeoip: Make geoip_client_cache_total_allocation() return the counter
David Goulet [Mon, 5 Feb 2018 15:39:10 +0000 (10:39 -0500)] 
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
4d812e29b9b1ec88.

Fixes #25148

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: We can put less token than the current amount
David Goulet [Fri, 2 Feb 2018 22:04:12 +0000 (17:04 -0500)] 
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>
7 years agoUse tt_u64_op() for uint64_t inputs.
Nick Mathewson [Fri, 2 Feb 2018 20:23:55 +0000 (15:23 -0500)] 
Use tt_u64_op() for uint64_t inputs.

7 years agoMerge branch 'ticket25122_029_02' into ticket24902_029_05
David Goulet [Fri, 2 Feb 2018 19:55:01 +0000 (14:55 -0500)] 
Merge branch 'ticket25122_029_02' into ticket24902_029_05

7 years agogeoip: Add clientmap_entry_new() function
David Goulet [Fri, 2 Feb 2018 18:24:37 +0000 (13:24 -0500)] 
geoip: Add clientmap_entry_new() function

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agogeoip: Increment and decrement functions for the geoip client cache
David Goulet [Fri, 2 Feb 2018 18:14:50 +0000 (13:14 -0500)] 
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>
7 years agogeoip: Hook the client history cache into the OOM handler
David Goulet [Fri, 2 Feb 2018 15:15:28 +0000 (10:15 -0500)] 
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>
7 years agochannel_tls_get_remote_addr_method now returns real_addr.
Fernando Fernandez Mancera [Mon, 22 Jan 2018 14:20:17 +0000 (15:20 +0100)] 
channel_tls_get_remote_addr_method now returns real_addr.

The accurate address of a connection is real_addr, not the addr member.
channel_tls_get_remote_addr_method() now returns real_addr instead.

Fixes #24952; bugfix on 707c1e2 in 0.2.4.11-alpha.

Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
7 years agotest: Add unit tests for overflows and underflows in cc_stats_refill_bucket
teor [Wed, 31 Jan 2018 00:22:20 +0000 (11:22 +1100)] 
test: Add unit tests for overflows and underflows in cc_stats_refill_bucket

Closes #25094.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Make sure cc_stats_refill_bucket can't overflow while calculating
teor [Wed, 31 Jan 2018 00:13:17 +0000 (11:13 +1100)] 
dos: Make sure cc_stats_refill_bucket can't overflow while calculating

Debug log the elapsed time in cc_stats_refill_bucket

Part of #25094.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agotest: Remove a redundant round from test_dos_bucket_refill
teor [Wed, 31 Jan 2018 00:11:08 +0000 (11:11 +1100)] 
test: Remove a redundant round from test_dos_bucket_refill

This round is left over from the tenths of a second code.

Part of #25094.

7 years agodos: Add changes file for ticket 24902
David Goulet [Tue, 30 Jan 2018 14:15:33 +0000 (09:15 -0500)] 
dos: Add changes file for ticket 24902

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Make circuit rate limit per second, not tenths anymore
David Goulet [Mon, 29 Jan 2018 16:50:11 +0000 (11:50 -0500)] 
dos: Make circuit rate limit per second, not tenths anymore

Because this touches too many commits at once, it is made into one single
commit.

Remove the use of "tenths" for the circuit rate to simplify things. We can
only refill the buckets at best once every second because of the use of
approx_time() and our token system is set to be 1 token = 1 circuit so make
the rate a flat integer of circuit per second.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Man page entry for DoS mitigation
David Goulet [Fri, 26 Jan 2018 14:00:17 +0000 (09:00 -0500)] 
dos: Man page entry for DoS mitigation

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agotest: Add unit tests for the DoS subsystem
George Kadianakis [Thu, 25 Jan 2018 21:38:59 +0000 (16:38 -0500)] 
test: Add unit tests for the DoS subsystem

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Clear connection tracked flag if geoip entry is removed
David Goulet [Thu, 25 Jan 2018 14:44:21 +0000 (09:44 -0500)] 
dos: Clear connection tracked flag if geoip entry is removed

Imagine this scenario. We had 10 connections over the 24h lifetime of a geoip
cache entry. The lifetime of the entry has been reached so it is about to get
freed but 2 connections remain for it. After the free, a third connection
comes in thus making us create a new geoip entry for that address matching the
2 previous ones that are still alive. If they end up being closed, we'll have
a concurrent count desynch from what the reality is.

To mitigate this probably very rare scenario in practice, when we free a geoip
entry and it has a concurrent count above 0, we'll go over all connections
matching the address and clear out the tracked flag. So once they are closed,
we don't try to decrement the count.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Add a heartbeat log
David Goulet [Thu, 25 Jan 2018 21:36:05 +0000 (16:36 -0500)] 
dos: Add a heartbeat log

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Add the DoSRefuseSingleHopClientRendezvous option
David Goulet [Thu, 25 Jan 2018 21:32:28 +0000 (16:32 -0500)] 
dos: Add the DoSRefuseSingleHopClientRendezvous option

This option refuses any ESTABLISH_RENDEZVOUS cell arriving from a client
connection. Its default value is "auto" for which we can turn it on or off
with a consensus parameter. Default value is 0.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Add the connection DoS mitigation subsystem
David Goulet [Thu, 25 Jan 2018 21:28:54 +0000 (16:28 -0500)] 
dos: Add the connection DoS mitigation subsystem

Defend against an address that has reached the concurrent connection count
threshold.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Apply defense for circuit creation DoS
David Goulet [Thu, 25 Jan 2018 21:20:52 +0000 (16:20 -0500)] 
dos: Apply defense for circuit creation DoS

If the client address was detected as malicious, apply a defense which is at
this commit to return a DESTROY cell.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Detect circuit creation denial of service
David Goulet [Thu, 25 Jan 2018 21:14:40 +0000 (16:14 -0500)] 
dos: Detect circuit creation denial of service

Add a function that notifies the DoS subsystem that a new CREATE cell has
arrived. The statistics are updated accordingly and the IP address can also be
marked as malicious if it is above threshold.

At this commit, no defense is applied, just detection with a circuit creation
token bucket system.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Track new and closed OR client connections
David Goulet [Thu, 25 Jan 2018 21:05:59 +0000 (16:05 -0500)] 
dos: Track new and closed OR client connections

Implement a basic connection tracking that counts the number of concurrent
connections when they open and close.

This commit also adds the circuit creation mitigation data structure that will
be needed at later commit to keep track of the circuit rate.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agogeoip: Remember client stats if DoS mitigation is enabled
David Goulet [Fri, 19 Jan 2018 18:15:07 +0000 (13:15 -0500)] 
geoip: Remember client stats if DoS mitigation is enabled

Make the geoip cache track client address if the DoS subsystem is enabled.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agodos: Initial code of Denial of Service mitigation
David Goulet [Thu, 25 Jan 2018 20:54:58 +0000 (15:54 -0500)] 
dos: Initial code of Denial of Service mitigation

This commit introduces the src/or/dos.{c|h} files that contains the code for
the Denial of Service mitigation subsystem. It currently contains basic
functions to initialize and free the subsystem. They are used at this commit.

The torrc options and consensus parameters are defined at this commit and
getters are implemented.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agogeoip: Add a lookup function for client map entry
David Goulet [Thu, 25 Jan 2018 20:44:48 +0000 (15:44 -0500)] 
geoip: Add a lookup function for client map entry

The upcoming DoS mitigation subsytem needs to keep information on a per-IP
basis which is also what the geoip clientmap does.

For another subsystem to access that clientmap, this commit adds a lookup
function that returns the entry. For this, the clientmap_entry_t had to be
moved to the header file.

Signed-off-by: David Goulet <dgoulet@torproject.org>
7 years agoMake Tor support TLS1.3 ciphers with OpenSSL 1.1.1
Nick Mathewson [Tue, 23 Jan 2018 14:23:21 +0000 (09:23 -0500)] 
Make Tor support TLS1.3 ciphers with OpenSSL 1.1.1

Without this patch, not only will TLS1.3 not work with Tor, but
OpenSSL 1.1.1 with TLS1.3 enabled won't build any connections at
all: It requires that either TLS1.3 be disabled, or some TLS1.3
ciphersuites be listed.

Closes ticket 24978.

7 years agoMerge remote-tracking branch 'dgoulet/bug24895_029_02' into maint-0.2.9
Nick Mathewson [Fri, 19 Jan 2018 21:29:15 +0000 (16:29 -0500)] 
Merge remote-tracking branch 'dgoulet/bug24895_029_02' into maint-0.2.9

7 years agohs: Use hs_service_max_rdv_failures consensus param, defaulting to 2
Roger Dingledine [Fri, 19 Jan 2018 08:00:43 +0000 (03:00 -0500)] 
hs: Use hs_service_max_rdv_failures consensus param, defaulting to 2

7 years agoMerge branch 'maint-0.2.5' into maint-0.2.9
Nick Mathewson [Fri, 19 Jan 2018 15:16:47 +0000 (10:16 -0500)] 
Merge branch 'maint-0.2.5' into maint-0.2.9

7 years agoturn MAX_REND_FAILURES into a function
Roger Dingledine [Fri, 19 Jan 2018 07:38:07 +0000 (02:38 -0500)] 
turn MAX_REND_FAILURES into a function

no actual changes in behavior

7 years agoMAX_REND_FAILURES is 1, but we would try three times
Roger Dingledine [Mon, 15 Jan 2018 21:30:55 +0000 (16:30 -0500)] 
MAX_REND_FAILURES is 1, but we would try three times

Fix an "off by 2" error in counting rendezvous failures on the onion
service side.

While we thought we would stop the rendezvous attempt after one failed
circuit, we were actually making three circuit attempts before giving up.

Fixes bug 24895; bugfix on 0.0.6.

7 years agoWork around Travis CI ptrace regression
Taylor Yu [Wed, 10 Jan 2018 20:52:04 +0000 (14:52 -0600)] 
Work around Travis CI ptrace regression

Travis CI deployed a change that disables ptrace capabilities in
container builds, which prevents LeakSanitizer on clang from working
properly.  Set "sudo: required" to force non-container builds for
clang and work around this.

7 years agoAdd a cast to avoid a signed/unsigned comparison
Nick Mathewson [Wed, 17 Jan 2018 14:06:32 +0000 (09:06 -0500)] 
Add a cast to avoid a signed/unsigned comparison

7 years agoAdd changes file for new fallback directory list.
Nick Mathewson [Mon, 8 Jan 2018 16:09:08 +0000 (11:09 -0500)] 
Add changes file for new fallback directory list.

7 years agoAdd 7 other fallback dirs from teor's tests
Nick Mathewson [Mon, 8 Jan 2018 16:03:44 +0000 (11:03 -0500)] 
Add 7 other fallback dirs from teor's tests

These are from "fallback_dirs_2018_01_06_2323_UTC_44aa1adf35_AU.inc"

7 years agoUpdate the fallback_dirs.inc file: part 1
Nick Mathewson [Mon, 8 Jan 2018 15:57:06 +0000 (10:57 -0500)] 
Update the fallback_dirs.inc file: part 1

This takes the updated fallback_dirs_2018_01_06_CA.inc from
pastly's scan.

7 years agoMerge branch 'maint-0.2.5' into maint-0.2.9
Nick Mathewson [Mon, 8 Jan 2018 14:34:56 +0000 (09:34 -0500)] 
Merge branch 'maint-0.2.5' into maint-0.2.9

7 years agoUpdate geoip and geoip6 to the January 5 2018 database.
Karsten Loesing [Mon, 8 Jan 2018 10:36:38 +0000 (11:36 +0100)] 
Update geoip and geoip6 to the January 5 2018 database.

7 years agoMerge branch 'teor_ticket24681_028' into maint-0.2.9
Nick Mathewson [Fri, 5 Jan 2018 21:41:31 +0000 (16:41 -0500)] 
Merge branch 'teor_ticket24681_028' into maint-0.2.9

7 years agofix a wide line
Nick Mathewson [Fri, 5 Jan 2018 16:28:23 +0000 (11:28 -0500)] 
fix a wide line

7 years agoDon't treat a setrlimit failure as fatal.
Nick Mathewson [Thu, 4 Jan 2018 18:20:37 +0000 (13:20 -0500)] 
Don't treat a setrlimit failure as fatal.

Fixes bug 21074; bugfix on 4689243242e2e12 in 0.0.9rc5 when we
started doing setrlimit() in the first place.

7 years agoMerge branch 'bug24633_029' into maint-0.2.9
Nick Mathewson [Wed, 3 Jan 2018 13:59:52 +0000 (08:59 -0500)] 
Merge branch 'bug24633_029' into maint-0.2.9

7 years agoMerge remote-tracking branch 'teor/bug24736_028' into maint-0.2.9
Nick Mathewson [Tue, 2 Jan 2018 15:09:44 +0000 (10:09 -0500)] 
Merge remote-tracking branch 'teor/bug24736_028' into maint-0.2.9

7 years agoClear the address when we can't choose a reachable address
teor [Sun, 24 Dec 2017 14:53:14 +0000 (01:53 +1100)] 
Clear the address when we can't choose a reachable address

When the fascist_firewall_choose_address_ functions don't find a
reachable address, set the returned address to the null address and port.

This is a precautionary measure, because some callers do not check the
return value.

Fixes bug 24736; bugfix on 0.2.8.2-alpha.

7 years agoMake the default DirAuthorityFallbackRate 0.1
teor [Fri, 22 Dec 2017 13:00:18 +0000 (00:00 +1100)] 
Make the default DirAuthorityFallbackRate 0.1

This makes clients on the public tor network prefer to bootstrap off fallback
directory mirrors.

This is a follow-up to 24679, which removed weights from the default fallbacks.

Implements ticket 24681.

7 years agoUse monotime_coarse_absolute_msec() in destroy queue
Nick Mathewson [Thu, 21 Dec 2017 15:48:37 +0000 (10:48 -0500)] 
Use monotime_coarse_absolute_msec() in destroy queue

This way it will match the insert queue in 029 and later.

7 years agoMerge branch 'maint-0.2.8' into maint-0.2.9
Nick Mathewson [Thu, 21 Dec 2017 15:43:12 +0000 (10:43 -0500)] 
Merge branch 'maint-0.2.8' into maint-0.2.9

7 years agoMerge branch 'maint-0.2.5' into maint-0.2.8 maint-0.2.8
Nick Mathewson [Thu, 21 Dec 2017 15:43:06 +0000 (10:43 -0500)] 
Merge branch 'maint-0.2.5' into maint-0.2.8

7 years agoMerge branch 'bug24666_squashed_025' into maint-0.2.5
Nick Mathewson [Thu, 21 Dec 2017 15:40:10 +0000 (10:40 -0500)] 
Merge branch 'bug24666_squashed_025' into maint-0.2.5

7 years agoMove free to end of test function so coverity won't complain.
Nick Mathewson [Thu, 21 Dec 2017 15:39:29 +0000 (10:39 -0500)] 
Move free to end of test function so coverity won't complain.

7 years agoMove destroy cells into a separate queue type of their own, to save RAM
Nick Mathewson [Tue, 19 Dec 2017 18:53:52 +0000 (13:53 -0500)] 
Move destroy cells into a separate queue type of their own, to save RAM

We've been seeing problems with destroy cells queues taking up a
huge amount of RAM.  We can mitigate this, since while a full packed
destroy cell takes 514 bytes, we only need 5 bytes to remember a
circuit ID and a reason.

Fixes bug 24666. Bugfix on 0.2.5.1-alpha, when destroy cell queues
were introduced.

7 years agoMerge branch 'maint-0.2.8' into maint-0.2.9
Nick Mathewson [Wed, 20 Dec 2017 17:15:23 +0000 (12:15 -0500)] 
Merge branch 'maint-0.2.8' into maint-0.2.9

7 years agoMerge branch 'maint-0.2.5' into maint-0.2.8
Nick Mathewson [Wed, 20 Dec 2017 17:15:23 +0000 (12:15 -0500)] 
Merge branch 'maint-0.2.5' into maint-0.2.8

7 years agoUpdate geoip and geoip6 to the December 6 2017 database.
Karsten Loesing [Wed, 20 Dec 2017 16:36:29 +0000 (17:36 +0100)] 
Update geoip and geoip6 to the December 6 2017 database.

7 years agoFix the clz32 and clz64 settings on MSVC.
Nick Mathewson [Wed, 20 Dec 2017 14:34:25 +0000 (09:34 -0500)] 
Fix the clz32 and clz64 settings on MSVC.

Fixes bug 24633; bugfix on 0.2.9.1-alpha.

7 years agoMerge branch 'maint-0.2.8' into maint-0.2.9
Nick Mathewson [Mon, 11 Dec 2017 21:56:31 +0000 (16:56 -0500)] 
Merge branch 'maint-0.2.8' into maint-0.2.9

7 years agoMerge branch 'maint-0.2.5' into maint-0.2.8
Nick Mathewson [Mon, 11 Dec 2017 21:56:31 +0000 (16:56 -0500)] 
Merge branch 'maint-0.2.5' into maint-0.2.8

7 years agoMerge branch 'bug24167_025' into maint-0.2.5
Nick Mathewson [Mon, 11 Dec 2017 21:56:28 +0000 (16:56 -0500)] 
Merge branch 'bug24167_025' into maint-0.2.5

7 years agoMerge branch 'maint-0.2.8' into maint-0.2.9
Nick Mathewson [Mon, 11 Dec 2017 21:54:14 +0000 (16:54 -0500)] 
Merge branch 'maint-0.2.8' into maint-0.2.9

7 years agoMerge branch 'maint-0.2.5' into maint-0.2.8
Nick Mathewson [Mon, 11 Dec 2017 21:54:11 +0000 (16:54 -0500)] 
Merge branch 'maint-0.2.5' into maint-0.2.8

7 years agoMerge remote-tracking branch 'public/ticket23856_025_01' into maint-0.2.5
Nick Mathewson [Mon, 11 Dec 2017 21:53:02 +0000 (16:53 -0500)] 
Merge remote-tracking branch 'public/ticket23856_025_01' into maint-0.2.5