Commit Graph

1535 Commits

Author SHA1 Message Date
David Goulet
8961bb4d83 prop340: Change the ntorv3 data format
Reason behind this is to simplify the negotiation of this feature. A
ntorv3 handshake is in the fast path of circuit creation and minimizing
any parsing and on the wire binary size is a win.

Furthermore, this prevents us to go into a complex code path of version
negotiation where either side can be tricked into using another older
version.

We also do NOT expect to ever end up in a situation where one side sends
packed cells but not the other.

And so, this change simplifies everything and reflects the approach we
took with congestion control as well. Future change of packed/fragmented
relay cells will be possible through a new ntorv3 extension and a Relay
protover.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-06-13 13:21:30 -04:00
David Goulet
21d7e9a41f prop340: Tweak how we handle optional stream IDs
Introduce an optional header called the "message routing header" which
contains a `stream_id` and is only present for commands that do require
it.

We also specify that if an unrecognized command is encountered, the
circuit MUST be destroyed immediately.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-06-13 13:21:30 -04:00
David Goulet
4a14d01cba Merge branch 'tor-gitlab/mr/139' 2023-06-13 12:20:56 -04:00
Q
67f8481596
update 343-rend-caa to include guidance on the non mandatory state of CAA 2023-06-06 23:27:36 +02:00
Mike Perry
ded57d896a Prop 327: Clarify that the starting difficulty is on the client side.
Also clarify that the main reason we may need to tune it is because of
on-and-off attack patterns of large size.
2023-05-30 18:46:25 +00:00
Mike Perry
cbf62c799f Prop327: Remove notions of default difficulty and tuning
Also link to the updated sim, and remove old sections of Tor Browser UX
from before we had auto-difficulty.
2023-05-25 19:39:28 +00:00
Mike Perry
38469b0626 Prop327: Onion service rate limiting is not congestion control.
It is just rate limiting. We could apply real Prop324 congestion control to
the intro circuit, but so far we have not done so.
2023-05-25 13:12:00 +00:00
David Goulet
51e2149dd3 Merge branch 'tor-gitlab/mr/132' 2023-05-24 14:48:07 -04:00
Nick Mathewson
97c0c12f47 Describe identity-binding defense for intro-point POW 2023-05-24 14:38:00 -04:00
Micah Elizabeth Scott
a3c88e156f proposal 327: Editing pass to align the spec with our implementation
This makes numerous small changes, but also adds some larger blocks of
explanation that are written based on the finalized design.

Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
2023-05-24 14:38:00 -04:00
Mike Perry
7ea74b99bd Prop329: Document Snowflake exemption to Guard restriction. 2023-05-18 20:00:30 +00:00
Mike Perry
1473e9592a Prop#329: Clarity improvements 2023-05-17 21:17:59 +00:00
Mike Perry
ee9f341b32 Note that we need to explicitly allow 2 INTROs 2023-05-17 21:17:59 +00:00
Mike Perry
0d332d868c Prop329 updates for bug40781 2023-05-17 21:17:45 +00:00
David Goulet
402647ea1b Proposal 319 and 325 superseded by 340
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-05-10 12:50:12 -04:00
David Goulet
a14e2981ef prop343: Initial import
CAA Extensions for the Tor Rendezvous Specification.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-05-08 15:14:58 -04:00
Mike Perry
8115fc7d12 Update Prop#329 for conflux merge request. 2023-04-06 16:01:55 +00:00
David Goulet
103c7720c0 Merge branch 'tor-gitlab/mr/102' 2023-02-06 09:03:51 -05:00
Nick Mathewson
0fc6d07d88 More verbage in prop340 about the stream_id transition.
Specifically:

  * Mention this change in the introduction.
  * Add a section explaining how to change tor-spec
    and related proposals.
2023-02-03 13:02:52 -05:00
David Goulet
ad9a003673 Merge branch 'tor-gitlab/mr/74' 2023-01-27 15:55:27 -05:00
Nick Mathewson
63cb0fc1ef prop339: trunnel changes from review
* The syntax `IN [a,b]` means that a and b are the only valid options,
  which isn't what we want to say here.
* I'm changing the hostname tag to 0, which is the same as we have for
  RESOLVED cells.
