]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
6 years agoMerge remote-tracking branch 'tor-github/pr/1277' into maint-0.3.5
teor [Thu, 5 Dec 2019 00:11:18 +0000 (10:11 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1277' into maint-0.3.5

6 years agoTravis: use -std=gnu99 with NSS, and clang with Chutney
teor [Thu, 28 Nov 2019 01:38:48 +0000 (11:38 +1000)] 
Travis: use -std=gnu99 with NSS, and clang with Chutney

NSS:
* test NSS-specific code with -std=gnu99
* use a recent gcc version from the latest Ubuntu image

Chutney:
* use clang, so we keep one clang Linux job
* keep clang on a fast job, so the overall build finishes quickly

Closes ticket 32500 for 0.3.5.

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
teor [Tue, 3 Dec 2019 02:45:41 +0000 (12:45 +1000)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

Merge C_DIALECT_OPTIONS from ticket32500_029 with
other configure options from maint-0.3.5.

6 years agoTravis: use -std=gnu99 in some jobs
teor [Fri, 15 Nov 2019 00:17:32 +0000 (10:17 +1000)] 
Travis: use -std=gnu99 in some jobs

Require C99 standards-conforming code in Travis CI, but allow GNU gcc
extensions. Also activates clang's -Wtypedef-redefinition warnings.

Builds some jobs with -std=gnu99, and some jobs without.

Closes ticket 32500.

6 years agoMerge remote-tracking branch 'tor-github/pr/1464' into maint-0.3.5
teor [Mon, 25 Nov 2019 02:35:11 +0000 (12:35 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1464' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1422' into maint-0.3.5
teor [Mon, 25 Nov 2019 02:34:29 +0000 (12:34 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1422' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1405' into maint-0.3.5
teor [Mon, 25 Nov 2019 02:33:55 +0000 (12:33 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1405' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1395' into maint-0.3.5
teor [Mon, 25 Nov 2019 02:33:14 +0000 (12:33 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1395' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1394' into maint-0.3.5
teor [Mon, 25 Nov 2019 02:29:43 +0000 (12:29 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1394' into maint-0.3.5

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
Nick Mathewson [Mon, 11 Nov 2019 15:14:03 +0000 (10:14 -0500)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agoAppveyor: Install OpenSSL to resolve a header/library mismatch
teor [Mon, 11 Nov 2019 02:56:08 +0000 (12:56 +1000)] 
Appveyor: Install OpenSSL to resolve a header/library mismatch

Install the mingw OpenSSL package in Appveyor. This makes sure that
the OpenSSL headers and libraries match in Tor's Appveyor builds.

(This bug was triggered by an Appveyor image update.)

Fixes bug 32449; bugfix on 0.3.5.6-rc.

6 years agoUpdate geoip and geoip6 to the November 6 2019 database.
Karsten Loesing [Sat, 9 Nov 2019 09:10:19 +0000 (10:10 +0100)] 
Update geoip and geoip6 to the November 6 2019 database.

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
teor [Wed, 6 Nov 2019 01:19:30 +0000 (11:19 +1000)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1354' into maint-0.3.5
teor [Wed, 6 Nov 2019 01:18:09 +0000 (11:18 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1354' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1348' into maint-0.3.5
teor [Wed, 6 Nov 2019 01:17:43 +0000 (11:17 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1348' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1340' into maint-0.3.5
teor [Wed, 6 Nov 2019 01:17:01 +0000 (11:17 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1340' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1343' into maint-0.3.5
teor [Wed, 6 Nov 2019 01:16:09 +0000 (11:16 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1343' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1342' into maint-0.2.9
teor [Wed, 6 Nov 2019 01:15:45 +0000 (11:15 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1342' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1330' into maint-0.2.9
teor [Wed, 6 Nov 2019 01:14:53 +0000 (11:14 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1330' into maint-0.2.9

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
teor [Mon, 28 Oct 2019 22:26:32 +0000 (08:26 +1000)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1460' into maint-0.2.9
teor [Mon, 28 Oct 2019 22:23:35 +0000 (08:23 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1460' into maint-0.2.9

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
teor [Fri, 25 Oct 2019 00:55:51 +0000 (10:55 +1000)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agochanges: file for 31919's bionic Travis image change
teor [Thu, 24 Oct 2019 23:53:11 +0000 (09:53 +1000)] 
changes: file for 31919's bionic Travis image change

6 years agoMerge branch 'ticket31919_bionic_029' into ticket31919_bionic_035
teor [Thu, 24 Oct 2019 23:48:14 +0000 (09:48 +1000)] 
Merge branch 'ticket31919_bionic_029' into ticket31919_bionic_035

6 years agoTravis: Use Ubuntu Bionic, but keep Trusty for chutney
teor [Wed, 23 Oct 2019 12:31:05 +0000 (22:31 +1000)] 
Travis: Use Ubuntu Bionic, but keep Trusty for chutney

Bionic has a recent coccinelle version, which passes our CI tests.

But Bionic (and Xenial) cause permissions errors for chutney.
We'll fix those in 32240.

Part of 31919.

6 years agohs-v3: Remove a BUG() caused by an acceptable race
David Goulet [Wed, 23 Oct 2019 14:20:09 +0000 (10:20 -0400)] 
hs-v3: Remove a BUG() caused by an acceptable race

hs_client_purge_state() and hs_cache_clean_as_client() can remove a descriptor
from the client cache with a NEWNYM or simply when the descriptor expires.

Which means that for an INTRO circuit being established during that time, once
it opens, we lookup the descriptor to get the IP object but hey surprised, no
more descriptor.

The approach here is minimalist that is accept the race and close the circuit
since we can not continue. Before that, the circuit would stay opened and the
client wait the SockTimeout.

Fixers #28970.

Signed-off-by: David Goulet <dgoulet@torproject.org>
6 years agoTravis: Use macOS 10.14 with Xcode 11.2
teor [Wed, 23 Oct 2019 12:41:17 +0000 (22:41 +1000)] 
Travis: Use macOS 10.14 with Xcode 11.2

Closes ticket 32241.

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
teor [Tue, 22 Oct 2019 22:47:01 +0000 (08:47 +1000)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1360' into maint-0.3.5
teor [Tue, 22 Oct 2019 22:32:52 +0000 (08:32 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1360' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1351' into maint-0.2.9
teor [Tue, 22 Oct 2019 22:32:22 +0000 (08:32 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1351' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1284' into maint-0.3.5
teor [Tue, 22 Oct 2019 22:30:48 +0000 (08:30 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1284' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1256' into maint-0.3.5
teor [Tue, 22 Oct 2019 22:28:03 +0000 (08:28 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1256' into maint-0.3.5

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
teor [Tue, 22 Oct 2019 22:24:30 +0000 (08:24 +1000)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

`git merge --strategy ours` to take the 0.3.5 changes for 31001,
and ignore the conflicting 0.2.9 changes.

6 years agoMerge remote-tracking branch 'tor-github/pr/1178' into maint-0.2.9
teor [Tue, 22 Oct 2019 22:20:45 +0000 (08:20 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1178' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1376' into maint-0.3.5
Nick Mathewson [Tue, 22 Oct 2019 16:10:08 +0000 (12:10 -0400)] 
Merge remote-tracking branch 'tor-github/pr/1376' into maint-0.3.5

6 years agoMerge remote-tracking branch 'origin/maint-0.3.5' into maint-0.3.5
teor [Tue, 22 Oct 2019 10:47:44 +0000 (20:47 +1000)] 
Merge remote-tracking branch 'origin/maint-0.3.5' into maint-0.3.5

6 years agoTravis: Disable the Rust macOS build
teor [Tue, 22 Oct 2019 09:38:50 +0000 (19:38 +1000)] 
Travis: Disable the Rust macOS build

This build was added in 0.3.5.

We need to mitigate slow scheduling of Travis macOS jobs.

Closes ticket 32177.

6 years agoMerge branch 'ticket32177_029' into ticket32177_035
teor [Tue, 22 Oct 2019 09:37:32 +0000 (19:37 +1000)] 
Merge branch 'ticket32177_029' into ticket32177_035

Stem from maint-0.3.5, disabled macOS chutney from ticket32177_029.

6 years agoTravis: Disable all but one macOS build
teor [Tue, 22 Oct 2019 09:34:47 +0000 (19:34 +1000)] 
Travis: Disable all but one macOS build

We need to mitigate slow scheduling of Travis macOS jobs.

Closes ticket 32177.

6 years agoAppveyor: Use Windows Server 2019
teor [Sun, 20 Oct 2019 09:39:48 +0000 (19:39 +1000)] 
Appveyor: Use Windows Server 2019

Instead of Windows Server 2016.

Closes ticket 32086.

6 years agotest/rebind: Make control formatting and log parsing more robust
teor [Mon, 5 Aug 2019 15:33:14 +0000 (01:33 +1000)] 
test/rebind: Make control formatting and log parsing more robust

* actually sleep when tor has not logged anything
* log at debug level when waiting for tor to log something
* backslash-replace bad UTF-8 characters in logs
* format control messages as ASCII: tor does not accept UTF-8 control commands

Fixes bug 31837; bugfix on 0.3.5.1-alpha.

6 years agomainloop: Disable periodic events before a destroy
David Goulet [Tue, 15 Oct 2019 17:33:48 +0000 (13:33 -0400)] 
mainloop: Disable periodic events before a destroy

When tearing down all periodic events during shutdown, disable them first so
their enable flag is updated.

This allows the tor_api.h to relaunch tor properly after a clean shutdown.

Fixes #32058

Signed-off-by: David Goulet <dgoulet@torproject.org>
6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
teor [Thu, 17 Oct 2019 04:51:50 +0000 (14:51 +1000)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1370' into maint-0.3.5
teor [Thu, 17 Oct 2019 04:50:28 +0000 (14:50 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1370' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1369' into maint-0.2.9
teor [Thu, 17 Oct 2019 04:49:52 +0000 (14:49 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1369' into maint-0.2.9

6 years agoStop libevent from reading data from closed connections.
George Kadianakis [Mon, 30 Sep 2019 15:29:00 +0000 (18:29 +0300)] 
Stop libevent from reading data from closed connections.

Code adapted from Rob's proposed patch in #30344.

Also add a comment in connection_mark_for_close_internal_() on why we should
not be adding extra code there without a very good reason.

6 years agohs-v3: Make service pick the exact amount of intro points
David Goulet [Thu, 29 Aug 2019 14:46:24 +0000 (10:46 -0400)] 
hs-v3: Make service pick the exact amount of intro points

When encoding introduction points, we were not checking if that intro points
had an established circuit.

When botting up, the service will pick, by default, 3 + 2 intro points and the
first 3 that establish, we use them and upload the descriptor.

However, the intro point is removed from the service descriptor list only when
the circuit has opened and we see that we have already enough intro points, it
is then removed.

But it is possible that the service establishes 3 intro points successfully
before the other(s) have even opened yet.

This lead to the service encoding extra intro points in the descriptor even
though the circuit is not opened or might never establish (#31561).

Fixes #31548

Signed-off-by: David Goulet <dgoulet@torproject.org>
6 years agotls: Log TLS read buffer length bugs once
teor [Fri, 4 Oct 2019 02:33:34 +0000 (12:33 +1000)] 
tls: Log TLS read buffer length bugs once

Rather than filling the logs with similar warnings.

Fixes bug 31939; bugfix on 0.3.0.4-rc.

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
Nick Mathewson [Wed, 2 Oct 2019 12:01:33 +0000 (08:01 -0400)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agoUpdate geoip and geoip6 to the October 1 2019 database.
Karsten Loesing [Wed, 2 Oct 2019 09:11:27 +0000 (11:11 +0200)] 
Update geoip and geoip6 to the October 1 2019 database.

6 years agoTravis: Keep the macOS Rust job, but don't wait for it to finish
teor [Tue, 1 Oct 2019 07:32:46 +0000 (17:32 +1000)] 
Travis: Keep the macOS Rust job, but don't wait for it to finish

Since Rust on macOS is slow, don't wait for the macOS Rust job to finish.
Instead, split rust into slow rust (macOS) and fast rust (Linux). And
allow the build to finish before slow rust finishes.

Also make sure that we have:
* a Rust build on each platform,
* a Rust build with each compiler, and
* a check on all our Rust builds.

Finally, sort builds: allow fail last, macOS first, slowest first.

Closes 31859 for 0.3.5.

6 years agoTravis: Split jobs, add essential jobs, remove redundant jobs
teor [Tue, 1 Oct 2019 07:28:26 +0000 (17:28 +1000)] 
Travis: Split jobs, add essential jobs, remove redundant jobs

Part of 31859 for 0.3.5.

6 years agoMerge branch 'bug31859_029' into bug31859_035
teor [Tue, 1 Oct 2019 07:20:16 +0000 (17:20 +1000)] 
Merge branch 'bug31859_029' into bug31859_035

While merging:
* leave out some redundant jobs and build matrix entries

6 years agoTravis: Add a macOS chutney job, but don't wait for it to finish
teor [Thu, 26 Sep 2019 07:44:41 +0000 (17:44 +1000)] 
Travis: Add a macOS chutney job, but don't wait for it to finish

Since Travis macOS has IPv6 support (and Travis Linux does not), chutney
will now run its IPv6 networks as part of Travis CI.

But since chutney is slow, don't wait for the macOS chutney to finish.
(Travis have fixed the duplicate notification bug in fast_finish. So we
can use fast_finish and allow_failure to finish early. Unfortunately,
allow_failure also means we ignore failures in macOS chutney.)

Also make sure that we have:
* a compile on each platform, with each compiler,
* a check on each platform, and
* a check on each compiler.

Finally, sort builds: allow fail last, macOS first, slowest first.

Closes ticket 30860.
Closes ticket 31859 for 0.2.9.

6 years agoTravis: Remove a redundant clang Linux job
teor [Thu, 26 Sep 2019 07:39:46 +0000 (17:39 +1000)] 
Travis: Remove a redundant clang Linux job

Part of 31859.

6 years agoAppveyor: Avoid spurious errors in Appveyor CI builds
teor [Mon, 30 Sep 2019 05:14:21 +0000 (15:14 +1000)] 
Appveyor: Avoid spurious errors in Appveyor CI builds

When Appveyor fails before the install step, some of the finish step's
functions were not defined.

Fixes bug 31884; bugfix on 0.3.4.2-alpha.

6 years agoTravis: Unroll the build matrix into matrix: include:
teor [Thu, 26 Sep 2019 07:25:17 +0000 (17:25 +1000)] 
Travis: Unroll the build matrix into matrix: include:

The jobs should be the same, but Travis may display them differently.

Part of 31859.

6 years agoMerge branch 'ticket31372_029' into ticket31372_035
Nick Mathewson [Tue, 24 Sep 2019 12:01:43 +0000 (08:01 -0400)] 
Merge branch 'ticket31372_029' into ticket31372_035

6 years agochanges: use correct bugfix release, and reword changes file for 31408
teor [Mon, 23 Sep 2019 01:11:50 +0000 (11:11 +1000)] 
changes: use correct bugfix release, and reword changes file for 31408

6 years agoTry using make -k in the Appveyor configuration
Nick Mathewson [Mon, 23 Sep 2019 19:04:54 +0000 (15:04 -0400)] 
Try using make -k in the Appveyor configuration

Frequently, when a patch fails, it has failures in several files.
Using the "-k" flag will let us learn all the compilation errors,
not just the first one that the compiler hits.

Based on a patch by rl1987.

Closes ticket 31372.

6 years agoTry using make -k in Travis configuration
Nick Mathewson [Mon, 23 Sep 2019 19:04:54 +0000 (15:04 -0400)] 
Try using make -k in Travis configuration

Frequently, when a patch fails, it has failures in several files.
Using the "-k" flag will let us learn all the compilation errors,
not just the first one that the compiler hits.

Based on a patch by rl1987.

6 years agoFix bug when %including folder with comment only files. #31408
Daniel Pinto [Sun, 22 Sep 2019 21:30:48 +0000 (22:30 +0100)] 
Fix bug when %including folder with comment only files. #31408

When processing a %included folder, a bug caused the pointer to
the last element of the options list to be set to NULL when
processing a file with only comments or whitepace. This could
cause options from other files on the same folder to be
discarded depending on the lines after the affected %include.

6 years agoMerge branch 'bug31466_029' into bug31466_035_tmp
Nick Mathewson [Wed, 18 Sep 2019 19:42:40 +0000 (15:42 -0400)] 
Merge branch 'bug31466_029' into bug31466_035_tmp

6 years agoAdd a rate-limit to our warning about the disabled .exit notation
Nick Mathewson [Wed, 18 Sep 2019 19:38:33 +0000 (15:38 -0400)] 
Add a rate-limit to our warning about the disabled .exit notation

This warning would previously be given every time we tried to open a
connection to a foo.exit address, which could potentially be used to
flood the logs.  Now, we don't allow this warning to appear more
than once every 15 minutes.

Fixes bug 31466; bugfix on 0.2.2.1-alpha, when .exit was first
deprecated.

6 years agoAvoid a crash if our "current" and "old" ntor onion keys are equal
Nick Mathewson [Wed, 18 Sep 2019 15:14:45 +0000 (11:14 -0400)] 
Avoid a crash if our "current" and "old" ntor onion keys are equal

Our dimap code asserts if you try to add the same key twice; this
can't happen if everything is running smoothly, but it's possible if
you try to start a relay where secret_onion_key_ntor is the same as
secret_onion_key_ntor.old.

Fixes bug 30916; bugfix on 0.2.4.8-alpha when ntor keys were
introduced.

6 years agoExtract expressions in construct_ntor_key_map()
Nick Mathewson [Wed, 18 Sep 2019 15:11:05 +0000 (11:11 -0400)] 
Extract expressions in construct_ntor_key_map()

No behavioral change here: this is just refactoring.

6 years agoMerge remote-tracking branch 'tor-github/pr/1300' into maint-0.3.5
Nick Mathewson [Wed, 18 Sep 2019 01:28:29 +0000 (21:28 -0400)] 
Merge remote-tracking branch 'tor-github/pr/1300' into maint-0.3.5

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
Nick Mathewson [Wed, 18 Sep 2019 01:26:31 +0000 (21:26 -0400)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1216' into maint-0.2.9
Nick Mathewson [Wed, 18 Sep 2019 01:26:17 +0000 (21:26 -0400)] 
Merge remote-tracking branch 'tor-github/pr/1216' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1307' into maint-0.3.5
Nick Mathewson [Tue, 17 Sep 2019 22:58:06 +0000 (18:58 -0400)] 
Merge remote-tracking branch 'tor-github/pr/1307' into maint-0.3.5

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
Nick Mathewson [Tue, 17 Sep 2019 22:57:49 +0000 (18:57 -0400)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

"ours" merge to avoid picking up 0.2.9 version of ticket 31673.

6 years agoTreat an unexpected constant-sized VERSIONS cell as a PROTOCOL_WARN.
Nick Mathewson [Tue, 17 Sep 2019 13:09:36 +0000 (09:09 -0400)] 
Treat an unexpected constant-sized VERSIONS cell as a PROTOCOL_WARN.

We previously used tor_fragile_assert() to declare that this case
could not happen: VERSIONS cells are always supposed to be
variable-sized, right?

This is incorrect, though.  On a v1 link protocol connection, all
cells are fixed-sized.  There aren't supposed to be any VERSIONS
cells with this version of the protocol, but apparently, somebody
was messing up.  (The v1 link protocol is obsolete, so probably the
implementer responsible didn't mean to be using it.)

Fixes bug 31107.  Bugfix on 0.2.4.4-alpha, when we introduced a
tor_fragile_assert() for this case.

6 years agopf: when extracting an IPv6 address, make sure we got an IPv6 address
Nick Mathewson [Tue, 10 Sep 2019 15:07:25 +0000 (11:07 -0400)] 
pf: when extracting an IPv6 address, make sure we got an IPv6 address

Our code assumes that when we're configured to get IPv6 addresses
out of a TRANS_PF transparent proxy connection, we actually will.
But we didn't check that, and so FreeBSD started warning us about a
potential NULL pointer dereference.

Fixes part of bug 31687; bugfix on 0.2.3.4-alpha when this code was
added.

6 years agofp.c: Suppress float-conversion warnings on FreeBSD.
Nick Mathewson [Tue, 10 Sep 2019 14:53:39 +0000 (10:53 -0400)] 
fp.c: Suppress float-conversion warnings on FreeBSD.

We used to do this on Windows only, but it appears to affect
multiple platforms when building with certain versions of GCC, and a
common pattern for defining the floating-point classifier functions.

Fixes part of 31687. I'm calling this a bugfux on 31687, when we
started suppressing these warnings on Windows.

6 years agobuild: The <sys/sysctl.h> is now deprecated on Linux
David Goulet [Mon, 9 Sep 2019 15:55:33 +0000 (11:55 -0400)] 
build: The <sys/sysctl.h> is now deprecated on Linux

Closes #31673

6 years agobuild: The <sys/sysctl.h> is now deprecated on Linux
David Goulet [Mon, 9 Sep 2019 15:47:37 +0000 (11:47 -0400)] 
build: The <sys/sysctl.h> is now deprecated on Linux

Closes #31673

6 years agoentrynodes: Make routine descriptor expiry notice logs less alarming
teor [Fri, 6 Sep 2019 06:23:58 +0000 (16:23 +1000)] 
entrynodes: Make routine descriptor expiry notice logs less alarming

When tor is missing descriptors for some primary entry guards, make the
log message less alarming. It's normal for descriptors to expire, as long
as tor fetches new ones soon after.

Fixes bug 31657; bugfix on 0.3.3.1-alpha.

6 years agoMerge remote-tracking branch 'tor-github/pr/1271' into maint-0.3.5
teor [Thu, 5 Sep 2019 04:47:34 +0000 (14:47 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1271' into maint-0.3.5

6 years agobacktrace: Check the return values of snprintf() and strncpy()
teor [Tue, 3 Sep 2019 05:50:37 +0000 (15:50 +1000)] 
backtrace: Check the return values of snprintf() and strncpy()

We can't use strlcat() or strlcpy() in torerr, because they are defined
in string/compat_string.h on some platforms, and string uses torerr.

Part of 31571.

6 years agoChange loglevel of message 'Hash of session info was not as expected'
rl1987 [Sat, 20 Jul 2019 15:28:07 +0000 (18:28 +0300)] 
Change loglevel of message 'Hash of session info was not as expected'

6 years agoMerge remote-tracking branch 'tor-github/pr/1181' into maint-0.3.5
teor [Fri, 30 Aug 2019 13:24:05 +0000 (23:24 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1181' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1117' into maint-0.3.5
teor [Fri, 30 Aug 2019 13:22:18 +0000 (23:22 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1117' into maint-0.3.5

6 years agoMerge remote-tracking branch 'tor-github/pr/1114' into maint-0.3.5
teor [Fri, 30 Aug 2019 13:20:59 +0000 (23:20 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1114' into maint-0.3.5

6 years agotorerr: Try harder to flush raw assert messages before process termination
teor [Fri, 30 Aug 2019 11:17:56 +0000 (21:17 +1000)] 
torerr: Try harder to flush raw assert messages before process termination

Some platforms (macOS, maybe others?) can swallow the last write before an
abort. This issue is probably caused by a race condition between write
buffer cache flushing, and process termination. So we write an extra
newline, to make sure that the message always gets through.

Fixes bug 31571; bugfix on 0.3.5.1-alpha.

6 years agotorerr: Log the Tor backtrace version when a raw assertion fails
teor [Fri, 30 Aug 2019 11:17:07 +0000 (21:17 +1000)] 
torerr: Log the Tor backtrace version when a raw assertion fails

Part of 31571.

6 years agobacktrace: Log the Tor backtrace version whenever we log a backtrace
teor [Fri, 30 Aug 2019 11:15:54 +0000 (21:15 +1000)] 
backtrace: Log the Tor backtrace version whenever we log a backtrace

Previously, we just logged it in the crash handler.

Part of 31571.

6 years agobacktrace: Always set a backtrace Tor version
teor [Fri, 30 Aug 2019 11:12:52 +0000 (21:12 +1000)] 
backtrace: Always set a backtrace Tor version

We want to report the tor version, even on platforms that don't have
backtrace support (like Android).

This commit stores the backtrace Tor version, regardless of USE_BACKTRACE.

Preparation for 31571.

6 years agotest: Change "make test-stem" so it only runs the stem tests that use tor
teor [Thu, 29 Aug 2019 11:56:16 +0000 (21:56 +1000)] 
test: Change "make test-stem" so it only runs the stem tests that use tor

This change makes test-stem faster and more reliable.

Use "make test-stem-full" to run all of stem's tests.

Closes ticket 31554.

6 years agochanges: file for 23507, v3 onion service fix
teor [Fri, 23 Aug 2019 06:25:33 +0000 (16:25 +1000)] 
changes: file for 23507, v3 onion service fix

6 years agohs: v3 single onion services fall back to 3-hop intro for unreachable nodes
teor [Fri, 23 Aug 2019 06:17:47 +0000 (16:17 +1000)] 
hs: v3 single onion services fall back to 3-hop intro for unreachable nodes

Previously, v3 single onion services failed when all intro nodes were
unreachable via a 1-hop path. Now, we select intros that are only available
via a 3-hop path, and use a 3-hop path to connect to them.

Fixes bug 23507; bugfix on 0.3.2.1-alpha.

6 years agochanges: file for 23818, v3 onion service fix
teor [Fri, 23 Aug 2019 05:10:45 +0000 (15:10 +1000)] 
changes: file for 23818, v3 onion service fix

6 years agohs: Always use a 3-hop path when a v3 single onion intro fails
teor [Fri, 23 Aug 2019 04:56:01 +0000 (14:56 +1000)] 
hs: Always use a 3-hop path when a v3 single onion intro fails

Previously, we always used a 1-hop path, no matter how many times a v3
single onion intro failed.

Fixes bug 23818; bugfix on 0.3.2.1-alpha.

6 years agohs: Always use a 3-hop path when a v3 single onion rend fails
teor [Fri, 23 Aug 2019 04:41:24 +0000 (14:41 +1000)] 
hs: Always use a 3-hop path when a v3 single onion rend fails

Previously, we used a 1-hop path when a single onion rend failed
immediately, and a 3-hop path when it failed after trying to build
a circuit.

Fixes bug 23818; bugfix on 0.3.2.1-alpha.

6 years agoMerge branch 'bug23818_029' into bug23818_035
teor [Fri, 23 Aug 2019 05:09:19 +0000 (15:09 +1000)] 
Merge branch 'bug23818_029' into bug23818_035

6 years agochanges: file for 23818, v2 onion service fix
teor [Fri, 23 Aug 2019 05:08:43 +0000 (15:08 +1000)] 
changes: file for 23818, v2 onion service fix

6 years agorendservice: Always use a 3-hop path when a v2 single onion intro fails
teor [Fri, 23 Aug 2019 04:54:15 +0000 (14:54 +1000)] 
rendservice: Always use a 3-hop path when a v2 single onion intro fails

Previously, we always used a 1-hop path, no matter how many times a v2
single onion intro failed.

Fixes bug 23818; bugfix on 0.2.9.3-alpha.

6 years agorendservice: Always use a 3-hop path when a v2 single onion rend fails
teor [Fri, 23 Aug 2019 04:38:54 +0000 (14:38 +1000)] 
rendservice: Always use a 3-hop path when a v2 single onion rend fails

Previously, we used a 1-hop path when a single onion rend failed
immediately, and a 3-hop path when it failed after trying to build
a circuit.

Fixes bug 23818; bugfix on 0.2.9.3-alpha.

6 years agoFix gcc build exclude on travis
Sebastian Hahn [Tue, 20 Aug 2019 03:03:58 +0000 (05:03 +0200)] 
Fix gcc build exclude on travis

The main build doesn't use HARDENING_OPTIONS, so the exclude shouldn't,
either. Reduces the number of builders by one.

6 years agoMerge branch 'maint-0.2.9' into maint-0.3.5
Nick Mathewson [Mon, 19 Aug 2019 14:37:21 +0000 (10:37 -0400)] 
Merge branch 'maint-0.2.9' into maint-0.3.5

6 years agodirauth: Change dizum IP address
David Goulet [Thu, 15 Aug 2019 12:16:53 +0000 (08:16 -0400)] 
dirauth: Change dizum IP address

New IP address from 194.109.206.212 to 45.66.33.45.

Signed request from Alex de Joode, operator of dizum:
https://trac.torproject.org/projects/tor/ticket/31406

Published descriptor by dizum on August 12th, 2019:

--
r dizum fqbq1v2DCDxTj0QDi7+gd1h911U GZmZtCLaPDQNxkhIFj8UcgTRAuA 2019-08-12 15:28:40 45.66.33.45 443 80
s Authority Fast Running Stable V2Dir Valid
v Tor 0.4.0.5
pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2 Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2 Padding=1
w Bandwidth=20 Unmeasured=1
p reject 1-65535
--

Finally, confirmed by DNS:

  $ dig +short tor.dizum.com
  45.66.33.45

Closes #31406

Signed-off-by: David Goulet <dgoulet@torproject.org>