Commit Graph

1385 Commits

Author SHA1 Message Date
Nick Mathewson
238a098e0b prop319: correct some typos about cell types. 2020-05-19 12:37:09 -04:00
Nick Mathewson
3c14e0a7cd a minor edit on 320 2020-05-11 16:46:16 -04:00
Nick Mathewson
bb347f8a69 a few missing words in prop 319 2020-05-11 16:11:33 -04:00
Nick Mathewson
f160516451 Add proposal 320 for removing TAP finally 2020-05-11 16:11:11 -04:00
Nick Mathewson
8560a5be21 Add proposal 319: RELAY_FRAGMENT cells 2020-05-11 16:06:20 -04:00
Nick Mathewson
4625a59da9 Add proposal 318, to limit the range of subprotocol versions. 2020-05-11 16:02:59 -04:00
Nick Mathewson
2dd966b784 Proposal 314 has been accepted; proposals can be markdown. 2020-05-11 15:57:05 -04:00
Nick Mathewson
e889dbe264 prop315: update to describe bridges
We need to be a little more careful when making things required on
bridge descriptors, but only a little: the partitioning
opportunities aren't that bad.
2020-05-11 09:44:48 -04:00
teor
00d67ace14
Prop 311: Make self-tests slightly stricter
Ignore create cells from clients when checking for relay reachability.

Part of 33222.
2020-05-08 09:40:36 +10:00
teor
d6e18ebe53
Prop 311: Say "port forwarding" for clarity 2020-05-01 17:23:44 +10:00
teor
40486e0b5e
Prop 311: Another reachability edge case
Part of 33222.
2020-05-01 17:14:37 +10:00
teor
f12126bd8a
Prop 311: Add design for reachability circuits
Update 4.2.3. Separate IPv4 and IPv6 Reachability Flags.

Add a detailed design for checking cells on reachability self-test
circuits.
2020-04-28 13:40:30 +10:00
teor
2e67ae1c70
Prop 312: Clarify torrc Address option
Clarify section 3.2.1.  Make the Address torrc Option Support IPv6.

The list of possible configurations was incorrect.
2020-04-28 13:20:11 +10:00
Nick Mathewson
df3c4f559b add proposal 317 from Christian Hofer. 2020-04-27 08:40:05 -04:00
Nick Mathewson
2ec807e104 whitespace fixes on proposal 295. 2020-04-23 15:21:46 -04:00
Nick Mathewson
2202910e2b Latest version of proposal 295 (from Jan :/ ) 2020-04-23 15:20:50 -04:00
Nick Mathewson
ade20b9265 proposal 316: flashflow. 2020-04-23 15:12:30 -04:00
Nick Mathewson
3ada0e7ed3 Add proposal 314 (markdown) and 315 (required fields.)
Also tweak reindex.py under the assumption that we will be accepting
proposal 314.
2020-04-23 10:43:48 -04:00
teor
373e4eb21c
Prop 313: Remove ConnDirectionStatistics bug
Bug 33214 wasn't actually a bug, it was just a mistake in the analysis.

Part of 33052.
2020-02-24 14:33:44 +10:00
teor
1617310eb6
Prop 313: Fix Impacts of Consensus Health IPv6
Part of 33052.
2020-02-11 21:27:22 +10:00
teor
e25eb89d2e
Prop 313: Make a Section Title Clearer
Part of 33052.
2020-02-11 21:23:35 +10:00
teor
90f989d83a
Prop 313: Remove Medium-Term Stats from Consensus Health
We don't want to put stats on Consensus Health, if they depend on Wgd,
because those stats are designed for Sponsor 55 in 2020.

