Commit Graph

34866 Commits

Author SHA1 Message Date
teor
8b5b574a81
dirauth: Refactor dirvote_add_vote()
Refactor dirvote_add_vote() by splitting some code out into static
functions.

Cleanup after 4631.
2020-02-18 13:23:27 +10:00
teor
56f715d300
test/dir: Add specific tests for late vote rejection
Part of 4631.
2020-02-18 13:23:23 +10:00
teor
2b7eec7590
test/dir: Update the tests for late vote rejection
Part of 4631.
2020-02-18 12:44:50 +10:00
Roger Dingledine
acb5b0d535
Don't accept posted votes after :52:30
If we receive via 'post' a vote from a dir auth after the
fetch_missing_votes cutoff, that means we didn't get it by the time we
begin the "fetching missing votes from everybody else" phase, which means
it is very likely to cause a consensus split if we count it. Instead,
we reject it.

But we still allow votes that we fetch ourselves after that cutoff.

This is a demo branch for making progress on #4631.

I've been running it on moria1 and it catches and handles real buggy
behavior from directory authorities, e.g.

Jan 28 15:59:50.804 [warn] Rejecting vote from 199.58.81.140 received at 2020-01-28 20:59:50; our cutoff for received votes is 2020-01-28 20:52:30
Jan 28 15:59:50.805 [warn] Rejected vote from 199.58.81.140 ("Vote received too late, would be dangerous to count it").
Jan 29 01:52:52.667 [warn] Rejecting vote from 204.13.164.118 received at 2020-01-29 06:52:52; our cutoff for received votes is 2020-01-29 06:52:30
Jan 29 01:52:52.669 [warn] Rejected vote from 204.13.164.118 ("Vote received too late, would be dangerous to count it").
Jan 29 04:53:26.323 [warn] Rejecting vote from 204.13.164.118 received at 2020-01-29 09:53:26; our cutoff for received votes is 2020-01-29 09:52:30
Jan 29 04:53:26.326 [warn] Rejected vote from 204.13.164.118 ("Vote received too late, would be dangerous to count it").
2020-02-18 12:44:41 +10:00
teor
f231827946
Merge remote-tracking branch 'tor-github/pr/1731' 2020-02-17 13:49:23 +10:00
teor
8874d1c247
Makefile: Hide some recursive make logs
These logs break up the chutney test output.

Part of 33280.
2020-02-17 13:47:50 +10:00
teor
225613fcc2
Makefile: Quote test-network variable expansions
Also:
  * wrap some long lines
  * replace an instance of "test ... -a ..." with "test ... && test ..."

Part of 33280.
2020-02-17 13:47:34 +10:00
teor
eaeda21da1
Travis: Make Chutney output more readable
* Use a shorter name for the chutney make target
* Put the chutney make target first, when using a custom target

Part of 33280.
2020-02-17 13:47:22 +10:00
teor
334469cc39
Merge branch 'bug33195_master' into ticket33280_master
Conflicts:
* Keep the changes from ticket33280_master
2020-02-17 13:46:09 +10:00
Nick Mathewson
a6509cb867 Merge remote-tracking branch 'tor-github/pr/1727/head' 2020-02-14 08:20:21 -05:00
Nick Mathewson
a010dbf94c Merge branch 'maint-0.4.3' 2020-02-14 08:17:16 -05:00
Nick Mathewson
a79841fd83 Merge branch 'ticket33290_v2_042' into maint-0.4.3 2020-02-14 08:16:22 -05:00
Nick Mathewson
393bbd823e Merge branch 'ticket33290_v2_041' into ticket33290_v2_042 2020-02-14 08:16:01 -05:00
Nick Mathewson
c1649ab015 Wipe the entire hashent structure, not just the first sizeof(void*) 2020-02-14 08:15:37 -05:00
teor
ed1ee2001f
dirvote: Update the comments for required protocols
Add doxygen comments to the new recommended and required subprotocol
version strings.

Add a warning to the required protocol documentation, because requiring
the wrong protocols can break the tor network. Also reference
proposal 303: When and how to remove support for protocol versions.

Part of 33285.
2020-02-14 12:49:38 +10:00
teor
98899f20ad
mainloop: Explain local connections better
Some connections aren't counted for statistics or accounting,
because they have been specifically configured by the user to
local addresses.

Comment-only change.

Closes 33201.
2020-02-14 10:13:00 +10:00
Nick Mathewson
1ab7c05231 Merge branch 'maint-0.4.3' 2020-02-13 10:47:43 -05:00
Nick Mathewson
6c5307e42f Merge branch 'ticket33290_v2_043' into maint-0.4.3 2020-02-13 10:47:32 -05:00
Nick Mathewson
baeff46d36 Merge branch 'ticket33290_v2_042' into ticket33290_v2_043
Conflicts:
	src/core/or/circuitmux_ewma.c
2020-02-13 09:21:47 -05:00
Nick Mathewson
fd1686c7d8 Merge branch 'ticket33290_v2_041' into ticket33290_v2_042 2020-02-13 09:12:48 -05:00
Nick Mathewson
fff1054d17 Before freeing ewma objects, use memwipe instead of resetting magic. 2020-02-13 09:11:35 -05:00
teor
c34c101212
Merge branch 'bug33195_043' into bug33195_master 2020-02-13 14:22:18 +10:00
teor
3e8e4af1ac
Merge branch 'bug33195_042' into bug33195_043
Conflicts:
* Keep disable module relay from maint-0.4.3
* Keep doxygen from maint-0.4.3
* Keep the ordering from bug33195_042
2020-02-13 14:21:26 +10:00
teor
f021389e92
Merge branch 'bug33195_041' into bug33195_042
Conflicts:
* Keep RUST_VERSION from maint-0.4.2
* Keep the commented-out allow_failure entries from bug33195_041
2020-02-13 13:58:13 +10:00
teor
c96cf14943
Merge branch 'bug33195_035' into bug33195_041
Conflicts:
* Keep TOR_TEST_RNG_SEED from maint-0.4.1
* Keep the ordering from bug33195_035
2020-02-13 13:55:55 +10:00
teor
add387c507
Travis: Sort jobs in order of speed
Putting the slowest jobs first takes full advantage of Travis
concurrency.

