summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | tor-proto: Remove references to non-client handlers from ↵Gabriela Moldovan2025-05-061-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ClientConfluxMsgHandler.
| * | | | | | | | tor-proto: Allow cognitive complexity on handle_meta_cell.Gabriela Moldovan2025-05-061-0/+1
| | | | | | | | |
| * | | | | | | | tor-proto: Deferred fmt.Gabriela Moldovan2025-05-061-4/+1
| | | | | | | | |
| * | | | | | | | tor-proto: Handle conflux handshake timeout, notify on completion.Gabriela Moldovan2025-05-065-44/+133
| | | | | | | | |
| * | | | | | | | tor-proto: Use wallclock time in ClientConfluxMsgHandler.Gabriela Moldovan2025-05-065-19/+42
| | | | | | | | |
| * | | | | | | | tor-proto: Implement conflux set leg removal.Gabriela Moldovan2025-05-064-7/+145
| | | | | | | | |
| * | | | | | | | tor-proto: Reject cells received before conflux handshake is complete.Gabriela Moldovan2025-05-061-0/+10
| | | | | | | | |
| * | | | | | | | tor-proto: Add a TODO about recovering from reactor errors.Gabriela Moldovan2025-05-061-0/+2
| | | | | | | | |
| * | | | | | | | tor-proto: Ensure the leg is linked before sending the cell.Gabriela Moldovan2025-05-061-0/+5
| | | | | | | | |
| * | | | | | | | tor-proto: Increment last_seq_sent after sending a cell.Gabriela Moldovan2025-05-062-1/+21
| | | | | | | | |
| * | | | | | | | tor-proto: Specify which circuit leg to begin the stream on.Gabriela Moldovan2025-05-062-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CtrlMsg::BeginStream is expected to contain an appropriate TargetHop (i.e. we expect the caller to ensure BeginStream request is for the right leg/hop).
| * | | | | | | | tor-proto: Specify the leg id in RunOnceCmdInner::Send.Gabriela Moldovan2025-05-063-17/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolves a handful of TODOs.
| * | | | | | | | tor-proto: Specify which leg to handle received SENDMEs on.Gabriela Moldovan2025-05-061-8/+12
| | | | | | | | |
| * | | | | | | | tor-proto: Decide which circuit leg to send cells on.Gabriela Moldovan2025-05-062-2/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, `CircuitCmd::Send` would indicate that a cell needs to be sent down on the circuit leg that returned the `CircuitCmd`, but that's no longer the case. Now, the `ConfluxSet` processes each `CircuitCmd` returned by its inner `Circuit`s, and for each command it decides whether it needs to be sent on the primary leg (if conflux is enabled and the cell counts towards conflux sequence numbers), or on the leg it was originally meant to (if conflux is disabled, or the cell doesn't count towards sequence numbers). It also modifies the target hop of the cell (because the multiplexable cells always need to be sent to the join point).
| * | | | | | | | tor-proto: Implement conflux primary leg selection.Gabriela Moldovan2025-05-064-6/+194
| | | | | | | | |
| * | | | | | | | tor-proto: Add helper for getting the CircHop of the join point.Gabriela Moldovan2025-05-061-0/+12
| | | | | | | | |
| * | | | | | | | tor-proto: Add congestion control accessors for conflux.Gabriela Moldovan2025-05-064-1/+47
| | | | | | | | |
| * | | | | | | | tor-proto: Remove a resolved XXX.Gabriela Moldovan2025-05-061-4/+3
| | | | | | | | |
| * | | | | | | | tor-proto: Try to dequeue ooo messages in circ reactor main loop.Gabriela Moldovan2025-05-063-9/+59
| | | | | | | | |
| * | | | | | | | tor-proto: Add reactor cmd for buffering out-of-order messages.Gabriela Moldovan2025-05-064-6/+220
| | | | | | | | |
| * | | | | | | | tor-proto: Split handle_relay_msg() into two functions.Gabriela Moldovan2025-05-061-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Soon `handle_in_order_relay_msg()` will be called from other places too, for handling deferred out-of-order conflux messages.
| * | | | | | | | tor-proto: Add a CtrlMsg for linking circuits.Gabriela Moldovan2025-05-062-5/+74
| | | | | | | | |
| * | | | | | | | tor-proto: Support adding and linking circuits in ConfluxSet.Gabriela Moldovan2025-05-063-4/+195
| | | | | | | | |
| * | | | | | | | tor-proto: Add function for checking if a circuit has any open streams.Gabriela Moldovan2025-05-061-0/+11
| | | | | | | | |
| * | | | | | | | tor-proto: Add helper for checking if cmd counts towards conflux seqnos.Gabriela Moldovan2025-05-061-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a direct translation of C Tor's `conflux_should_multiplex()`.
| * | | | | | | | tor-proto: Handle conflux cells in the reactor.Gabriela Moldovan2025-05-061-0/+39
| | | | | | | | |
| * | | | | | | | tor-proto: Add a TODO about adding a conflux MetaCellHandler.Gabriela Moldovan2025-05-061-0/+5
| | | | | | | | |
| * | | | | | | | tor-proto: Add Circuit function for beginning the conflux handshake.Gabriela Moldovan2025-05-061-0/+29
| | | | | | | | |
| * | | | | | | | tor-proto: Add a ConfluxMsgHandler to Circuit.Gabriela Moldovan2025-05-063-0/+49
| | | | | | | | |
| * | | | | | | | tor-proto: Add last_seq_delivered to ConfluxSet.Gabriela Moldovan2025-05-061-0/+17
| | | | | | | | |
| * | | | | | | | tor-proto: Add client-side conflux message handlers.Gabriela Moldovan2025-05-065-0/+547
| | | | | | | | |
| * | | | | | | | tor-proto: Add a reason to CircuitAction::RemoveLeg.Gabriela Moldovan2025-05-062-5/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The leg removal reason will be shared with the initiator of the conflux handshake (i.e. the sender of the `CtrlMsg` initiating the handshake), if the tunnel is a multi-path tunnel with conflux handshakes in progress.
| * | | | | | | | tor-proto: Add conflux handshake state to reactor.Gabriela Moldovan2025-05-061-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reactor will need to notify the conflux handshake initiator (the sender of the `CtrlMsg` that triggered the handshake) of conflux set readiness, so it needs to keep track of the status of the circuits it was asked to link.
| * | | | | | | | tor-proto: Add error and channel types for conflux handshake outcome.Gabriela Moldovan2025-05-062-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These will be used for sending the conflux handshake outcome to the reactor user.
| * | | | | | | | tor-proto: Pass a DynTimeProvider to the circuit reactor.Gabriela Moldovan2025-05-063-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will need this to implement conflux handshake timeouts, and to get the current time for RTT calculations.
| * | | | | | | | tor-proto: Add macro to dedupe error handling.Gabriela Moldovan2025-05-061-9/+30
| | | | | | | | |
| * | | | | | | | tor-proto: Store the DesiredUx inside ConfluxSet.Gabriela Moldovan2025-05-061-1/+10
| | | | | | | | |
| * | | | | | | | tor-proto: Store the join point of the tunnel in ConfluxSet.Gabriela Moldovan2025-05-061-4/+32
| | | | | | | | |
| * | | | | | | | tor-proto: Add Circuit::last_hop_num for getting the last HopNum.Gabriela Moldovan2025-05-062-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be soon needed in the `ConfluxSet` implementation too.
| * | | | | | | | tor-proto: Store the V1Nonce of a conflux set in ConfluxSet.Gabriela Moldovan2025-05-061-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be shared by all circuits in the set, and will be used during the conflux handshake.
| * | | | | | | | tor-proto: Make ConfluxSet::primary_id private.Gabriela Moldovan2025-05-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't actually need to be `pub(super)`.
| * | | | | | | | tor-proto: Enable tor-cell/conflux is conflux is enabled.Gabriela Moldovan2025-05-061-1/+1
|/ / / / / / / /
* | | | | | | | Merge branch 'tolerate-hs-errs' into 'main'Nick Mathewson2025-05-061-5/+5
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | shadow CI test: only require 1 successful HS transfer See merge request tpo/core/arti!2991
| * | | | | | | shadow CI test: only require 1 successful HS transferJim Newsome2025-05-051-5/+5
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per previous discussion there is some known flakiness around hidden services with TestingTorNetwork enabled: <https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1399#note_2921505> Previously, only requiring 5 of 10 transfers to succeed has been enough to keep this stable, but recently we've gotten unlucky and dipped under this threshold: <https://gitlab.torproject.org/tpo/core/arti/-/issues/1986> More investigation is warranted, especially wrt why the problem seems to mostly be affecting articlient-onion-auth, but for now it's better to have a low success threshold than to have folks overriding the CI failure.
* | | | | | | Merge branch 'release-notes-update' into 'main'Nick Mathewson2025-05-051-7/+22
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updates to Release.md from recent release See merge request tpo/core/arti!2987
| * | | | | | | Release.md: Note that we remove semver.md after releaseNick Mathewson2025-05-051-0/+5
| | | | | | | |
| * | | | | | | Release.md: Note that not every semver-checks lint mattersNick Mathewson2025-05-051-0/+5
| | | | | | | |
| * | | | | | | Release.md: Remove mention of "pages" branchNick Mathewson2025-05-051-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't use this branch for our website any longer.
| * | | | | | | Release.md: note "Upgrade Blocker" ticketsNick Mathewson2025-05-051-0/+11
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should check what dependencies we cannot upgrade, so that the release engineer has some history about where we got stuck last time.
* | | | | | | Merge branch 'clean-implement-haskind-for-toraddrerror' into 'main'David Goulet2025-05-052-3/+28
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TODO: Implement HasKind trait for TorAddrError See merge request tpo/core/arti!2965