Commit Graph

34908 Commits

Author SHA1 Message Date
David Goulet
7b4d9fabef dirauth: Rename function for better clarity
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 10:15:23 -05:00
David Goulet
33414e5494 test: Add unit test for connection_dir_is_global_write_low()
Part of #33029

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 10:15:04 -05:00
David Goulet
6d9113d2f6 dirauth: Resume sending 503 directory error code
Authorities were never sending back 503 error code because by design they
should be able to always answer directory requests regardless of bandwidth
capacity.

However, that recently backfired because of a large number of requests from
unknown source using the DirPort that are _not_ getting their 503 code which
overloaded the DirPort leading to the authority to be unable to answer to its
fellow authorities.

This is not a complete solution to the problem but it will help ease off the
load on the authority side by sending back 503 codes *unless* the connection
is from a known relay or an authority.

Fixes #33029

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:58:28 -05:00
David Goulet
735aa208b1 dirauth: Add option AuthDirRejectRequestsUnderLoad
This controls the previous feature added that makes dirauth send back a 503
error code on non relay connections if under bandwidth pressure.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:57:05 -05:00
David Goulet
bd4f4cb5f0 dirlist: Add configured trusted dir to the nodelist address set
The configured, within the torrc or hardcoded, directory authorities addresses
are now added to the nodelist address set.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:35:54 -05:00
David Goulet
4152c349b4 nodelist: Helper to add an address to the nodelist address set
We separate v4 and v6 because we often use an IPv4 address represented with
a uint32_t instead of a tor_addr_t.

This will be used to also add the trusted directory addresses taken from the
configuration.

The trusted directories from the consensus are already added to the address
set from their descriptor.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:35:50 -05:00
David Goulet
872f95ca06 mainloop: Modernize a bit connection_dir_is_global_write_low()
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:35:46 -05:00
David Goulet
c1e0ac63b8 mainloop: Remove unused parameter from connection_dir_is_global_write_low()
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:35:40 -05:00
David Goulet
ee55823a11 mainloop: Rename global_write_bucket_low()
That function is only used to test the global bucket write limit for a
directory connection.

It should _not_ be used for anything else since that function looks to see if
we are a directory authority.

Rename it to something more meaningful. No change in behavior at this commit,
only renaming.