2023-01-27 15:55:14 -05:00
David Goulet
635270c6c5 Merge branch 'tor-gitlab/mr/103' 2023-01-11 13:15:20 -05:00
Mike Perry
09c648fc8d Prop324: Lower consensus param max for integer issue 2023-01-11 17:38:31 +00:00
David Goulet
c6d10a9348 prop340: Move stream_id to body becoming a per command value
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-01-11 10:14:19 -05:00
David Goulet
0bacc73d6b Merge branch 'tor-gitlab/mr/83' 2023-01-10 16:17:25 -05:00
David Goulet
773fc92000 Merge branch 'tor-gitlab/mr/75' 2023-01-10 16:17:06 -05:00
Mike Perry
c2e057a7c3 Prop 324: RTT should only be reset after slow start. 2023-01-10 20:53:57 +00:00
David Goulet
529cb00617 Merge branch 'tor-gitlab/mr/98' 2023-01-10 13:52:28 -05:00
Nick Mathewson
578145bf1c New proposal 342: Decoupling hs_interval and SRV lifetime 2023-01-10 08:20:42 -05:00
Mike Perry
4d950a261f Prop#324: Do not increase cwnd if the window is not full.
- Allow a gap between inflight and cwnd before declaring the cwnd not full.
 - Parameterize how often a cwnd must be full
 - Clean up vegas algorithm for variable scoping and clarity
2022-12-21 21:51:15 +00:00
David Goulet
372730940f prop329: Remove unused section and use relay command 19..22
As per review from nickm in
https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/95

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-12-15 11:17:03 -05:00
Mike Perry
343f1d7419 prop329: Clarifications to SWITCH and other notes 2022-12-14 12:11:33 -05:00
David Goulet
fcfeec2351 prop329: Changes after research and discussions
Series of change after discussin with mikeperry the proposal in depth.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-12-09 15:45:38 -05:00
David Goulet
1db24dddbf prop329: Remove a whole lot of white spaces
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-28 09:19:46 -05:00
Roger Dingledine
78a1722164 fix typo in proposal 291 2022-10-24 04:38:36 -04:00
Nick Mathewson
05b9bacc4c xon/xoff: specify behavior on weird values. 2022-08-15 11:22:36 -04:00
Mike Perry
cb4ae84a20 Prop 324: Reduce the number of vegas parameters
Also update their defaults.
2022-08-11 09:19:17 -04:00
Mike Perry
d339bb9fab Prop 324: Describe how to reset RTT if cc_cwnd_min is hit. 2022-08-11 09:19:17 -04:00
Mike Perry
07c731e836 Prop 324: Document new cc_ewma_ss consensus parameter. 2022-08-11 09:19:17 -04:00
Mike Perry
7c186cf1e5 Prop 324: Describe RFC3742 Limited Slow Start 2022-08-11 09:19:17 -04:00
eta
aab9efe13b prop#324: mention rearranged form for N_EWMA smoothing
The formula used for N_EWMA is actually rearranged in the C tor
implementation, in a way that caused the arti reimplementation to be off
by a small rounding error until it was corrected.

In order to ensure other implementations don't have this issue, mention
the rearranged form and add a requirement that it be used.

(background:
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/525#note_2807244)
2022-08-08 13:16:36 +01:00
Roger Dingledine
b5e2002983 fix some easy typos in proposals 2022-07-27 01:25:09 -04:00
Nick Mathewson
6f9ec72e27 Add proposal 341-better-oos.md 2022-07-25 15:04:42 -04:00
Georg Koppen
09d74eec67
Fix typos
Closes: #164
2022-07-12 10:01:09 +00:00
David Goulet
bb7eba9b76 prop327: Change cell extension type value
Congestion control is 0x01 at this moment.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-29 12:04:21 -04:00
David Goulet
d943f8a338 prop327: Missing field due to typo
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-29 10:22:06 -04:00
Mike Perry
dabadcc9d6 Update Prop#324 clock heuristic spec for bug 40626. 2022-06-21 20:26:37 +00:00
Nick Mathewson
a5a8899898 Merge remote-tracking branch 'tor-gitlab/mr/72' 2022-06-10 10:21:27 -04:00
David Goulet
e787831689 prop339: Unify the address format into one object
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-07 09:47:07 -04:00
Roger Dingledine
b29e64e561 proof-reading on prop 266 2022-06-06 23:47:18 -04:00