(If Wgd ever changes, we don't want the stats to be wrong.)

Part of 33052.
2020-02-11 21:19:53 +10:00
teor
8af14dea81
Prop 312: Clarify IPv6 ORPort Binding
Part of 33049.
2020-02-11 14:11:09 +10:00
teor
e759c0ec4e
Prop 312: Clarify OS hostname API behaviour
Part of 33049.
2020-02-11 13:38:17 +10:00
teor
8cc8bff106
Proposals: Run reindex.py 2020-02-11 11:58:01 +10:00
teor
a0492dd33c
Prop 311 & 312: Update monitoring based on 313
Keep the monitoring summaries in proposals 311 and 312 in sync with
proposal 313.

Part of 33159.
2020-02-11 09:17:19 +10:00
teor
e31ded5bd7
Prop 313: Update IPv6 Connection Stats
We currently have enough relays reporting connection stats,
but these reports might be a bug.

Make the ConnDirectionStatistics consensus paramter into an
optional change, depending on the outcome of the bug.

Part of 33159.
2020-02-11 09:17:14 +10:00
teor
e9a888f01a
Prop 313: Add IPv6 bandwidth statistics safety
Also make BandwidthStatistics an optional change.

Part of 33159.
2020-02-11 09:12:12 +10:00
teor
91356f5db0
Prop 313: Only Script, No Tor Logs
Remove the tor logs from the proposal, only write a script.
(Some of these calculations are medium-term, and are most relevent
during Sponsor 55.)

Part of 33159.
2020-02-11 08:39:28 +10:00
teor
64c2ef85c5
Prop 313: Fix title
Part of 33159.
2020-02-10 16:58:29 +10:00
teor
27de9d175b
Prop 313: Relay IPv6 Statistics - Initial Draft
Related to tickets: 33159 (proposal), 33051 and 33052 (implementation).
2020-02-10 16:11:14 +10:00
teor
638a9276d8
Prop 311 & 312: Remove TODOs on Prop 313 link
Part of 33159.
2020-02-10 12:50:25 +10:00
teor
aa53246772
Prop 312: Clarify IPv6 Directory Failures
Part of 33073.
2020-02-10 12:49:43 +10:00
teor
58000de4fa
Prop 311: Add Optional IPv6 Bandwidth Self-Tests
Add an optional change that makes relays do bandwidth self-tests over
IPv6.

This change increases the connection and bandwidth IPv6 statistics.
Related to proposal 313, which covers IPv6 statistics.

Related to 33159.
2020-02-10 12:46:12 +10:00
teor
01105c2543
Prop 311 & 312: Some changes affect IPv6 stats
When a change increases an IPv6 statistic, mention the impact in
proposals 311 and 312.

Related to proposal 313, which covers IPv6 statistics.

Part of 33159.
2020-02-10 12:45:49 +10:00
teor
ec92bbba5d
proposals: Update reindex.py for Python 3
Add the standard future statements, so Python 2 will use some
Python 3 features.

Open files as UTF-8. As a consequence of this change, proposals
must be encoded in UTF-8.

Closes ticket 33164.
2020-02-06 11:01:27 +10:00
teor
d897e4de4a
proposals: Make reindex use path for python
Some people don't have their best python in /usr/bin.

Other people only have python in /usr/local/bin, or other places.
2020-02-06 10:50:18 +10:00
teor
7ba6ab4915
proposals: Reindex 2020-02-06 10:50:15 +10:00
teor
359f68b7e7
Prop 311: Fix section numbers
Part of 24404.
2020-02-06 10:50:11 +10:00
teor
fd2ac75e66
Prop 312: Improve Title
Part of 33073.
2020-02-05 22:24:32 +10:00
teor
ad1b25cb54
Merge branch 'prop312-squashed' 2020-02-05 22:07:06 +10:00
teor
c09bbe9917
Prop 312: Update IPv6 Privacy Extensions
As suggested by s7r.

Part of 33073.
2020-02-05 22:06:40 +10:00
teor
34fb76cd5f
Prop 312: Add s7r as an author
Part of 33073.
2020-02-05 22:06:33 +10:00
teor
da1b248e2e
Prop 312: Add State Management
Document tor's current address detection state management, and our
new state management for IPv4 and IPv6 address detection.

As suggested by Nick Mathewson.

Part of 33073.
2020-02-05 22:06:30 +10:00
teor
492549864e
Prop 312: Add libevent DNS API
As suggested by Nick Mathewson.

Part of 33073.
2020-02-05 22:06:00 +10:00
teor
1f9f3986d1
Prop 312: Add Ignore Addresses on Inbound Conns
Add an optional change.

Part of 33073.
2020-02-05 22:05:53 +10:00
teor
13e8c8c231
Prop 312: Define an IPv6 sybil block
As suggested by Nick Mathewson and s7r.

Part of 33073.
2020-02-05 22:05:31 +10:00
teor
89e7222f65
Prop 312: Require explicit authority addresses
Only use explicit IPv4 and IPv6 address literals, configured in Address
or ORPort lines, for directory authority addresses.

As suggested by Nick Mathewson.

Part of 33073.
2020-02-05 22:05:07 +10:00
teor
55d3beb6c2
Prop 312: Make bridge changes clearer
Part of 33073.
2020-02-05 22:05:00 +10:00
teor
e1815226f1
Prop 312: Avoid some address detection state
As suggested by Nick Mathewson.

Part of 33073.
2020-02-05 22:04:47 +10:00
teor
043ac7d7aa
Prop 312: Rewrite authenticated address detection
All these changes are optional in the proposal:
* Add the NETINFO cell address detection method
  (as suggested by Nick Mathewson)
* Defer decisions about ignoring some addresses, or using those
  addresses as the lowest priority method
* Simplify the load-balancing design

Part of 33073.
2020-02-05 22:04:10 +10:00
teor
7269d17c6f
Prop 312: Improve AddressDisableIPv6
Explain why we might need to turn IPv6 address detection off.

Part of 33073.
2020-02-05 22:04:04 +10:00
teor
6e7d4abd1f
Prop 312: Use Authority IPs for the Socket Method
Add an optional section, where we propose using a directory authority
IPv4 and IPv6 address for socket-based local interface address
detection.

As suggested by Nick Mathewson.

Part of 33073.
2020-02-05 22:03:50 +10:00
teor
f090a2233c
Prop 312: Explain address resolution using sockets
As suggested by Nick Mathewson.

Part of 33073.
2020-02-05 22:03:33 +10:00
teor
fd4716f1ce
Prop 312: Improve interface address method
Explain why some relays may not have any publicly routable interface
addresses.

Part of 33073.
2020-02-05 22:03:26 +10:00
teor
0159850437
Prop 312: Remove the DirPort method
It's unlikely to be useful for most configurations.

As suggested by Nick Mathewson.

Part of 33073.
2020-02-05 22:03:12 +10:00
teor
f12ddad6bf
Prop 312: Explain how to choose addresses
Explain how we choose between multiple addresses, in a list, and over
time.

Part of 33073.
2020-02-05 22:03:05 +10:00
teor
7a55bf1662
Prop 312: Explain why untrusted addresses are bad
And describe a potential attack that gives a relay the wrong address,
then monitors its traffic.

As suggested by Nick Mathewson.

Part of 33073.
2020-02-05 22:02:52 +10:00
teor
8a9ea6f224
Prop 312: Explain public IPv6 addresses
Since relays put the discovered IPv6 address in their descriptor,
it needs to be publicly routable. (If the relay is on the public
network.)

As suggested by Nick Mathewson.

Also fix inconsistent use of directory authority, directory server,
and directory mirror.

Part of 33073.
2020-02-05 22:02:33 +10:00
teor
66d08ba358
Prop 312: Add an early extends section
Add an optional change to support clients extending as soon as
possible, after a relay restarts.

Part of 33073.
2020-02-05 22:02:26 +10:00
teor
534114e2c3
Prop 312: Improve auto IPv6 ORPort section
Add information about binding to IPv4 and IPv6.

Also do a slight reformat.

Part of 33073.
2020-02-05 22:02:22 +10:00
teor
77da452bd6
Prop 312: Fix a heading
Part of 33073.
2020-02-05 22:02:18 +10:00
teor
8902ece4fe
Prop 312: Add info on IPv6 address privacy
And why it shouldn't affect tor relays, at least with the default
settings.

As suggested by s7r.

Part of 33073.
2020-02-05 22:02:03 +10:00
teor
615ebe5fd4
Prop 312: Explain default outbound address better
Part of 33073.
2020-02-05 22:01:57 +10:00
teor
0e20e5a067
Prop 312: Add an alternative IPv6 disable design
And explain why we didn't use the existing ORPort IPv4Only flag to
disable IPv6 address resolution.

Part of 33073.
2020-02-05 22:01:54 +10:00
teor
f1af76a78a
Prop 312: Explain private address handling better
Part of 33073
2020-02-05 22:01:48 +10:00
teor
0cafa9dfba
Prop 312: Reformat references
Part of 33073.
2020-02-05 22:01:45 +10:00
teor
ef7838eab2
Prop 312: Relay Auto IPv6 Addreess - Initial Draft
Related tickets: 33073 (proposal), 5940 (implementation).
2020-02-05 22:01:25 +10:00
teor
5e79a7dd21
Prop 311: Allow for auto-configured IPv6 ORPorts
Part of 24404.
2020-02-05 21:52:58 +10:00
teor
f7fb789de4
Prop 311: Rewrite and re-order tor-spec changes
We want to allow relays to upgrade to trying both addresses in an
EXTEND2 cell, without requiring a new protocol version.

The spec documents the planned "choose at random" behaviour, but
allows relays to try both IPv4 and IPv6 in future.

Part of 24404.
2020-02-05 21:52:55 +10:00
teor
cdc5a152aa
Prop 311: Reformat references
Part of 24404.
2020-02-05 21:52:52 +10:00
teor
6eee2ca426
Prop 311: Avoid depending on exact extend details
We don't want to depend on extends preferring IPv4 or IPv6,
or the exact extend implementation, if we don't have to.

Part of 24404.
2020-02-05 21:52:49 +10:00
teor
14906a6fd9
Prop 311: Clarify "may not"
Part of 24404.
2020-02-05 21:52:46 +10:00
teor
8e85047b65
Prop 311: Improve Subprotocol Version
* don't ban useful behaviours, just mention that they might not happen
* don't talk about reachability, other tor instances don't care
* specify random choice between IPv4 and IPv6 (and add a TODO)

As suggested by Nick Mathewson.

Part of 24404.
2020-02-05 21:52:42 +10:00
teor
5c0aa29f81
Prop 311: Improve RelaySendIPv6Extends option name
As suggested by Nick Mathewson.

Part of 24404.
2020-02-05 21:52:39 +10:00
teor
a3e2f6cd61
Prop 311: Improve Extra Reachability Checks
And add extra logging when tor would have previously found itself
reachable, but the new checks fail.

As suggested by Nick Mathewson.

Part of 24404.
2020-02-05 21:52:36 +10:00
teor
27936d046e
Prop 311: Allow Extends to Prefer IPv4 or IPv6
Add an alternate design, suggested by Nick Mathewson.

Part of 24404.
2020-02-05 21:52:33 +10:00
teor
b6a75a8a14
Prop 311: Add IPv6 ORPort to Extend Conditions
As suggested by Nick Mathewson.

Part of 24404.
2020-02-05 21:52:30 +10:00
teor
9966ad3f3f
Prop 311: Support seamless upgrades
We want to support these two cases:
  * upgrade to working IPv6,
  * stay on IPv4-only, if a guessed IPv6 address isn't reachable.

Part of 24404.
2020-02-05 21:52:27 +10:00
teor
3c19e051a6
Prop 311: Make capitalisation consistent
Part of 24404.
2020-02-05 21:52:15 +10:00
teor
64745746f4
Prop 311: Make bridge mentions consistent
Part of 24404.
2020-02-05 21:52:09 +10:00
teor
7f8a655017
Prop 311: Fix a typo in section 5
Part of 24404.
2020-02-05 21:52:06 +10:00
teor
e5aa0b3411
Prop 311: Include heartbeat logs in monitoring
Some of the statistics may also be available in relay heartbeat logs.

Part of 24404.
2020-02-05 21:52:03 +10:00
teor
f67267bc53
Prop 311: Clarify prop 306 references
Improve the explanations of some of the references to proposal 306:
Client Auto IPv6 Connection. And add a section that specifically
mentions modifying that proposal.

Part of 24404.
2020-02-05 21:52:00 +10:00
teor
d175e08706
Prop 311: Add exception for recent tor changes
Some IPv6 behaviour has changed in recent tor versions, as noted in the
proposal.

Part of 24404.
2020-02-05 21:51:57 +10:00
teor
0348668dec
Prop 311: Explain Directory Authority behaviour
Where it's different from relay behaviour.

Part of ticket 24404.
2020-02-05 21:51:53 +10:00
teor
a65f689482
Prop 311: Use shorter file names for future proposals
And use short proposal names in references.

Part of 24404.
2020-02-05 21:51:22 +10:00
teor
d719ac4022
Prop 311: IPv6 ORPort Reachability - Initial Draft
Related tickets: 24404 (proposal), 24403 (implementation).
2020-01-24 16:13:01 +10:00
teor
8f094d7485
prop 309: Fix trailing space 2020-01-22 14:13:37 +10:00
teor
ff165e0f44
Merge remote-tracking branch 'tor-github/pr/102' 2020-01-15 22:50:10 +10:00
teor
e27cbca306
Prop 306: Restore some statistics from an earlier draft
These statistics are optional, but they may be useful:
* client and relay connections
* statistics in the heartbeat logs

Also improve the explanation of the "extra prop 306 connections"
statistic.

Part of 29801.
2020-01-15 22:44:36 +10:00
teor
21aaad10e6
Prop 306: Add a bootstrap changes section
Clients need to change how they select fallback directory mirrors
during bootstrap, or some IPv6-only clients will fail to bootstrap.

Part of 29801.
2020-01-15 22:44:32 +10:00
teor
f5c6f61cc9
Prop 306: Improve load-balancing for NumIPv6Guards
The previous design would have doubled the load on IPv6-supporting
relays.

Part of 29801.
2020-01-15 22:44:29 +10:00
teor
6664ed79ed
Prop 306: Add an optional ClientPreferIPv6ORPort consensus parameter
Part of 29801.
2020-01-15 22:44:23 +10:00
teor
ed8452b9e8
Prop 306: Improve ConnectionAttemptDelay design
Have a single ConnectionAttemptDelay option, with a default value
of 250 msec based on RFC 8305.

Part of 29801.
2020-01-15 22:44:19 +10:00
teor
a78e23a053
Prop 306: Minor fixes and tidying up
* modify design to match Tor's typical design patterns
* add some missing info and special cases
* improve formatting and consistency
* fix some typos

Part of 29801.
2020-01-15 22:44:15 +10:00
Neel Chauhan
84c2af5931
Prop306: Add revisions suggested in Torspec PR #87 2020-01-15 22:44:12 +10:00
Roger Dingledine
54346bf40f fix line endings on prop 307
(whoever committed it, committed it with a bonus ^M on each line)
2019-12-13 15:44:44 -05:00
Roger Dingledine
a51495cdd7 add nsf acks to four proposals 2019-12-13 15:44:01 -05:00
David Goulet
2bdcf78835 prop305: Close it
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-26 15:11:53 -05:00