Part of #33029

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:34:55 -05:00
Nick Mathewson
de31c4757b Merge branch 'maint-0.4.2' into maint-0.4.3 2020-02-11 08:53:41 -05:00
Nick Mathewson
00fe214729 Merge branch 'maint-0.4.1' into maint-0.4.2
"ours" merge, since the exceptions.txt file is already fixed in this branch.
2020-02-11 08:53:00 -05:00
Nick Mathewson
0ff3e8f4a0 Remove a redundant practracker exception line in maint-0.4.1
This will our "git push" hook not complain about pushing from
maint-0.4.1.
2020-02-11 08:52:26 -05:00
Nick Mathewson
409e1ca3d5 Merge remote-tracking branch 'tor-github/pr/1716/head' into maint-0.4.3 2020-02-11 08:44:18 -05:00
Christian Clauss
9f7e1ccacb Undefined name: make_key() -> make_rsa_key() 2020-02-11 08:35:11 -05:00
Nick Mathewson
5d56c1f4b2 Update to 0.4.3.2-alpha-dev 2020-02-10 19:42:31 -05:00
Taylor Yu
dfa1800c7f changes file for ticket 33213 2020-02-10 14:24:44 -06:00
swati
725b0528e3 Alphabetized Server Options and Directory Server Options 2020-02-11 01:41:43 +05:30
Nick Mathewson
dcbf6611d9 Correction to changelog from dgoulet 2020-02-10 15:02:32 -05:00
Nick Mathewson
2571d8e7fe One more light changelog edit. 2020-02-10 15:01:02 -05:00
Nick Mathewson
f275a9ada7 Light edits on the 0.4.3.2-alpha changelog 2020-02-10 14:40:19 -05:00
Nick Mathewson
a0ca442b79 start on 0.4.3.2-alpha changelog 2020-02-10 14:30:36 -05:00
Nick Mathewson
eb8841cd95 Merge branch 'bug33104_041' 2020-02-10 14:23:13 -05:00
Nick Mathewson
0c90fc37ec Merge branch 'maint-0.4.1' into maint-0.4.2 2020-02-10 14:17:10 -05:00
Nick Mathewson
71c49f7356 Merge branch 'maint-0.4.0' into maint-0.4.1 2020-02-10 14:17:10 -05:00
Nick Mathewson
d9144700af Merge branch 'maint-0.4.2' 2020-02-10 14:17:10 -05:00
Nick Mathewson
f3fa22bf1b Merge branch 'maint-0.3.5' into maint-0.4.0 2020-02-10 14:17:09 -05:00
Nick Mathewson
2b6df3da21 Merge branch 'bug33212_035' into maint-0.3.5 2020-02-10 14:17:03 -05:00
Nick Mathewson
dab0b1c3a7 bump to 0.4.3.2-alpha 2020-02-10 13:37:59 -05:00
Nick Mathewson
99d044d553 Fix a Rust compilation warning; resolve bug 33212. 2020-02-10 13:32:09 -05:00
Nick Mathewson
b2c3cb1b26 Add tests for control_event_signal. 2020-02-10 11:38:36 -05:00
Nick Mathewson
05a05773f2 Merge remote-tracking branch 'tor-github/pr/1711' 2020-02-10 10:23:50 -05:00
teor
5e6021bdae
stats: Fix a function comment typo in rephist.c
Comment-only change.
2020-02-10 15:58:25 +10:00
Taylor Yu
cb757b30a2 changes file for tickets 32928, 32929 2020-02-07 12:54:55 -06:00
swati
305934c67b Updated introductory text for CIRCUIT TIMEOUT and DORMANT MODE options 2020-02-07 16:36:09 +05:30
swati
05adecf211 Added a section for Dormant mode options 2020-02-06 21:33:58 +05:30
Nick Mathewson
21f45197a2 Merge branch 'bug33103' 2020-02-06 08:28:25 -05:00
Nick Mathewson
b7bbff0c9c Merge remote-tracking branch 'public/practracker_regen_overbroad_2' 2020-02-06 08:27:12 -05:00
David Goulet
a8456d2a11 test: Missing hs_init() in some hs_control tests
Without the hs_init(), the caches are not initialized and the previous commit
was causing an assert due to the missing caches.

But regardless of that, those tests were not initializing but were calling
hs_free_all().

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-06 12:54:54 +02:00
David Goulet
9278a24729 hs-v3: Remove descriptor when we remove client authorization
When the ONION_CLIENT_AUTH_REMOVE command is given to tor, now also remove the
descriptor associated with the client authorization credentials.

Fixes #33148

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-06 12:54:54 +02:00
Nick Mathewson
56c54a66bd Fix a memory leak in handling GETINFO.
Fixes bug 33103; bugfix on 0.4.3.1-alpha.
2020-02-05 19:18:32 -05:00
teor
2c4d7d8c65
Merge branch 'pr1701-fix-typo' 2020-02-06 08:39:46 +10:00
David Goulet
9c33d36113
configure: Fix and improve summary pretty printing
Fixes #32230

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-06 08:39:04 +10:00
swati
1b65024ae2 Added the NodeFamily option to Node Selection Options section 2020-02-05 23:13:41 +05:30
Nick Mathewson
1a375c3b19 Merge branch 'trove_2020_002_035' into trove_2020_002_041
Resolved Conflicts:
	src/feature/dirparse/parsecommon.c
2020-02-05 12:06:24 -05:00
Nick Mathewson
d0bce65ce2 changes file for 33119 aka TROVE-2020-002 2020-02-05 12:02:32 -05:00
Nick Mathewson
f160212ee8 When parsing tokens, reject early on spurious keys. 2020-02-05 11:57:31 -05:00
Nick Mathewson
9e1085c924 When parsing, reject >1024-bit RSA private keys sooner.
Private-key validation is fairly expensive for long keys in openssl,
so we need to avoid it sooner.
2020-02-05 11:11:35 -05:00
Nick Mathewson
238b1f3150 Merge remote-tracking branch 'tor-github/pr/1703' 2020-02-05 08:51:22 -05:00
swati
d75d763155 Updated the introductory text and titles of Timeout and Node selection options 2020-02-05 00:28:27 +05:30
George Kadianakis
2a5e641cfe Merge branch 'tor-github/pr/1704' 2020-02-04 13:09:41 +01:00