Nick Mathewson
4cbfee14d4
Update prop264 implementation to split HSMid->HS{Intro,Rend}
2016-09-26 10:56:53 -07:00
Nick Mathewson
0a3da5ce79
prop264: sometimes check client _and_ server versions.
...
As before, we check server protocols whenever server_mode(options)
is true and we check client protocols whenever server_mode(options)
is false.
Additionally, we now _also_ check client protocols whenever any
client port is set.
2016-09-26 10:56:53 -07:00
Nick Mathewson
afe0419db7
Rename get_supported_protocols to protover_get_supported_protocols
2016-09-26 10:56:53 -07:00
Nick Mathewson
3a3120819c
Rename compute_protover_vote to protover_compute_vote
2016-09-26 10:56:53 -07:00
Nick Mathewson
78c07eeee1
Changes file for prop264 / ticket 19958.
2016-09-26 10:56:52 -07:00
Nick Mathewson
4f57d5871e
Update authority votes to match updated proposal.
2016-09-26 10:56:52 -07:00
Nick Mathewson
e402cddefe
Clean whitespace, add missing documentation
2016-09-26 10:56:52 -07:00
Nick Mathewson
1e29c68ba9
Remove DoS vector in protover.c voting code
2016-09-26 10:56:51 -07:00
Nick Mathewson
e525f5697f
Use protocols to see when EXTEND2 support exists.
...
(Technically, we could just remove extend2 cell checking entirely,
since all Tor versions on our network are required to have it, but
let's keep this around as an example of How To Do It.)
2016-09-26 10:56:51 -07:00
Nick Mathewson
90a6fe318c
Vote on 'proto' lines and include them after 'v' lines.
...
(Despite the increased size of the consensus, this should have
approximately zero effect on the compressed consensus size, since
the "proto" line should be completely implied by the "v" line.)
2016-09-26 10:56:51 -07:00
Nick Mathewson
f33b90324a
Include protocol versions in votes.
2016-09-26 10:56:51 -07:00
Nick Mathewson
d97a385535
Workaround a test bug
2016-09-26 10:56:51 -07:00
Nick Mathewson
a3e82563df
Implement voting on the protocol-version options
2016-09-26 10:56:51 -07:00
Nick Mathewson
84f913024d
Include protocol version lines in votes.
2016-09-26 10:56:50 -07:00
Nick Mathewson
07a9b79520
Remove a little duplicated code before it becomes a lot
2016-09-26 10:56:50 -07:00
Nick Mathewson
c6a2204e23
Add code to infer protocol versions for old Tor versions.
2016-09-26 10:56:50 -07:00
Nick Mathewson
a232161f7b
Cover the error cases of parsing protocol versions
...
Also, detect an additional failure type. Thanks, tests!
(How distinctly I recall thee)
2016-09-26 10:56:50 -07:00
Nick Mathewson
0697e413ef
Unit tests for protover_all_supported
2016-09-26 10:56:49 -07:00
Nick Mathewson
c1be8f9d57
Basic backend for the protocol-versions voting algorithm.
...
[This is a brute-force method that potentially uses way too much
RAM. Need to rethink this a little. Right now you can DOS an
authority by saying "Foo=1-4294967295".]
2016-09-26 10:56:49 -07:00
Nick Mathewson
7f718c46f3
Actually check for missing protocols and exit as appropriate.
2016-09-26 10:56:49 -07:00
Nick Mathewson
cca1e0acff
Add necessary code to parse and handle required/recommended protocols
2016-09-26 10:56:49 -07:00
Nick Mathewson
4df12239f6
Emit and parse protocol lists in router descriptors
2016-09-26 10:56:49 -07:00
Nick Mathewson
b2b2e1c7f2
checkpoint basic protover backend
2016-09-26 10:56:48 -07:00
Nick Mathewson
a633baf632
Merge branch 'osx_sierra_028'
2016-09-24 13:33:09 -07:00
Nick Mathewson
39f51dfae3
changes file for osx sierra fixes
2016-09-24 13:29:20 -07:00
Nick Mathewson
951638a06d
Fix pthread_cond_timedwait() on OSX Sierra
...
Sierra provides clock_gettime(), but not pthread_condattr_setclock.
So we had better lot try to use CLOCK_MONOTONIC as our source for
time when waiting, since we ccan never actually tell the condition
that we mean CLOCK_MONOTONIC.
This isn't a tor bug yet, since we never actually pass a timeout to
tor_cond_wait() outside of the unit tests.
2016-09-24 09:12:00 -07:00
Nick Mathewson
1eba088054
Fix compilation on OSX Sierra (10.12)
2016-09-24 08:48:47 -07:00
Nick Mathewson
9db7bd08f0
Merge branch 'maint-0.2.8'
2016-09-23 15:58:40 -04:00
Nick Mathewson
9965059fbe
Bump to 0.2.9.3-alpha-dev
2016-09-23 15:58:29 -04:00
Nick Mathewson
ec19ecce4b
Bump to 0.2.8.8-dev.
2016-09-23 15:58:06 -04:00
Nick Mathewson
99041ef343
Add 0.2.8.8 to ChangeLog
2016-09-23 14:12:02 -04:00
Nick Mathewson
8fd5379678
Add 0.2.8.8 to releasenotes
2016-09-23 14:11:37 -04:00
Nick Mathewson
1cf6ec9a82
Reflow changelog again
2016-09-23 13:30:28 -04:00
Nick Mathewson
43b9db7bde
Lightly edit the changelog
2016-09-23 13:29:53 -04:00
Nick Mathewson
0e1630a3e8
Pick a date
2016-09-23 11:16:20 -04:00
Nick Mathewson
eaf5950682
Remove changes files that we have folded in
2016-09-23 11:16:20 -04:00
Nick Mathewson
75a90e7238
One more changelog entry
2016-09-23 11:16:20 -04:00
Nick Mathewson
6a01164538
Merge branch 'maint-0.2.8'
2016-09-23 09:30:56 -04:00
Nick Mathewson
db6153e70c
Merge remote-tracking branch 'teor/broken-028-fallbacks' into maint-0.2.8
2016-09-23 09:29:55 -04:00
teor
30275b048f
Remove another fallback whose operator opted-out
2016-09-22 16:38:04 -07:00
Nick Mathewson
5d1095b1cc
Copy 0.2.8.8 changelog entries forward
2016-09-22 18:24:03 -04:00
Nick Mathewson
7f074c3fa7
Reflow the changelog
2016-09-22 18:22:47 -04:00
Nick Mathewson
39733d72ed
sort entries into a changelog.
2016-09-22 18:22:33 -04:00
Nick Mathewson
94989fdebb
remove changes files that are also in 0.2.8.8
2016-09-22 18:14:29 -04:00
Nick Mathewson
33f81b8712
bump master to 0.2.9.3-alpha
2016-09-22 16:11:50 -04:00
Nick Mathewson
f5deb2feaa
Merge branch 'maint-0.2.8'
2016-09-22 15:37:27 -04:00
Nick Mathewson
ad1824f91d
Update versions to 0.2.8.8
2016-09-22 15:37:06 -04:00
Nick Mathewson
077f6a4888
Merge branch 'maint-0.2.8'
2016-09-22 15:20:31 -04:00
Nick Mathewson
d78711c0ae
LintChanges fix
2016-09-22 15:19:59 -04:00
Nick Mathewson
6e96eababe
Merge branch 'bug20203_027_squashed' into maint-0.2.8
2016-09-22 15:17:00 -04:00