]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
5 years agoMerge branch 'maint-0.2.9' into release-0.2.9 release-0.2.9
teor [Fri, 20 Dec 2019 00:12:30 +0000 (10:12 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

5 years agochanges: file for 32240 maint-0.2.9
teor [Sun, 15 Dec 2019 23:06:25 +0000 (09:06 +1000)] 
changes: file for 32240

5 years agoTravis: Run Chutney jobs in Ubuntu Bionic images
teor [Sun, 15 Dec 2019 23:03:48 +0000 (09:03 +1000)] 
Travis: Run Chutney jobs in Ubuntu Bionic images

Closes 32240.

5 years agoTravis: Turn off Tor's Sandbox in Chutney jobs
teor [Sun, 15 Dec 2019 23:01:45 +0000 (09:01 +1000)] 
Travis: Turn off Tor's Sandbox in Chutney jobs

We need to set "Sandbox 0", until we fix sandbox errors that are
triggered by Ubuntu Xenial and Bionic. See 32722.

Part of 32240.

5 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Sun, 15 Dec 2019 22:15:46 +0000 (08:15 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

5 years agoMerge remote-tracking branch 'tor-github/pr/1575' into maint-0.2.9
teor [Sun, 15 Dec 2019 22:13:38 +0000 (08:13 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1575' into maint-0.2.9

5 years agoMerge branch 'maint-0.2.9' into release-0.2.9
Nick Mathewson [Fri, 6 Dec 2019 21:02:06 +0000 (16:02 -0500)] 
Merge branch 'maint-0.2.9' into release-0.2.9

5 years agoUpdate geoip and geoip6 to the December 3 2019 database.
Karsten Loesing [Fri, 6 Dec 2019 10:50:35 +0000 (11:50 +0100)] 
Update geoip and geoip6 to the December 3 2019 database.

5 years agochanges: file for 32629
teor [Fri, 6 Dec 2019 00:51:05 +0000 (10:51 +1000)] 
changes: file for 32629

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

5 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.

5 years agoRevert "Travis: Disable all but one macOS build"
teor [Thu, 28 Nov 2019 02:10:10 +0000 (12:10 +1000)] 
Revert "Travis: Disable all but one macOS build"

This reverts commit 511aeba8eeb24a953228e00917f64703059a7673.

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

5 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.

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

5 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

5 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

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

5 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

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

5 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

5 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.

5 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.

5 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Tue, 22 Oct 2019 22:46:57 +0000 (08:46 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

5 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

5 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

5 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Tue, 22 Oct 2019 10:46:08 +0000 (20:46 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

5 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.

5 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Thu, 17 Oct 2019 04:51:44 +0000 (14:51 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

5 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

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

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

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

5 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

5 years agoMerge branch 'maint-0.2.9' into release-0.2.9
Nick Mathewson [Tue, 17 Sep 2019 22:58:28 +0000 (18:58 -0400)] 
Merge branch 'maint-0.2.9' into release-0.2.9

5 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.

5 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

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

5 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>
6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Fri, 9 Aug 2019 21:25:30 +0000 (07:25 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1078' into maint-0.2.9
teor [Fri, 9 Aug 2019 21:21:56 +0000 (07:21 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1078' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1052' into maint-0.2.9
teor [Fri, 9 Aug 2019 21:21:43 +0000 (07:21 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1052' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1229' into maint-0.2.9
teor [Fri, 9 Aug 2019 21:21:31 +0000 (07:21 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1229' into maint-0.2.9

6 years agoModify "Protect buffers against INT_MAX datalen overflows." for 0.2.9
Nick Mathewson [Tue, 9 Apr 2019 17:14:28 +0000 (13:14 -0400)] 
Modify "Protect buffers against INT_MAX datalen overflows." for 0.2.9

6 years agoFix #28525 changes file that is breaking CI.
George Kadianakis [Tue, 12 Mar 2019 18:11:51 +0000 (20:11 +0200)] 
Fix #28525 changes file that is breaking CI.

6 years agoMerge remote-tracking branch 'tor-github/pr/762' into maint-0.2.9
teor [Fri, 9 Aug 2019 03:53:34 +0000 (13:53 +1000)] 
Merge remote-tracking branch 'tor-github/pr/762' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/957' into maint-0.2.9
teor [Fri, 9 Aug 2019 03:50:42 +0000 (13:50 +1000)] 
Merge remote-tracking branch 'tor-github/pr/957' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1221' into combined31343_31374_029
teor [Thu, 8 Aug 2019 23:48:41 +0000 (09:48 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1221' into combined31343_31374_029

6 years agoMerge remote-tracking branch 'tor-github/pr/1209' into combined31343_31374_029
teor [Thu, 8 Aug 2019 23:48:28 +0000 (09:48 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1209' into combined31343_31374_029

6 years agoFix a warning about casting the results of GetProcAddress.
Nick Mathewson [Thu, 8 Aug 2019 15:43:42 +0000 (11:43 -0400)] 
Fix a warning about casting the results of GetProcAddress.

Fixes bug 31374; bugfix on 0.2.9.1-alpha.

6 years agoFix another time_t/long warning for 31343.
Nick Mathewson [Thu, 8 Aug 2019 13:38:03 +0000 (09:38 -0400)] 
Fix another time_t/long warning for 31343.

6 years agoRestore proper behavior of netinfo skew check
Nick Mathewson [Thu, 8 Aug 2019 13:15:42 +0000 (09:15 -0400)] 
Restore proper behavior of netinfo skew check

My previous fix removed a comparison, which would have caused us to
warn about every skew instead of skews of over an hour.

6 years agoHardcode the image into tor-exit-notice.html
rl1987 [Fri, 12 Jul 2019 07:16:55 +0000 (10:16 +0300)] 
Hardcode the image into tor-exit-notice.html

6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Thu, 8 Aug 2019 01:05:01 +0000 (11:05 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/1155' into maint-0.2.9
teor [Thu, 8 Aug 2019 00:55:24 +0000 (10:55 +1000)] 
Merge remote-tracking branch 'tor-github/pr/1155' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/991' into maint-0.2.9
teor [Thu, 8 Aug 2019 00:54:12 +0000 (10:54 +1000)] 
Merge remote-tracking branch 'tor-github/pr/991' into maint-0.2.9

6 years agoAvoid using labs() on time_t in channeltls.c
Nick Mathewson [Tue, 6 Aug 2019 15:11:06 +0000 (11:11 -0400)] 
Avoid using labs() on time_t in channeltls.c

On some windows builds, time_t is 64 bits but long is not.  This is
causing appveyor builds to fail.

Also, one of our uses of labs() on time_t was logically incorrect:
it was telling us to accept NETINFO cells up to three minutes
_before_ the message they were responding to, which doesn't make
sense.

This patch adds a time_abs() function that we should eventually move
to intmath.h or something.  For now, though, it will make merges
easier to have it file-local in channeltls.c.

Fixes bug 31343; bugfix on 0.2.4.4-alpha.

6 years agoChanges file for bug 31001
Nick Mathewson [Fri, 19 Jul 2019 13:21:08 +0000 (09:21 -0400)] 
Changes file for bug 31001

6 years agoPrevent UB on signed overflow.
Tobias Stoeckmann [Mon, 24 Jun 2019 20:08:49 +0000 (22:08 +0200)] 
Prevent UB on signed overflow.

Overflowing a signed integer in C is an undefined behaviour.
It is possible to trigger this undefined behaviour in tor_asprintf on
Windows or systems lacking vasprintf.

On these systems, eiter _vscprintf or vsnprintf is called to retrieve
the required amount of bytes to hold the string. These functions can
return INT_MAX. The easiest way to recreate this is the use of a
specially crafted configuration file, e.g. containing the line:

FirewallPorts AAAAA<in total 2147483610 As>

This line triggers the needed tor_asprintf call which eventually
leads to an INT_MAX return value from _vscprintf or vsnprintf.

The needed byte for \0 is added to the result, triggering the
overflow and therefore the undefined behaviour.

Casting the value to size_t before addition fixes the behaviour.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
Nick Mathewson [Mon, 1 Jul 2019 18:25:12 +0000 (14:25 -0400)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoTravis: remove a redundant os: linux line
teor [Mon, 1 Jul 2019 04:11:25 +0000 (14:11 +1000)] 
Travis: remove a redundant os: linux line

Linux is the first item in the os matrix, so we don't need to specify
it under matrix: include: .

Part of 29280.

6 years agoTravis: show the chutney commit and python version
teor [Mon, 1 Jul 2019 04:10:07 +0000 (14:10 +1000)] 
Travis: show the chutney commit and python version

Part of 29280.

6 years agoTravis: show chutney logs on chutney job failure
teor [Mon, 1 Jul 2019 04:05:26 +0000 (14:05 +1000)] 
Travis: show chutney logs on chutney job failure

Part of 29280.

6 years agochanges: file for 28795
teor [Fri, 28 Jun 2019 11:37:37 +0000 (21:37 +1000)] 
changes: file for 28795

Replace the 157 fallbacks originally introduced in Tor 0.3.5.6-rc
in December 2018 (of which ~122 were still functional), with a
list of 148 fallbacks (70 new, 78 existing, 79 removed) generated
in June 2019.

Closes ticket 28795.

Note that we created extra lists from DE and US, but they didn't add
any more fallbacks when we tried to merge them.

6 years agofallback: apply the second fallback list from 2019
teor [Fri, 28 Jun 2019 11:16:50 +0000 (21:16 +1000)] 
fallback: apply the second fallback list from 2019

Update the fallback directory mirrors by merging the current list with:
fallback_dirs_2019-06-28-08-58-39_AU_f0437a39ddbc8459.inc

Part of 28795, see that ticket for logs.

6 years agofallback: apply the first fallback list from 2019
teor [Fri, 28 Jun 2019 11:04:20 +0000 (21:04 +1000)] 
fallback: apply the first fallback list from 2019

Update the fallback directory mirrors by replacing the old list with:
fallback_dirs_2019-06-25-11-49-10_AU_a37adb956fbb5cd2.inc

Part of 28795, see that ticket for logs.

6 years agoAdd a chutney mode to travis.yml.
Nick Mathewson [Wed, 27 Feb 2019 12:59:39 +0000 (07:59 -0500)] 
Add a chutney mode to travis.yml.

6 years agoTravis: control "make check" with its own flag
Nick Mathewson [Wed, 27 Feb 2019 12:51:52 +0000 (07:51 -0500)] 
Travis: control "make check" with its own flag

Previously we had "make check" launched whenever DISTCHECK was
false.  Now we'd like to turn it off in a few other circumstances,
like running chutney.  Maybe stem too?

6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
Nick Mathewson [Tue, 11 Jun 2019 14:17:17 +0000 (10:17 -0400)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoUpdate geoip and geoip6 to the June 10 2019 database.
Karsten Loesing [Tue, 11 Jun 2019 14:12:50 +0000 (16:12 +0200)] 
Update geoip and geoip6 to the June 10 2019 database.

6 years agodirparse: Stop crashing when parsing unknown descriptor purpose annotations
teor [Wed, 5 Jun 2019 23:12:14 +0000 (09:12 +1000)] 
dirparse: Stop crashing when parsing unknown descriptor purpose annotations

We think this bug can only be triggered by modifying a local file.

Fixes bug 30781; bugfix on 0.2.0.8-alpha.

6 years agoTweak comments in tor_vasprintf(), and add a changes file for 30651
Nick Mathewson [Wed, 29 May 2019 13:38:32 +0000 (09:38 -0400)] 
Tweak comments in tor_vasprintf(), and add a changes file for 30651

6 years agoFixed tor_vasprintf on systems without vasprintf.
Tobias Stoeckmann [Wed, 29 May 2019 13:33:24 +0000 (09:33 -0400)] 
Fixed tor_vasprintf on systems without vasprintf.

If tor is compiled on a system with neither vasprintf nor _vscprintf,
the fallback implementation exposes a logic flaw which prevents
proper usage of strings longer than 127 characters:

* tor_vsnprintf returns -1 if supplied buffer is not large enough,
  but tor_vasprintf uses this function to retrieve required length
* the result of tor_vsnprintf is not properly checked for negative
  return values

Both aspects together could in theory lead to exposure of uninitialized
stack memory in the resulting string. This requires an invalid format
string or data that exceeds integer limitations.

Fortunately tor is not even able to run with this implementation because
it runs into asserts early on during startup. Also the unit tests fail
during a "make check" run.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
  [backported to 0.2.9 by nickm]

6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
Nick Mathewson [Fri, 17 May 2019 12:10:15 +0000 (08:10 -0400)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoUpdate geoip and geoip6 to the May 13 2019 database.
Karsten Loesing [Fri, 17 May 2019 06:52:13 +0000 (08:52 +0200)] 
Update geoip and geoip6 to the May 13 2019 database.

6 years agoAdd changes file
rl1987 [Sun, 21 Apr 2019 18:06:57 +0000 (21:06 +0300)] 
Add changes file

6 years agoTravis: remove sudo configuration
rl1987 [Wed, 24 Apr 2019 10:29:23 +0000 (13:29 +0300)] 
Travis: remove sudo configuration

See: https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration

6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Fri, 19 Apr 2019 01:56:25 +0000 (11:56 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/792' into maint-0.2.9
teor [Fri, 19 Apr 2019 01:42:09 +0000 (11:42 +1000)] 
Merge remote-tracking branch 'tor-github/pr/792' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/772' into maint-0.2.9
teor [Fri, 19 Apr 2019 01:38:52 +0000 (11:38 +1000)] 
Merge remote-tracking branch 'tor-github/pr/772' into maint-0.2.9

6 years agotest/relay: add a missing typedef
teor [Wed, 17 Apr 2019 01:14:05 +0000 (11:14 +1000)] 
test/relay: add a missing typedef

In 0.3.4 and later, these functions are declared in rephist.h:
STATIC uint64_t find_largest_max(bw_array_t *b);
STATIC void commit_max(bw_array_t *b);
STATIC void advance_obs(bw_array_t *b);

But in 0.2.9, they are declared in rephist.c and test_relay.c.

So compilers fail with a "must use 'struct' tag" error.

We add the missing struct typedef in test_relay.c, to match the
declarations in rephist.c.

(Merge commit 813019cc57 moves these functions into rephist.h instead.)

Fixes bug 30184; not in any released version of Tor.

6 years agorephist: fix an undeclared type compilation error
teor [Tue, 16 Apr 2019 05:39:45 +0000 (15:39 +1000)] 
rephist: fix an undeclared type compilation error

In 0.3.4 and later, we declare write_array as:
extern struct bw_array_t *write_array;
...
typedef struct bw_array_t bw_array_t;

But in 0.2.9, we declare write_array as:
typedef struct bw_array_t bw_array_t;
extern bw_array_t *write_array;

And then again in rephist.c:
typedef struct bw_array_t bw_array_t;

So some compilers fail with a duplicate declaration error.

We backport 684b396ce5, which removes the duplicate declaration.
And this commit deals with the undeclared type error.

Backports a single line from merge commit 813019cc57.

Fixes bug 30184; not in any released version of Tor.

6 years agoRemove another needless typedef
Nick Mathewson [Thu, 20 Sep 2018 18:34:44 +0000 (14:34 -0400)] 
Remove another needless typedef

6 years agoChanges file for bug30041
Nick Mathewson [Tue, 9 Apr 2019 16:03:22 +0000 (12:03 -0400)] 
Changes file for bug30041

6 years agoCheck return value of buf_move_to_buf for error.
Tobias Stoeckmann [Sun, 31 Mar 2019 15:33:11 +0000 (17:33 +0200)] 
Check return value of buf_move_to_buf for error.

If the concatenation of connection buffer and the buffer of linked
connection exceeds INT_MAX bytes, then buf_move_to_buf returns -1 as an
error value.

This value is currently casted to size_t (variable n_read) and will
erroneously lead to an increasement of variable "max_to_read".

This in turn can be used to call connection_buf_read_from_socket to
store more data inside the buffer than expected and clogging the
connection buffer.

If the linked connection buffer was able to overflow INT_MAX, the call
of buf_move_to_buf would have previously internally triggered an integer
overflow, corrupting the state of the connection buffer.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
6 years agoProtect buffers against INT_MAX datalen overflows.
Tobias Stoeckmann [Tue, 9 Apr 2019 15:59:20 +0000 (11:59 -0400)] 
Protect buffers against INT_MAX datalen overflows.

Many buffer functions have a hard limit of INT_MAX for datalen, but
this limitation is not enforced in all functions:

- buf_move_all may exceed that limit with too many chunks
- buf_move_to_buf exceeds that limit with invalid buf_flushlen argument
- buf_new_with_data may exceed that limit (unit tests only)

This patch adds some annotations in some buf_pos_t functions to
guarantee that no out of boundary access could occur even if another
function lacks safe guards against datalen overflows.

  [This is a backport of the submitted patch to 0.2.9, where the
  buf_move_to_buf and buf_new_with_data functions did not exist.]

6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Fri, 5 Apr 2019 23:33:06 +0000 (09:33 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/902' into maint-0.2.9
teor [Fri, 5 Apr 2019 23:28:58 +0000 (09:28 +1000)] 
Merge remote-tracking branch 'tor-github/pr/902' into maint-0.2.9

6 years agoMerge remote-tracking branch 'tor-github/pr/877' into maint-0.2.9
teor [Fri, 5 Apr 2019 23:28:13 +0000 (09:28 +1000)] 
Merge remote-tracking branch 'tor-github/pr/877' into maint-0.2.9

6 years agoMakefile: actually, don't delete the gcno files
teor [Fri, 5 Apr 2019 02:56:29 +0000 (12:56 +1000)] 
Makefile: actually, don't delete the gcno files

We need to keep the gcno files, because they are created at compile time.

6 years agoDo not cache bogus results from classifying client ciphers
Nick Mathewson [Thu, 4 Apr 2019 15:24:55 +0000 (11:24 -0400)] 
Do not cache bogus results from classifying client ciphers

When classifying a client's selection of TLS ciphers, if the client
ciphers are not yet available, do not cache the result. Previously,
we had cached the unavailability of the cipher list and never looked
again, which in turn led us to assume that the client only supported
the ancient V1 link protocol.  This, in turn, was causing Stem
integration tests to stall in some cases.  Fixes bug 30021; bugfix
on 0.2.4.8-alpha.

6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
Nick Mathewson [Wed, 3 Apr 2019 13:27:42 +0000 (09:27 -0400)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoUpdate geoip and geoip6 to the April 2 2019 database.
Karsten Loesing [Wed, 3 Apr 2019 07:26:28 +0000 (09:26 +0200)] 
Update geoip and geoip6 to the April 2 2019 database.

6 years agoMerge branch 'maint-0.2.9' into release-0.2.9
teor [Tue, 2 Apr 2019 01:45:08 +0000 (11:45 +1000)] 
Merge branch 'maint-0.2.9' into release-0.2.9

6 years agoMakefile: delete all the gcov-related files in reset-gcov
teor [Mon, 1 Apr 2019 03:49:27 +0000 (13:49 +1000)] 
Makefile: delete all the gcov-related files in reset-gcov

And fix a comment.

See:
https://gcc.gnu.org/onlinedocs/gcc/Gcov-Data-Files.html#Gcov-Data-Files