]>
git.ipfire.org Git - thirdparty/tor.git/log
Suphanat Chunhapanya [Mon, 21 May 2018 17:09:40 +0000 (00:09 +0700)]
hs-v3: Rename client_pk to client_auth_pk
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Mon, 21 May 2018 17:01:52 +0000 (00:01 +0700)]
hs-v3: Rename client_sk to client_auth_sk
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Wed, 16 May 2018 14:57:24 +0000 (21:57 +0700)]
test: HS v3 client auth is config equal function
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Wed, 9 May 2018 20:35:29 +0000 (03:35 +0700)]
hs-v3: Republish descriptors if client auth changes
When reloading tor, check if our the configured client authorization have
changed from what we previously had. If so, republish the updated descriptor.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Wed, 9 May 2018 20:14:01 +0000 (03:14 +0700)]
hs-v3: Make all descriptor content free functions public
Series of functions that we now need in hs_service.c.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Sun, 22 Apr 2018 13:51:21 +0000 (20:51 +0700)]
hs-v3: Re-enable the decoding in the encoding function
Previously, the validation by decoding a created descriptor was disabled
because the interface had to be entirely changed and not implemented at the
time.
This commit re-enabled it because it is now implemented.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Sat, 21 Apr 2018 18:13:50 +0000 (01:13 +0700)]
test: HS v3 descriptor decoding with client authorization
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Thu, 19 Apr 2018 19:10:19 +0000 (02:10 +0700)]
hs-v3: Decrypt the descriptor with client private key
Parse the client authorization section from the descriptor, use the client
private key to decrypt the auth clients, and then use the descriptor cookie to
decrypt the descriptor.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Thu, 19 Apr 2018 15:44:17 +0000 (22:44 +0700)]
hs-v3: Refactor the descriptor decryption/decoding
This commit refactors the existing decryption code to make it compatible with
a new logic for when the client authorization is enabled.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Thu, 19 Apr 2018 15:36:59 +0000 (22:36 +0700)]
hs-v3: Refactor secret data building logic
Because this secret data building logic is not only used by the descriptor
encoding process but also by the descriptor decoding, refactor the function to
take both steps into account.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Sun, 19 Aug 2018 01:26:43 +0000 (08:26 +0700)]
test: HS v3 client authorization loading secret key
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Sun, 19 Aug 2018 01:22:13 +0000 (08:22 +0700)]
hs-v3: Load client authorization secret key from file
The new ClientOnionAuthDir option is introduced which is where tor looks to
find the HS v3 client authorization files containing the client private key
material.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Sat, 14 Apr 2018 10:50:07 +0000 (17:50 +0700)]
test: HS v3 descriptor encoding with client authorization
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Fri, 13 Apr 2018 21:04:31 +0000 (04:04 +0700)]
hs-v3: Encrypt the descriptor using a cookie
Previously, we encrypted the descriptor without the descriptor cookie. This
commit, when the client auth is enabled, the descriptor cookie is always used.
I also removed the code that is used to generate fake auth clients because it
will not be used anymore.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Thu, 12 Apr 2018 21:56:17 +0000 (04:56 +0700)]
test: Build an HSv3 descriptor with authorized client
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Thu, 12 Apr 2018 21:52:46 +0000 (04:52 +0700)]
test: HS v3 building a descriptor with client auth
This commit tests that the descriptor building result, when the client
authorization is enabled, includes everything that is needed.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Mon, 9 Apr 2018 16:09:41 +0000 (23:09 +0700)]
hs-v3: Generate all descriptor related keys
We need to generate all the related keys when building the descriptor, so that
we can encrypt the descriptor.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Sat, 18 Aug 2018 14:24:26 +0000 (21:24 +0700)]
test: HS v3 loading client auth keys service side
Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya [Sat, 18 Aug 2018 05:28:12 +0000 (12:28 +0700)]
hs-v3: Load all client auth keys to the service
This commit loads all client public keys from every file in
`authorized_clients/` directory.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Wed, 29 Aug 2018 19:05:05 +0000 (15:05 -0400)]
Merge branch 'ticket27246_035_01_squashed'
Nick Mathewson [Wed, 29 Aug 2018 19:04:54 +0000 (15:04 -0400)]
Expand the comments on ASN.1-encoded TAP keys
Nick Mathewson [Wed, 29 Aug 2018 19:02:59 +0000 (15:02 -0400)]
Changes for 27246
David Goulet [Thu, 23 Aug 2018 18:05:42 +0000 (14:05 -0400)]
router: Keep RSA onion public key in ASN.1 format
The OpenSSL "RSA" object is currently 408 bytes compares to the ASN.1 encoding
which is 140 for a 1024 RSA key.
We save 268 bytes per descriptor (routerinfo_t) *and* microdescriptor
(microdesc_t). Scaling this to 6000 relays, and considering client usually
only have microdescriptors, we save 1.608 MB of RAM which is considerable for
mobile client.
This commit makes it that we keep the RSA onion public key (used for TAP
handshake) in ASN.1 format instead of an OpenSSL RSA object.
Changes is done in both routerinfo_t and microdesc_t.
Closes #27246
Signed-off-by: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Wed, 29 Aug 2018 15:17:31 +0000 (11:17 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Wed, 29 Aug 2018 15:17:31 +0000 (11:17 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
Nick Mathewson [Wed, 29 Aug 2018 15:17:31 +0000 (11:17 -0400)]
Merge branch 'maint-0.3.2' into maint-0.3.3
Nick Mathewson [Wed, 29 Aug 2018 15:17:31 +0000 (11:17 -0400)]
Merge branch 'maint-0.2.9' into maint-0.3.2
Nick Mathewson [Wed, 29 Aug 2018 01:32:46 +0000 (21:32 -0400)]
Merge remote-tracking branch 'onionk/prototest1'
teor [Fri, 24 Aug 2018 00:25:25 +0000 (10:25 +1000)]
Test: avoid spurious failures in make test-network-all
Before running make test-network-all, delete old logs and test result
files, to avoid spurious failures.
Fixes bug 27295; bugfix on 0.2.7.3-rc.
teor [Fri, 24 Aug 2018 00:20:30 +0000 (10:20 +1000)]
Test: consistently use $(TEST_NETWORK_ALL_LOG_DIR) in Makefile.am
Part of 27295.
Roger Dingledine [Tue, 28 Aug 2018 20:28:45 +0000 (16:28 -0400)]
fix man page issue noticed during #26367 review
and fix two other nearby issues while i'm there
Nick Mathewson [Tue, 28 Aug 2018 20:25:15 +0000 (16:25 -0400)]
Set the file encoding in checkIncludes.py with Python3
Roger Dingledine [Tue, 28 Aug 2018 20:13:58 +0000 (16:13 -0400)]
make a comment more right
(from #20874 fix)
Nick Mathewson [Tue, 28 Aug 2018 20:12:01 +0000 (16:12 -0400)]
Merge remote-tracking branch 'teor/bug22747'
Nick Mathewson [Tue, 28 Aug 2018 20:07:46 +0000 (16:07 -0400)]
Merge remote-tracking branch 'onionk/connection-comments1'
Nick Mathewson [Tue, 28 Aug 2018 20:02:04 +0000 (16:02 -0400)]
Merge branch 'bug26367_035_01'
David Goulet [Thu, 12 Jul 2018 13:23:57 +0000 (09:23 -0400)]
hs: Remove rend_client_non_anonymous_mode_enabled
The removal of Tor2Web made this function useless.
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 12 Jul 2018 13:21:52 +0000 (09:21 -0400)]
hs: Remove rend_client_allow_non_anonymous_connection
By removing Tor2Web, there is no way a client can be non anonymous so we
remove that function and the callsites.
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 9 Jul 2018 20:13:34 +0000 (16:13 -0400)]
circ: Remove useless param from cannibalization function
Because we just removed Tor2web support, the need_specific_rp is not needed
anymore when cannibalizing a circuit.
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 9 Jul 2018 20:11:39 +0000 (16:11 -0400)]
hs: Render obsolete Tor2web
Remove support for Tor2web in the code and build system. At this commit, tor
doesn't have Tor2web support anymore.
Ref: https://lists.torproject.org/pipermail/tor-dev/2018-July/013295.html
Close #26367
Signed-off-by: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Tue, 28 Aug 2018 20:00:45 +0000 (16:00 -0400)]
Merge remote-tracking branch 'dgoulet/ticket27215_035_01'
David Goulet [Tue, 28 Aug 2018 19:58:28 +0000 (15:58 -0400)]
fixup! hs: Change default version from 2 to 3
Nick Mathewson [Tue, 28 Aug 2018 19:58:16 +0000 (15:58 -0400)]
Fix log.c comments about assert vs tor_assert vs raw_assert.
Nick Mathewson [Tue, 28 Aug 2018 19:44:06 +0000 (15:44 -0400)]
Merge remote-tracking branch 'tor-github/pr/245'
Nick Mathewson [Tue, 28 Aug 2018 19:24:30 +0000 (15:24 -0400)]
Merge remote-tracking branch 'tor-github/pr/279'
Nick Mathewson [Tue, 28 Aug 2018 16:35:50 +0000 (12:35 -0400)]
Merge branch 'bug26896_034'
David Goulet [Tue, 28 Aug 2018 12:36:28 +0000 (08:36 -0400)]
fixup! hs: Learn service version by trying to load the keys
Nick Mathewson [Mon, 27 Aug 2018 13:39:08 +0000 (09:39 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
Nick Mathewson [Mon, 27 Aug 2018 13:39:08 +0000 (09:39 -0400)]
Merge branch 'maint-0.3.2' into maint-0.3.3
Nick Mathewson [Mon, 27 Aug 2018 13:39:08 +0000 (09:39 -0400)]
Merge branch 'maint-0.3.4'
teor [Mon, 27 Aug 2018 13:06:04 +0000 (23:06 +1000)]
When running make test-network-all, use the mixed+hs-v2 network
No behaviour change.
A previous fix to chutney removed v3 onion services from the
mixed+hs-v23 network, so seeing "mixed+hs-v23" in tests is
confusing.
Fixes bug 27345; bugfix on 0.3.2.1-alpha.
cypherpunks [Mon, 27 Aug 2018 01:32:34 +0000 (01:32 +0000)]
core/mainloop: more comments documenting connection.c
cypherpunks [Mon, 27 Aug 2018 01:07:01 +0000 (01:07 +0000)]
core/mainloop: fix documentation of connection_handle_write_impl()
Inaccurate since
d9746bd468f551d1ada57d962b20eddd15256ce9 .
Nick Mathewson [Fri, 24 Aug 2018 20:50:24 +0000 (16:50 -0400)]
Merge branch 'maint-0.3.4'
"ours" to avoid version bump.
Nick Mathewson [Fri, 24 Aug 2018 20:50:12 +0000 (16:50 -0400)]
Forward-port changelog from 0.3.4.7-rc
Nick Mathewson [Fri, 24 Aug 2018 20:49:56 +0000 (16:49 -0400)]
Update to 0.3.4.7-rc-dev
Nick Mathewson [Fri, 24 Aug 2018 20:13:30 +0000 (16:13 -0400)]
Fix a compilation warning on i386 with clang
Nick Mathewson [Fri, 24 Aug 2018 16:57:18 +0000 (12:57 -0400)]
Merge remote-tracking branch 'tor-github/pr/289'
Nick Mathewson [Fri, 24 Aug 2018 16:45:42 +0000 (12:45 -0400)]
Merge remote-tracking branch 'teor/ticket27211'
Nick Mathewson [Fri, 24 Aug 2018 16:44:46 +0000 (12:44 -0400)]
Merge remote-tracking branch 'teor/bug27237'
Nick Mathewson [Fri, 24 Aug 2018 16:35:26 +0000 (12:35 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Fri, 24 Aug 2018 16:33:20 +0000 (12:33 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
Nick Mathewson [Fri, 24 Aug 2018 16:32:10 +0000 (12:32 -0400)]
Merge branch 'maint-0.3.2' into maint-0.3.3
Nick Mathewson [Fri, 24 Aug 2018 16:32:06 +0000 (12:32 -0400)]
Merge branch 'ticket27286_032_v2' into maint-0.3.2
Nick Mathewson [Thu, 23 Aug 2018 15:24:39 +0000 (11:24 -0400)]
Update the protocol versions recommendations to remove LinkAuth=1
LinkAuth method 1 is the one where we pull the TLS master secrets
out of the OpenSSL data structures and authenticate them with
RSA. Right now we list method 1 as required for clients and relays.
That's a problem, since we can't reasonably support it with NSS. So
let's remove it as a requirement and a recommendation.
As for method 3: I'd like to recommend it it, but that would make
0.2.9 start warning. Let's not do that till at least some time
after 0.3.5 (the next LTS) is stable.
Closes ticket 27286
Nick Mathewson [Fri, 24 Aug 2018 16:05:39 +0000 (12:05 -0400)]
Merge branch 'maint-0.3.4'
teor [Fri, 24 Aug 2018 15:11:44 +0000 (01:11 +1000)]
Bootstrap: add some extra logging
Diagnostics for 27236.
teor [Fri, 24 Aug 2018 15:08:53 +0000 (01:08 +1000)]
Bootstrap: allow internal-only onion service networks to bootstrap
This fix requires chutney's 27230 fix to bridge client bootstrap.
Part of 27236.
Nick Mathewson [Fri, 24 Aug 2018 13:15:34 +0000 (09:15 -0400)]
Remove changes entries for stuff that is already in maint-0.3.4
Nick Mathewson [Fri, 24 Aug 2018 13:13:37 +0000 (09:13 -0400)]
Merge branch 'maint-0.3.4'
"ours" merge to avoid version bump.
Nick Mathewson [Fri, 24 Aug 2018 13:13:20 +0000 (09:13 -0400)]
Bump to 0.3.4.7-rc
Nick Mathewson [Fri, 24 Aug 2018 12:32:33 +0000 (08:32 -0400)]
Merge branch 'maint-0.3.4'
teor [Fri, 24 Aug 2018 01:59:47 +0000 (11:59 +1000)]
Bootstrap: try harder to get descriptors in non-exit test networks
Use the mid weight for the third hop when there are no exits.
Fixes bug 27237; bugfix on 0.2.6.2-alpha.
teor [Thu, 23 Aug 2018 18:03:56 +0000 (04:03 +1000)]
Add scripts/test/chutney-git-bisect.sh, for bisecting using chutney
Supports bisection on 0.3.4 and earlier.
Recommend that users copy the script before bisecting.
Implements ticket 27211.
teor [Fri, 24 Aug 2018 01:55:41 +0000 (11:55 +1000)]
Bootstrap: stop requiring descriptors to count exits as usable
Instead, count exits as usable if they have the exit flag, and
present if they also have a non-reject exit policy.
Requiring a threshold of usable descriptors avoids directories trickling
exit descriptors to clients to discover their ExitNodes settings.
Part of 27236.
Nick Mathewson [Fri, 24 Aug 2018 00:44:16 +0000 (20:44 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Fri, 24 Aug 2018 00:44:06 +0000 (20:44 -0400)]
Merge remote-tracking branch 'teor/bug26979-034' into maint-0.3.4
teor [Tue, 31 Jul 2018 02:14:40 +0000 (12:14 +1000)]
Appveyor CI: always use HEAD for the short commit
Part of 26979.
teor [Tue, 31 Jul 2018 01:58:04 +0000 (11:58 +1000)]
Appveyor CI: Changes file for 26979
Closes 26979.
teor [Tue, 31 Jul 2018 01:54:02 +0000 (11:54 +1000)]
Appveyor CI: sort environmental variables
To avoid future duplicates.
teor [Tue, 31 Jul 2018 01:49:11 +0000 (11:49 +1000)]
Appveyor CI: fix some typos
teor [Tue, 31 Jul 2018 01:47:33 +0000 (11:47 +1000)]
Appveyor CI: Generate correct tag names
Part of 26979.
teor [Tue, 31 Jul 2018 01:37:11 +0000 (11:37 +1000)]
Appveyor CI: Switch to one URL per line
Part of 26979.
teor [Tue, 31 Jul 2018 01:12:21 +0000 (11:12 +1000)]
Appveyor CI: Generate correct branches and URLs for pull requests
Part of 26979.
teor [Tue, 31 Jul 2018 01:10:55 +0000 (11:10 +1000)]
Appveyor CI: Make short commits 10 hexdigits long
That's what git does for tor.
Part of 26979.
teor [Tue, 31 Jul 2018 01:09:54 +0000 (11:09 +1000)]
Appveyor CI: Fix GitHub provider detection
Part of 26979.
Nick Mathewson [Fri, 24 Aug 2018 00:07:47 +0000 (20:07 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Fri, 24 Aug 2018 00:07:39 +0000 (20:07 -0400)]
Merge remote-tracking branch 'teor/ticket27275-034' into maint-0.3.4
teor [Wed, 22 Aug 2018 23:39:36 +0000 (09:39 +1000)]
CI: Only post Appveyor IRC notifications when the build fails
Implements 27275.
Nick Mathewson [Thu, 23 Aug 2018 23:37:32 +0000 (19:37 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Thu, 23 Aug 2018 23:36:45 +0000 (19:36 -0400)]
Merge branch 'maint-0.3.2' into maint-0.3.3
Nick Mathewson [Thu, 23 Aug 2018 23:36:45 +0000 (19:36 -0400)]
Merge branch 'maint-0.2.9' into maint-0.3.2
Nick Mathewson [Thu, 23 Aug 2018 23:36:45 +0000 (19:36 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
teor [Thu, 23 Aug 2018 08:55:39 +0000 (18:55 +1000)]
Silence a compilation warning on MSVC 2017 and clang-cl
test.c no longer uses lround(), so we don't need to declare it,
and we can use math.h for fabs().
Fixes bug 27185; bugfix on 0.2.2.2-alpha.
Nick Mathewson [Thu, 23 Aug 2018 18:26:04 +0000 (14:26 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Thu, 23 Aug 2018 18:22:30 +0000 (14:22 -0400)]
Merge remote-tracking branch 'teor/bug27236-034' into maint-0.3.4
teor [Thu, 23 Aug 2018 14:10:52 +0000 (00:10 +1000)]
Bootstrap: check the exit policy and flag on descriptors
Previously, Tor would only check the exit flag. In small networks, Tor
could bootstrap once it received a consensus with exits, without fetching
the new descriptors for those exits.
After bootstrap, Tor delays descriptor fetches, leading to failures in
fast networks like chutney.
Fixes 27236; bugfix on 0.2.6.3-alpha.
teor [Thu, 23 Aug 2018 09:10:39 +0000 (19:10 +1000)]
Update the message logged on relays when DirCache is disabled
Since 0.3.3.5-rc, authorities require DirCache (V2Dir) for the Guard
flag.
Fixes bug 24312; bugfix on 0.3.3.5-rc.
Dominique Ingoglia [Sat, 10 Feb 2018 21:33:14 +0000 (14:33 -0700)]
Change the wording of the DirCache warning
David Goulet [Wed, 22 Aug 2018 15:42:23 +0000 (11:42 -0400)]
hs: Change default version from 2 to 3
Closes #27215
Signed-off-by: David Goulet <dgoulet@torproject.org>