Closes 33194.
2020-02-13 13:52:41 +10:00
teor
fc3555100f
Travis: Remove a redundant distcheck job
Part of 33194.
2020-02-13 13:45:18 +10:00
teor
03650e0f60
Travis: Require the macOS IPv6 chutney job
The job was previously set to fast_finish / allow_failure, to
speed up the build.

Closes ticket 33195.
2020-02-13 13:43:59 +10:00
teor
25ecdf1409
Travis: Sort jobs in order of speed
Putting the slowest jobs first takes full advantage of Travis
concurrency.

Closes 33194.
2020-02-13 13:37:54 +10:00
teor
9ba147e9af
Travis: Remove a redundant distcheck job
Part of 33194.
2020-02-13 13:37:51 +10:00
teor
82bacca4e0
Travis: Require the macOS IPv6 chutney job
The job was previously set to fast_finish / allow_failure, to
speed up the build.

Closes ticket 33195.
2020-02-13 13:37:39 +10:00
teor
c847b9f1a6
Travis: Only run IPv6 chutney tests on macOS
Run the test-network-ipv6 Makefile target in the Travis CI IPv6 chutney
job. This job runs on macOS, so it's a bit slow.

Closes ticket 33303.
2020-02-13 13:12:02 +10:00
teor
02f494360a
Makefile: Use chutney's latest default network
Use bridges+hs-v23 for "make test-network",
rather than using chutney's old default.

This change requires a recent version of chutney,
because the old bridges+hs-v23 did not work.
(See chutney's 33302 for details.)

Closes 28208.
2020-02-13 13:00:18 +10:00
teor
9d352028e6
Makefike: Add an IPv6 test to test-network
The IPv6 test only runs if IPv6 is available.

Also, explicitly use the bridges+hs-v2 network for the IPv4-only test.
This network was chutney's default as of January 2020.

Closes 33300.
2020-02-13 13:00:15 +10:00
teor
c33ffe013b
Makefile: Split test-network-all into IPv4 and IPv6
Add test-network-ipv4 and test-network-ipv6 tests to the Makefile.

These tests run the IPv4-only and dual-stack chutney flavours from
test-network-all.

Closes ticket 33280.
2020-02-13 12:59:57 +10:00
Nick Mathewson
e231d84dd5 Merge branch 'maint-0.4.3' 2020-02-12 18:26:08 -05:00
Nick Mathewson
d0c3350218 Run "make autostyle". 2020-02-12 18:25:51 -05:00
Nick Mathewson
80e3dc4727 Use more memory poisoning and better asserts around ewma code
Attempt to diagnose 32464; fixes 33290.
2020-02-12 14:17:19 -05:00
Nick Mathewson
553c36d153 Merge branch 'maint-0.4.3' 2020-02-12 13:48:48 -05:00
Nick Mathewson
3147cbba52 Merge remote-tracking branch 'tor-github/pr/1728/head' into maint-0.4.3 2020-02-12 13:48:39 -05:00
Taylor Yu
0ab859aabe changes file for ticket 33188 2020-02-12 12:28:35 -06:00
swati
d33c80f0ee Moved [[RephistTrackTime]] to General Options. 2020-02-12 23:17:31 +05:30
swati
809090d24d Addressed minor changes suggested in the ticket 2020-02-12 23:07:00 +05:30
Nick Mathewson
9b2e0604a9 Merge remote-tracking branch 'tor-github/pr/1726/head' 2020-02-12 08:34:17 -05:00
teor
4fed49e0dd protover: Sort tor's supported protocol versions
As recommended by the tor directory specification.

Fixes bug 33285; bugfix on 0.4.0.1-alpha.
2020-02-12 22:15:17 +10:00
teor
14cb337e80 test/protover: Test hard-coded protover sorting
Make sure that the following hard-coded protocol version lists are
sorted:
  * supported protocols
  * recommended relay and client protocols
  * required relay and client protocols

This test currently fails, because the supported protocols are not
sorted.

Tests for 33285.
2020-02-12 22:07:26 +10:00
teor
64bb6e622d dirvote: Reorder required protocol lists
Use a consistent order, because the current order is going to trip
someone up eventually.

Preparation for 33285.
2020-02-12 22:06:11 +10:00
teor
78051c8808 dirvote: Move required protos into private header
Move the recommended and required protocol version lists into the
private section of the dirvote header, and turn them into macros.

Preparation for 33285.
2020-02-12 22:03:19 +10:00
teor
bc493ce0f2
protover: Update a comment about protover parsing
Comment-only change.
2020-02-12 20:59:25 +10:00
teor
99d957696b
scripts/git: Stop running the checked-out git scripts
Stop executing the checked-out pre-commit hook from the pre-push hook.
Instead, execute the copy in the user's git dir.

Fixes bug 33284; bugfix on 0.4.1.1-alpha.
2020-02-12 20:37:21 +10:00