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
Andrea Shepard
8b4d961f08
Changes file for ticket 19858
2016-09-25 02:13:02 +00:00
Andrea Shepard
006c26f54f
Abolish globals in entrynodes.c; relativize guard context to new guard_selection_t structure
2016-09-25 02:11:44 +00: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
Nick Mathewson
e4aaf76660
When clearing cells from a circuit for OOM reasons, tell cmux we did so.
...
Not telling the cmux would sometimes cause an assertion failure in
relay.c when we tried to get an active circuit and found an "active"
circuit with no cells.
Additionally, replace that assert with a test and a log message.
Fix for bug 20203. This is actually probably a bugfix on
0.2.8.1-alpha, specifically my code in 8b4e5b7ee9
where I
made circuit_mark_for_close_() do less in order to simplify our call
graph. Thanks to "cypherpunks" for help diagnosing.
2016-09-22 15:16:07 -04:00
Nick Mathewson
0baa276ea9
Coverity warning fix: let coverity tell we're closing sockets
...
Our use of the (mockable) tor_close_socket() in the util/socket_..
tests confused coverity, which could no longer tell that we were
actually closing the sockets.
2016-09-22 09:24:56 -04:00
Nick Mathewson
6deeedb5e0
Merge branch 'maint-0.2.8'
2016-09-22 09:00:37 -04:00
Nick Mathewson
1edea87c2a
Fix lintchanges warnings in 028
2016-09-22 09:00:16 -04:00
Nick Mathewson
4c69ba5895
Fix conflicting types errors for aes.c.
2016-09-22 08:52:42 -04:00