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
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
e3bf8854c8
We no longer need to tag UseNTorHandshake as deprecated, since it is obsolete
2016-08-29 15:03:55 -04:00
Nick Mathewson
bbaa7d09a0
Merge remote-tracking branch 'teor/reject-tap-v6'
2016-08-29 15:02:11 -04:00
Andrea Shepard
32fbc9738a
Fix OOS comparator fix
2016-08-26 00:01:25 +00:00
David Goulet
9e1cb3660b
Fix duplicated if condition in connection.c
...
Furthermore, fix a test that could returned an uninitialized value.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-08-25 14:52:28 -04:00
Nick Mathewson
1dfa2213a4
Merge remote-tracking branch 'andrea/ticket18640_v3'
2016-08-25 14:29:06 -04:00
Nick Mathewson
10f8607125
make check-spaces fixes
2016-08-24 13:39:22 -04:00
Nick Mathewson
5132905419
Merge branch 'maint-0.2.8'
2016-08-24 10:45:11 -04:00
teor
b1ad024d30
Fix path selection on firewalled clients
...
Signed-off-by: teor <teor2345@gmail.com>
2016-08-24 10:07:47 -04:00
Nick Mathewson
297635f806
Merge branch 'maint-0.2.8'
2016-08-24 10:03:19 -04:00
Nick Mathewson
d3a975ea05
Merge branch 'maint-0.2.7' into maint-0.2.8
2016-08-24 10:02:52 -04:00
Isis Lovecruft
41ab23bed5
Replace Tonga with Bifroest.
...
* FIXES #19728 : https://bugs.torproject.org/19728
* CLOSES #19690 : https://bugs.torproject.org/19690
2016-08-24 10:01:23 -04:00
teor
19816f2f78
Add a stub for rend_service_allow_direct_connection
...
It always returns 0. It should be replaced with the Single
Onion version from #17178 when both are merged.
2016-08-24 11:02:19 +10:00
teor (Tim Wilson-Brown)
10aa913acc
Client & HS ignore UseNTorHandshake, all non-HS handshakes use ntor
...
Rely on onion_populate_cpath to check that we're only using
TAP for the rare hidden service cases.
Check and log if handshakes only support TAP when they should support
ntor.
2016-08-24 11:02:00 +10:00
teor (Tim Wilson-Brown)
cad9046632
Improve comments in circuit_get_cpath_*
2016-08-24 10:32:22 +10:00
teor (Tim Wilson-Brown)
febd4ab0e5
Client & HS make sure every hop in every non-HS path supports ntor
...
When a client connects to an intro point not in the client's consensus,
or a hidden service connects to a rend point not in the hidden service's
consensus, we are stuck with using TAP, because there is no ntor link
specifier.
2016-08-24 10:32:10 +10:00
Nick Mathewson
a0398dd348
Merge remote-tracking branch 'jigsaw/fix-17758'
2016-08-23 09:57:14 -04:00
Nick Mathewson
ff65618f16
Merge remote-tracking branch 'jigsaw/fix-15381'
2016-08-23 09:55:37 -04:00
Nick Mathewson
e8d7953c61
Use tor_assert, not assert.
2016-08-23 09:24:20 -04:00
Nick Mathewson
bd45f7c668
Merge branch 'bug13953_squashed'
2016-08-23 09:22:04 -04:00
teor
a60ef72345
Reword the router_check_descriptor_address_port_consistency log message
...
The new message covers static and dynamic public IPv4 addresses,
and external / internal addresses in NAT setups.
2016-08-23 09:16:08 -04:00
Nick Mathewson
62b239dd9c
Merge branch 'maint-0.2.8'
2016-08-22 10:19:15 -04:00
Nick Mathewson
0ba05313d5
Do not pass NULL to log(%s) in dir_server_new.
...
This bug had existed since 0.2.4.7-alpha, but now that we have
FallbackDirs by default, it actually matters.
Fixes bug 19947; bugfix on 0.2.4.7-alpha or maybe 0.2.8.1-alpha.
Rubiate wrote the patch; teor wrote the changes file.
2016-08-22 01:22:19 -04:00
Andrea Shepard
9a09513c0b
Use connection_mark_for_close() rather than connection_mark_on_flush() on OOS
2016-08-20 04:43:01 +00:00
Andrea Shepard
31028af440
Add DisableOOSCheck option, on by default until we have better heuristics
2016-08-20 04:36:37 +00:00
Andrea Shepard
3efe92ba58
Consider the case that a connection doesn't have a valid socket during OOS
2016-08-20 03:57:32 +00:00
Andrea Shepard
1a7709d409
Add connection_is_moribund() inline
2016-08-20 03:34:16 +00:00
Andrea Shepard
a403230fe3
Use SMARTLIST_FOREACH in connection_count_moribund() per code review
2016-08-20 03:12:58 +00:00
Andrea Shepard
dbdac1dc27
s/connection_handle_oos/connection_check_oos/g per code review
2016-08-20 02:44:33 +00:00
Andrea Shepard
d65f030915
Unit test for pick_oos_victims()
2016-08-20 01:43:52 +00:00
Andrea Shepard
e17083b432
Unit test for kill_conn_list_for_oos()
2016-08-20 01:43:52 +00:00
Andrea Shepard
26c2ded00c
Unit test for connection_handle_oos()
2016-08-20 01:43:51 +00:00
Andrea Shepard
709f2cbf58
Implement OOS comparator
2016-08-20 01:43:51 +00:00
Andrea Shepard
d502efbd47
Implement pick_oos_victims() except for sort step
2016-08-20 01:43:51 +00:00
Andrea Shepard
e9464737af
Implement kill_conn_list_for_oos()
2016-08-20 01:43:50 +00:00
Andrea Shepard
c76d45bdec
Stub out pick_oos_victims() and kill_conn_list_for_oos()
2016-08-20 01:43:50 +00:00
Andrea Shepard
2bc19171ef
Implement connection_count_moribund() for OOS handler
2016-08-20 01:43:50 +00:00
Andrea Shepard
4f253d4c67
Don't say OOS unless the ConnLimit thresholds have been set
2016-08-20 01:43:49 +00:00