Nick Mathewson
8294c40c96
Merge remote-tracking branch 'tor-github/pr/318'
2018-09-12 08:12:19 -04:00
Nick Mathewson
5a2374b074
Merge remote-tracking branch 'tor-github/pr/315'
2018-09-11 15:55:30 -04:00
Nick Mathewson
75ad1a1f2f
Merge remote-tracking branch 'onionk/doublevote1'
2018-09-11 13:16:49 -04:00
Taylor Yu
617160895c
Defer reporting directory bootstrap progress
...
Existing cached directory information can cause misleadingly high
bootstrap percentages. To improve user experience, defer reporting of
directory information progress until at least one connection has
succeeded to a relay or bridge.
Closes ticket 27169.
2018-09-10 15:20:50 -05:00
David Goulet
7ff67d0e90
test: Fix coverity CID 1439129
...
One HSv3 unit test used "tor_memeq()" without checking the return value. This
commit changes that to use "tt_mem_op()" to actually make the test validate
something :).
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-10 10:28:35 -04:00
David Goulet
064d3e7497
test: Fix coverity CID 1439130
...
Trivial fix of removing an uneeded NULL check in an HS v3 unit test.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-10 10:22:31 -04:00
David Goulet
58d74ad943
test: Fix coverity CID 1439131
...
Simple uninitialized object that we could free in an HS v3 unit test.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-10 10:20:58 -04:00
Nick Mathewson
9ca1af9a87
Merge remote-tracking branch 'dgoulet/ticket20700_035_03'
2018-09-07 15:03:32 -04:00
George Kadianakis
3695ef6343
HSv3: Don't assert when reading bad client-side privkeys.
2018-09-07 14:05:07 -04:00
George Kadianakis
1e9428dc61
HSv3: Add subcredential in client auth KDF on the service-side.
...
Also update some client auth test vectors that broke...
2018-09-07 14:05:07 -04:00
David Goulet
c76d00abfa
hs-v3: Make hs_desc_build_fake_authorized_client() return an object
...
Return a newly allocated fake client authorization object instead of taking
the object as a parameter.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 14:03:55 -04:00
Suphanat Chunhapanya
5e1d36c7db
bug: Use PATH_SEPARATOR instead of slash
...
In function get_fname_suffix, previously it uses /, but in fact it
should use PATH_SEPARATOR.
2018-09-07 14:03:55 -04:00
Suphanat Chunhapanya
83c8419e73
hs-v3: Rename client_pk to client_auth_pk
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 14:03:08 -04:00
Suphanat Chunhapanya
9f975e9995
hs-v3: Rename client_sk to client_auth_sk
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 14:03:07 -04:00
Suphanat Chunhapanya
b61403c787
test: HS v3 client auth is config equal function
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 14:02:43 -04:00
Suphanat Chunhapanya
3b08b23997
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>
2018-09-07 14:02:43 -04:00
Suphanat Chunhapanya
69fb25b0f6
test: HS v3 descriptor decoding with client authorization
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 14:02:43 -04:00
Suphanat Chunhapanya
63576b0166
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>
2018-09-07 13:59:22 -04:00
Suphanat Chunhapanya
9c36219236
test: HS v3 client authorization loading secret key
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 13:59:22 -04:00
Suphanat Chunhapanya
fd6bec923c
test: HS v3 descriptor encoding with client authorization
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 13:59:22 -04:00
Suphanat Chunhapanya
fa50aee366
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>
2018-09-07 13:59:22 -04:00
Suphanat Chunhapanya
10f4c46e50
test: Build an HSv3 descriptor with authorized client
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 13:59:22 -04:00
Suphanat Chunhapanya
0dab4ac2dd
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>
2018-09-07 13:59:22 -04:00
Suphanat Chunhapanya
15af47ede0
test: HS v3 loading client auth keys service side
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07 13:59:22 -04:00
Nick Mathewson
8815960c46
Merge remote-tracking branch 'tor-github/pr/294'
2018-09-06 09:47:32 -04:00
Nick Mathewson
3b61bdb5ae
Try to fix new coverity warnings in unit tests.
2018-09-05 08:30:35 -04:00
Nick Mathewson
03efb67b42
Debug one last reference-counting issue that only appeared on openssl master
2018-09-04 20:46:46 -04:00
Nick Mathewson
eeba944ee0
Fix an easy refcounting bug in a unit test
2018-09-04 20:25:25 -04:00
Nick Mathewson
0db5c54957
Merge branch 'nss_squashed' into nss_merge
2018-09-04 20:21:07 -04:00
Nick Mathewson
d644c93ae9
Resolve openssl-only memory leaks
2018-09-04 19:45:28 -04:00
Nick Mathewson
c50537fd94
Fix a pair of remaining leaks in tortls_nss.c
...
Fun fact: PR_Close leaks memory if its socket is not valid.
2018-09-04 19:45:21 -04:00
Nick Mathewson
274efb1263
Use FREE_AND_NULL for impl types
2018-09-04 14:52:35 -04:00
Nick Mathewson
ad94d43fc5
Port test_tortls_verify to not depend on openssl internals
2018-09-04 14:52:35 -04:00
Nick Mathewson
59c1b34b72
Remove tor_tls_check_lifetime as unused.
...
Everything that might have used it, uses tor_tls_cert_is_valid() instead.
2018-09-04 14:52:35 -04:00
Nick Mathewson
3cdf0497f9
Add unit test for bridge-style TLS initialization.
2018-09-04 14:52:35 -04:00
Nick Mathewson
600e046ed3
Rename crypto_pk_check_key(), use it more reasonably, add tests
...
This function was a wrapper around RSA_check_key() in openssl, which
checks for invalid RSA private keys (like those where p or q are
composite, or where d is not the inverse of e, or where n != p*q).
We don't need a function like this in NSS, since unlike OpenSSL, NSS
won't let you import a bogus private key.
I've renamed the function and changed its return type to make it
more reasonable, and added a unit test for trying to read a key
where n != p*q.
2018-09-04 14:52:35 -04:00
Nick Mathewson
b892133fb9
Do not leave a certificate allocated after testing dirvote_add()
2018-09-04 14:52:35 -04:00
Nick Mathewson
36f3bdac03
Update prefork and postfork NSS code for unit tests.
2018-09-04 14:52:35 -04:00
Nick Mathewson
52ac539b99
Test a few more tortls.c functions
2018-09-04 14:52:35 -04:00
Nick Mathewson
7163389b55
Several unit tests to improve test coverage of x509*.c
2018-09-04 14:52:35 -04:00
Nick Mathewson
dd04fc35c6
Remove tor_tls_shutdown()
...
This function was supposed to implement a half-duplex mode for our
TLS connections. However, nothing in Tor actually uses it (besides
some unit tests), and the implementation looks really questionable
to me. It's probably best to remove it. We can add a tested one
later if we need one in the future.
2018-09-04 14:52:35 -04:00
Nick Mathewson
5205c7fd90
Initial NSS support for TLS.
...
This is enough to get a chutney network to bootstrap, though a bunch
of work remains.
2018-09-04 14:52:35 -04:00
Nick Mathewson
3507fead10
Merge branch 'tor_api_owning_control'
2018-09-04 11:04:21 -04:00
Nick Mathewson
94b04d6c64
Merge branch 'bug24104_029_squashed'
2018-09-04 10:44:36 -04:00
cypherpunks
d32b08af6f
string: add string_is_utf8() helper
...
Ticket #27373 .
2018-09-03 13:54:43 +00:00
juga0
81f4223329
Test for descriptor does not change when hibernating
2018-09-01 18:47:20 -04:00
juga0
d4e51a2eeb
Add missing router_tests to test.h
2018-09-01 18:47:20 -04:00
juga0
1066fdd8d1
Add test for check_descriptor_bandwidth_changed
2018-09-01 18:47:20 -04:00
juga0
842b18ab26
Add test log helpers for msgs not containing str
2018-09-01 18:47:20 -04:00
Nick Mathewson
94605f08fb
Merge branch 'ticket27246_035_01_squashed'
2018-08-29 15:05:05 -04:00