]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
5 years agoMerge branch 'ticket40081_035' into ticket40081_044
Nick Mathewson [Mon, 3 Aug 2020 15:49:09 +0000 (11:49 -0400)] 
Merge branch 'ticket40081_035' into ticket40081_044

Resolves conflicts:
src/core/or/channel.c
        src/test/test_channel.c

5 years agoRemove channel_is_canonical_is_reliable()
Nick Mathewson [Mon, 3 Aug 2020 15:25:37 +0000 (11:25 -0400)] 
Remove channel_is_canonical_is_reliable()

This function once served to let circuits continue to be built over
version-1 link connections.  But such connections are long-obsolete,
and it's time to remove this check.

Closes #40081.

5 years agoMerge remote-tracking branch 'tor-gitlab/mr/79' into maint-0.4.4
George Kadianakis [Mon, 3 Aug 2020 13:48:52 +0000 (16:48 +0300)] 
Merge remote-tracking branch 'tor-gitlab/mr/79' into maint-0.4.4

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Alexander Færøy [Fri, 31 Jul 2020 02:03:35 +0000 (02:03 +0000)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Alexander Færøy [Fri, 31 Jul 2020 02:03:34 +0000 (02:03 +0000)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Alexander Færøy [Fri, 31 Jul 2020 02:03:34 +0000 (02:03 +0000)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoMerge branch 'bug40076_043' into bug40076_044
Nick Mathewson [Thu, 30 Jul 2020 18:28:11 +0000 (14:28 -0400)] 
Merge branch 'bug40076_043' into bug40076_044

5 years agoMerge branch 'bug40076_042' into bug40076_043
Nick Mathewson [Thu, 30 Jul 2020 18:27:29 +0000 (14:27 -0400)] 
Merge branch 'bug40076_042' into bug40076_043

5 years agoMerge branch 'maint-0.4.2' into bug40076_042
Nick Mathewson [Thu, 30 Jul 2020 18:27:29 +0000 (14:27 -0400)] 
Merge branch 'maint-0.4.2' into bug40076_042

5 years agoFix a bug in buf_move_all() when the input buffer is empty.
Nick Mathewson [Thu, 30 Jul 2020 18:24:25 +0000 (14:24 -0400)] 
Fix a bug in buf_move_all() when the input buffer is empty.

We found this in #40076, after we started using buf_move_all() in
more places.  Fixes bug #40076; bugfix on 0.3.3.1-alpha.  As far as
I know, the crash only affects master, but I think this warrants a
backport, "just in case".

5 years agoAdd unit test for buf_move_all(), including a failing case
Nick Mathewson [Thu, 30 Jul 2020 18:19:32 +0000 (14:19 -0400)] 
Add unit test for buf_move_all(), including a failing case

The failing case is #if'd out for now, but will be fixed in the next
commit.

Testing for a fix for #40076.

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Nick Mathewson [Wed, 29 Jul 2020 16:37:08 +0000 (12:37 -0400)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Nick Mathewson [Wed, 29 Jul 2020 16:37:07 +0000 (12:37 -0400)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Nick Mathewson [Wed, 29 Jul 2020 16:37:07 +0000 (12:37 -0400)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoAdd a changes file from mr 86 for 40072 fix.
Nick Mathewson [Wed, 29 Jul 2020 16:36:56 +0000 (12:36 -0400)] 
Add a changes file from mr 86 for 40072 fix.

5 years agoMerge remote-tracking branch 'tor-gitlab/mr/68' into maint-0.4.4
Nick Mathewson [Wed, 29 Jul 2020 16:35:57 +0000 (12:35 -0400)] 
Merge remote-tracking branch 'tor-gitlab/mr/68' into maint-0.4.4

5 years agoMerge remote-tracking branch 'tor-gitlab/mr/85' into maint-0.4.4
Alexander Færøy [Wed, 29 Jul 2020 13:57:47 +0000 (13:57 +0000)] 
Merge remote-tracking branch 'tor-gitlab/mr/85' into maint-0.4.4

5 years agoFix startup crash with seccomp sandbox enabled #40072
Daniel Pinto [Tue, 28 Jul 2020 23:34:08 +0000 (00:34 +0100)] 
Fix startup crash with seccomp sandbox enabled #40072

Fix crash introduced in #40020. On startup, tor calls
check_private_dir on the data and key directories. This function
uses open instead of opendir on the received directory. Data and
key directoryes are only opened here, so the seccomp rule added
should be for open instead of opendir, despite the fact that they
are directories.

5 years agoUse _lseeki64() on windows.
Nick Mathewson [Tue, 28 Jul 2020 15:30:47 +0000 (11:30 -0400)] 
Use _lseeki64() on windows.

Fixes bug 31036; bugfix on 0.2.1.8-alpha when we moved the logging
system to use posix fds.

5 years agobump to 0.4.4.3-alpha-dev
Nick Mathewson [Mon, 27 Jul 2020 23:15:15 +0000 (19:15 -0400)] 
bump to 0.4.4.3-alpha-dev

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Nick Mathewson [Mon, 27 Jul 2020 16:56:19 +0000 (12:56 -0400)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Nick Mathewson [Mon, 27 Jul 2020 16:56:18 +0000 (12:56 -0400)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Nick Mathewson [Mon, 27 Jul 2020 16:56:18 +0000 (12:56 -0400)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoBump to 0.4.4.3-alpha
Nick Mathewson [Mon, 27 Jul 2020 12:32:56 +0000 (08:32 -0400)] 
Bump to 0.4.4.3-alpha

5 years agofallbackdir: Remove all three Digitalcourage3 relays
David Goulet [Fri, 24 Jul 2020 18:56:05 +0000 (14:56 -0400)] 
fallbackdir: Remove all three Digitalcourage3 relays

They are about to be shutdown in September.

Signed-off-by: David Goulet <dgoulet@torproject.org>
5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Nick Mathewson [Thu, 23 Jul 2020 14:09:14 +0000 (10:09 -0400)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Nick Mathewson [Thu, 23 Jul 2020 14:09:14 +0000 (10:09 -0400)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Nick Mathewson [Thu, 23 Jul 2020 14:09:14 +0000 (10:09 -0400)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMore info in the fallbackdir changes file
Nick Mathewson [Thu, 23 Jul 2020 14:08:42 +0000 (10:08 -0400)] 
More info in the fallbackdir changes file

5 years agofallbackdir: Update list for 2020
David Goulet [Thu, 23 Jul 2020 13:51:45 +0000 (09:51 -0400)] 
fallbackdir: Update list for 2020

Closes #40061

Signed-off-by: David Goulet <dgoulet@torproject.org>
5 years agoMerge branch 'tor-gitlab/mr/77' into maint-0.4.4
David Goulet [Wed, 22 Jul 2020 20:14:11 +0000 (16:14 -0400)] 
Merge branch 'tor-gitlab/mr/77' into maint-0.4.4

5 years agoTreat all extorport connections with un-set addresses as remote
Nick Mathewson [Wed, 22 Jul 2020 19:20:41 +0000 (15:20 -0400)] 
Treat all extorport connections with un-set addresses as remote

Without this fix, if an PT forgets to send a USERADDR command, that
results in a connection getting treated as local for the purposes of
rate-limiting.

If the PT _does_ use USERADDR, we still believe it.

Closes ticket 33747.

5 years agoAdjust the rules for warning about too many connections.
Nick Mathewson [Wed, 22 Jul 2020 18:45:03 +0000 (14:45 -0400)] 
Adjust the rules for warning about too many connections.

Previously we tolerated up to 1.5 connections for every relay we
were connected to, and didn't warn if we had fewer than 5
connections total.

Now we tolerate up to 1.5 connections per relay, and up to 4
connections per authority, and we don't warn at all when we have
fewer than 25 connections total.

Fixes bug 33880, which seems to have been provoked by our #17592
change in 0.3.5.

5 years agoMerge remote-tracking branch 'tor-gitlab/mr/68' into maint-0.4.4
Nick Mathewson [Tue, 21 Jul 2020 13:29:03 +0000 (09:29 -0400)] 
Merge remote-tracking branch 'tor-gitlab/mr/68' into maint-0.4.4

5 years agoMerge remote-tracking branch 'tor-gitlab/mr/67' into maint-0.4.4
Nick Mathewson [Tue, 21 Jul 2020 13:24:15 +0000 (09:24 -0400)] 
Merge remote-tracking branch 'tor-gitlab/mr/67' into maint-0.4.4

5 years agoFix seccomp sandbox rules for openat #27315
Daniel Pinto [Wed, 1 Jul 2020 19:30:04 +0000 (20:30 +0100)] 
Fix seccomp sandbox rules for openat #27315

The need for casting negative syscall arguments depends on the
glibc version. This affects the rules for the openat syscall which
uses the constant AT_FDCWD that is defined as a negative number.
This commit adds logic to only apply the cast when necessary, on
glibc versions from 2.27 onwards.

5 years agoFix seccomp sandbox rules for opening directories #40020
Daniel Pinto [Wed, 1 Jul 2020 22:51:39 +0000 (23:51 +0100)] 
Fix seccomp sandbox rules for opening directories #40020

Different versions of glibc use either open or openat for the
opendir function. This commit adds logic to use the correct rule
for each glibc version, namely:
- Until 2.14 open is used
- From 2.15 to to 2.21 openat is used
- From 2.22 to 2.26 open is used
- From 2.27 onwards openat is used

5 years agoFix seccomp sandbox rules for openat #27315
Daniel Pinto [Wed, 1 Jul 2020 19:30:04 +0000 (20:30 +0100)] 
Fix seccomp sandbox rules for openat #27315

The need for casting negative syscall arguments depends on the
glibc version. This affects the rules for the openat syscall which
uses the constant AT_FDCWD that is defined as a negative number.
This commit adds logic to only apply the cast when necessary, on
glibc versions from 2.27 onwards.

5 years agoUse gitlab-friendly URLs when formatting changelogs as HTML
Nick Mathewson [Fri, 17 Jul 2020 13:31:32 +0000 (09:31 -0400)] 
Use gitlab-friendly URLs when formatting changelogs as HTML

Our old https://bugs.torproject.org/nnnn URLs only work for bugs
numbered before 40000.  Newer gitlab bugs need to have specific
projects mentioned.

This patch assumes that bugs are in tpo/core/tor by default, but
allows us to refer to several other projects by saying
e.g. "chutney#40002" if we want.

5 years agoMerge remote-tracking branch 'tor-gitlab/merge-requests/43' into maint-0.4.4
Alexander Færøy [Tue, 14 Jul 2020 14:47:48 +0000 (14:47 +0000)] 
Merge remote-tracking branch 'tor-gitlab/merge-requests/43' into maint-0.4.4

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Mon, 13 Jul 2020 19:03:34 +0000 (15:03 -0400)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoChanges file for ticket 31812.
Nick Mathewson [Mon, 13 Jul 2020 14:42:41 +0000 (10:42 -0400)] 
Changes file for ticket 31812.

5 years agoBug 31812: Change http URL's to https
JeremyRand [Fri, 20 Sep 2019 07:58:30 +0000 (07:58 +0000)] 
Bug 31812: Change http URL's to https

5 years agoRemove check-cocci from check-local target.
Nick Mathewson [Mon, 13 Jul 2020 13:24:26 +0000 (09:24 -0400)] 
Remove check-cocci from check-local target.

check-cocci is still a good idea -- perhaps as a cron job?  But
doing it as part of our regular tests has just been confusing,
especially to volunteers who shouldn't have to become coccinelle
experts in order to get their patches through our CI.

Closes #40030.

5 years agoNSS: Tell NSS that our SSL sockets are nonblocking.
Nick Mathewson [Fri, 10 Jul 2020 17:14:33 +0000 (13:14 -0400)] 
NSS: Tell NSS that our SSL sockets are nonblocking.

Closes ticket 40035.

5 years agoBump to 0.4.4.2-alpha-dev
Nick Mathewson [Thu, 9 Jul 2020 17:15:45 +0000 (13:15 -0400)] 
Bump to 0.4.4.2-alpha-dev

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Nick Mathewson [Thu, 9 Jul 2020 17:15:23 +0000 (13:15 -0400)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

`-s ours` to avoid version bump.

5 years agoBump to 0.4.3.6-dev
Nick Mathewson [Thu, 9 Jul 2020 17:15:15 +0000 (13:15 -0400)] 
Bump to 0.4.3.6-dev

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Nick Mathewson [Thu, 9 Jul 2020 17:14:58 +0000 (13:14 -0400)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

`-s ours` to avoid version bump.

5 years agoBump to 0.4.2.8-dev
Nick Mathewson [Thu, 9 Jul 2020 17:14:48 +0000 (13:14 -0400)] 
Bump to 0.4.2.8-dev

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Nick Mathewson [Thu, 9 Jul 2020 17:14:22 +0000 (13:14 -0400)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

`-s ours` to avoid version bump.

5 years agoBump to 0.3.5.11-dev
Nick Mathewson [Thu, 9 Jul 2020 17:12:45 +0000 (13:12 -0400)] 
Bump to 0.3.5.11-dev

5 years agoUpdate version to 0.4.4.2-alpha.
Nick Mathewson [Thu, 9 Jul 2020 14:31:55 +0000 (10:31 -0400)] 
Update version to 0.4.4.2-alpha.

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Nick Mathewson [Thu, 9 Jul 2020 14:31:16 +0000 (10:31 -0400)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

`-s ours` to avoid version bump.

5 years agoUpdate version to 0.4.3.6.
Nick Mathewson [Thu, 9 Jul 2020 14:31:09 +0000 (10:31 -0400)] 
Update version to 0.4.3.6.

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Nick Mathewson [Thu, 9 Jul 2020 14:30:46 +0000 (10:30 -0400)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

`-s ours` to avoid version bump.

5 years agoUpdate version to 0.4.2.8.
Nick Mathewson [Thu, 9 Jul 2020 14:30:37 +0000 (10:30 -0400)] 
Update version to 0.4.2.8.

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Nick Mathewson [Thu, 9 Jul 2020 14:30:03 +0000 (10:30 -0400)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

`-s ours` to avoid version bump.

5 years agobump to 0.3.5.11
Nick Mathewson [Thu, 9 Jul 2020 14:28:21 +0000 (10:28 -0400)] 
bump to 0.3.5.11

5 years agoMerge branch 'tor-github/pr/1989' into maint-0.4.4
George Kadianakis [Thu, 9 Jul 2020 14:08:07 +0000 (17:08 +0300)] 
Merge branch 'tor-github/pr/1989' into maint-0.4.4

5 years agoMerge remote-tracking branch 'dgoulet/ticket33796_044_01' into maint-0.4.4
Nick Mathewson [Thu, 9 Jul 2020 13:59:45 +0000 (09:59 -0400)] 
Merge remote-tracking branch 'dgoulet/ticket33796_044_01' into maint-0.4.4

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Nick Mathewson [Thu, 9 Jul 2020 13:28:53 +0000 (09:28 -0400)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Nick Mathewson [Thu, 9 Jul 2020 13:28:53 +0000 (09:28 -0400)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Nick Mathewson [Thu, 9 Jul 2020 13:28:53 +0000 (09:28 -0400)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'trove_2020_001_035' into maint-0.3.5
Nick Mathewson [Thu, 9 Jul 2020 13:28:36 +0000 (09:28 -0400)] 
Merge branch 'trove_2020_001_035' into maint-0.3.5

5 years agohs-v3: Remove a possible BUG() condition
David Goulet [Thu, 9 Jul 2020 11:55:46 +0000 (07:55 -0400)] 
hs-v3: Remove a possible BUG() condition

When receiving an introduction NACK, the client either decides to close or
re-extend the circuit to another intro point.

In order to do this, the service descriptor needs to exists but it is possible
that it gets removed from the cache between the establishement of the
introduction circuit and the reception of the (N)ACK.

For that reason, the BUG(desc == NULL) is removed because it is a possible
normal use case. Tor recovers gracefully already.

Fixes #34087

Signed-off-by: David Goulet <dgoulet@torproject.org>
5 years agoMerge branch 'tor-github/pr/1988' into maint-0.4.4
David Goulet [Thu, 9 Jul 2020 11:27:13 +0000 (07:27 -0400)] 
Merge branch 'tor-github/pr/1988' into maint-0.4.4

5 years agoRefactor setup_intro_circ_auth_key() to make it simpler.
George Kadianakis [Fri, 3 Jul 2020 13:08:34 +0000 (16:08 +0300)] 
Refactor setup_intro_circ_auth_key() to make it simpler.

It now uses the 'goto err' pattern, instead of the fatal_unreached()
pattern. The latter pattern is usually used when there is a loop, but there is
no loop in this function so it can be simplified easily.

5 years agoHandle a failure edge-case when a client-side intro circ opens.
George Kadianakis [Fri, 3 Jul 2020 13:06:17 +0000 (16:06 +0300)] 
Handle a failure edge-case when a client-side intro circ opens.

5 years agosocks: Returns 0xF6 only if BAD_HOSTNAME
Guinness [Wed, 8 Jul 2020 15:46:16 +0000 (17:46 +0200)] 
socks: Returns 0xF6 only if BAD_HOSTNAME

This commit modifies the behavior of `parse_extended_address` in such a way
that if it fails, it will always return a `BAD_HOSTNAME` value, which is then
used to return the 0xF6 extended error code.  This way, in any case that is
not a valid v2 address, we return the 0xF6 error code, which is the expected
behavior.

Signed-off-by: David Goulet <dgoulet@torproject.org>
5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Alexander Færøy [Wed, 8 Jul 2020 00:36:48 +0000 (00:36 +0000)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Alexander Færøy [Wed, 8 Jul 2020 00:36:48 +0000 (00:36 +0000)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Alexander Færøy [Wed, 8 Jul 2020 00:36:47 +0000 (00:36 +0000)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoResolve a compiler warning from a 32-bit signed/unsigned comparison
Nick Mathewson [Tue, 7 Jul 2020 18:58:49 +0000 (14:58 -0400)] 
Resolve a compiler warning from a 32-bit signed/unsigned comparison

This warning only affects platforms (like win32) with 32-bit time_t.

Fixes bug 40028; bugfix on 0.3.2.8-rc.

5 years agoRevert "config: Make clients tell dual-stack exits they prefer IPv6"
David Goulet [Tue, 7 Jul 2020 16:05:27 +0000 (12:05 -0400)] 
Revert "config: Make clients tell dual-stack exits they prefer IPv6"

This reverts commit bf2a399fc0d90df76e091fa3259f7c1b8fb87781.

Don't set by default the prefer IPv6 feature on client ports because it breaks
the torsocks use case. The SOCKS resolve command is lacking a mechanism to ask
for a specific address family (v4 or v6) thus prioritizing IPv6 when an IPv4
address is asked on the resolve SOCKS interface resulting in a failure.

Tor Browser explicitly set PreferIPv6 so this should not affect the majority
of our users.

Closes #33796

Signed-off-by: David Goulet <dgoulet@torproject.org>
5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Alexander Færøy [Tue, 7 Jul 2020 14:48:36 +0000 (14:48 +0000)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Alexander Færøy [Tue, 7 Jul 2020 14:48:36 +0000 (14:48 +0000)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Alexander Færøy [Tue, 7 Jul 2020 14:48:35 +0000 (14:48 +0000)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoCI: Fix Appveyor printf format error
David Goulet [Tue, 7 Jul 2020 13:20:28 +0000 (09:20 -0400)] 
CI: Fix Appveyor printf format error

For some reasons, Appveyor started to use the stdio printf format for 64 bit
values (PRIu64, ...). Mingw doesn't like that so force it to use the Windows
specific macros by setting D__USE_MINGW_ANSI_STDIO=0.

Fixes #40026

5 years agoUse ((x + 7) >> 3) instead of (x >> 3) when converting from bits to bytes.
Alexander Færøy [Sat, 16 May 2020 19:18:56 +0000 (19:18 +0000)] 
Use ((x + 7) >> 3) instead of (x >> 3) when converting from bits to bytes.

This patch changes our bits-to-bytes conversion logic in the NSS
implementation of `tor_tls_cert_matches_key()` from using (x >> 3) to
((x + 7) >> 3) since DER bit-strings are allowed to contain a number of
bits that is not a multiple of 8.

Additionally, we add a comment on why we cannot use the
`DER_ConvertBitString()` macro from NSS, as we would potentially apply
the bits-to-bytes conversion logic twice, which would lead to an
insignificant amount of bytes being compared in
`SECITEM_ItemsAreEqual()` and thus turn the logic into being a
prefix match instead of a full match.

The `DER_ConvertBitString()` macro is defined in NSS as:

    /*
    ** Macro to convert der decoded bit string into a decoded octet
    ** string. All it needs to do is fiddle with the length code.
    */
    #define DER_ConvertBitString(item)            \
        {                                         \
            (item)->len = ((item)->len + 7) >> 3; \
        }

Thanks to Taylor Yu for spotting this problem.

This patch is part of the fix for TROVE-2020-001.

See: https://bugs.torproject.org/33119

5 years agoAdd constness to length variables in `tor_tls_cert_matches_key`.
Alexander Færøy [Sat, 16 May 2020 15:34:37 +0000 (15:34 +0000)] 
Add constness to length variables in `tor_tls_cert_matches_key`.

We add constness to `peer_info_orig_len` and `cert_info_orig_len` in
`tor_tls_cert_matches_key` to ensure that we don't accidentally alter
the variables.

This patch is part of the fix for TROVE-2020-001.

See: https://bugs.torproject.org/33119

5 years agoFix out-of-bound memory read in `tor_tls_cert_matches_key()` for NSS.
Alexander Færøy [Tue, 31 Mar 2020 02:33:54 +0000 (02:33 +0000)] 
Fix out-of-bound memory read in `tor_tls_cert_matches_key()` for NSS.

This patch fixes an out-of-bound memory read in
`tor_tls_cert_matches_key()` when Tor is compiled to use Mozilla's NSS
instead of OpenSSL.

The NSS library stores some length fields in bits instead of bytes, but
the comparison function found in `SECITEM_ItemsAreEqual()` needs the
length to be encoded in bytes. This means that for a 140-byte,
DER-encoded, SubjectPublicKeyInfo struct (with a 1024-bit RSA public key
in it), we would ask `SECITEM_ItemsAreEqual()` to compare the first 1120
bytes instead of 140 (140bytes * 8bits = 1120bits).

This patch fixes the issue by converting from bits to bytes before
calling `SECITEM_ItemsAreEqual()` and convert the `len`-fields back to
bits before we leave the function.

This patch is part of the fix for TROVE-2020-001.

See: https://bugs.torproject.org/33119

5 years agoRun `tor_tls_cert_matches_key()` Test Suite with both OpenSSL and NSS.
Alexander Færøy [Tue, 31 Mar 2020 02:28:12 +0000 (02:28 +0000)] 
Run `tor_tls_cert_matches_key()` Test Suite with both OpenSSL and NSS.

This patch lifts the `tor_tls_cert_matches_key()` tests out of the
OpenSSL specific TLS test suite and moves it into the generic TLS test
suite that is executed for both OpenSSL and NSS.

This patch is largely a code movement, but we had to rewrite parts of
the test to avoid using OpenSSL specific data-types (such as `X509 *`)
and replace it with the generic Tor abstraction type
(`tor_x509_cert_impl_t *`).

This patch is part of the fix for TROVE-2020-001.

See: https://bugs.torproject.org/33119

5 years agoMerge branch 'tor-github/pr/1962' into maint-0.4.4
George Kadianakis [Fri, 3 Jul 2020 12:54:24 +0000 (15:54 +0300)] 
Merge branch 'tor-github/pr/1962' into maint-0.4.4

5 years agohs-v2: Add deprecation warning for service
David Goulet [Wed, 1 Jul 2020 14:53:30 +0000 (10:53 -0400)] 
hs-v2: Add deprecation warning for service

If at least one service is configured as a version 2, a log warning is emitted
once and only once.

Closes #40003

Signed-off-by: David Goulet <dgoulet@torproject.org>
5 years agoMerge branch 'ticket32622_044_squashed' into maint-0.4.4
Nick Mathewson [Thu, 2 Jul 2020 14:14:55 +0000 (10:14 -0400)] 
Merge branch 'ticket32622_044_squashed' into maint-0.4.4

5 years agoChanges file for #32622.
Nick Mathewson [Fri, 26 Jun 2020 15:21:53 +0000 (11:21 -0400)] 
Changes file for #32622.

5 years agoCarry TLS error strings forward to controller when reporting them.
Nick Mathewson [Fri, 26 Jun 2020 15:18:38 +0000 (11:18 -0400)] 
Carry TLS error strings forward to controller when reporting them.

Now instead of saying "DONE, DONE" or "MISC, MISC" or "TLS_ERROR,
TLS_ERROR",  we can finally give a nice sensible "TLS_ERROR,
wrong version number" which should help debug a great deal.

Closes ticket 32622.

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 2 Jul 2020 11:20:58 +0000 (07:20 -0400)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
David Goulet [Thu, 2 Jul 2020 11:20:57 +0000 (07:20 -0400)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
David Goulet [Thu, 2 Jul 2020 11:20:57 +0000 (07:20 -0400)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
George Kadianakis [Wed, 1 Jul 2020 09:55:03 +0000 (12:55 +0300)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
George Kadianakis [Wed, 1 Jul 2020 09:55:02 +0000 (12:55 +0300)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
George Kadianakis [Wed, 1 Jul 2020 09:55:02 +0000 (12:55 +0300)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoMerge branch 'tor-github/pr/1766' into maint-0.3.5
George Kadianakis [Wed, 1 Jul 2020 09:54:29 +0000 (12:54 +0300)] 
Merge branch 'tor-github/pr/1766' into maint-0.3.5

5 years agoDowngrade "Bug: No entry found in extrainfo map" message.
Nick Mathewson [Tue, 30 Jun 2020 15:54:13 +0000 (11:54 -0400)] 
Downgrade "Bug: No entry found in extrainfo map" message.

This is not actually a bug!  It can happen for a bunch of reasons,
which all boil down to "trying to add an extrainfo for which we no
longer have the corresponding routerinfo".

Fixes #16016; bugfix on 0.2.6.3-alpha.

5 years agoMerge branch 'maint-0.4.2' into maint-0.4.3
Alexander Færøy [Tue, 30 Jun 2020 14:23:41 +0000 (14:23 +0000)] 
Merge branch 'maint-0.4.2' into maint-0.4.3

5 years agoMerge branch 'maint-0.3.5' into maint-0.4.2
Alexander Færøy [Tue, 30 Jun 2020 14:23:41 +0000 (14:23 +0000)] 
Merge branch 'maint-0.3.5' into maint-0.4.2

5 years agoMerge branch 'maint-0.4.3' into maint-0.4.4
Alexander Færøy [Tue, 30 Jun 2020 14:23:41 +0000 (14:23 +0000)] 
Merge branch 'maint-0.4.3' into maint-0.4.4

5 years agoMerge branch 'tor-github/pr/1909' into maint-0.3.5
Alexander Færøy [Tue, 30 Jun 2020 14:23:17 +0000 (14:23 +0000)] 
Merge branch 'tor-github/pr/1909' into maint-0.3.5