summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge branch 'experimental_api_path' into 'main'gabi-2502025-05-061-1/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | circmgr: Make path module public on "--features=experimental-api" Closes #1981 See merge request tpo/core/arti!2990
| * | | circmgr: Make path module public on "--features=experimental-api"Nick Mathewson2025-05-051-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Back in 4c1eb94173521bc5104449327650e20ffe32afa7, for sensible reasons, we made `tor_circmgr::path` a crate-private module. But when we did that, we lost the ability for callers to construct circuits with custom paths. This will make it possible for callers to build custom circuits again, without committing to a very-long-term API for that. Closes #1981.
* | | | Merge branch 'windows' into 'main'Jim Newsome2025-05-061-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | fs-mistrust: fix build on non-unix systems See merge request tpo/core/arti!2962
| * | | | fs-mistrust: fix build on non-unix systemsTobias Stoeckmann2025-04-251-0/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | The TrustAdminOnly enum value is only defined for unix systems. Consider this fact in mistrust_build function to fix build on e.g. Windows systems.
* | | | tor-proto: Use AcqRel instead of SeqCst to clarify intent.Gabriela Moldovan2025-05-062-3/+3
| | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2946#note_3192334
* | | | tor-proto: Document the lifecycle of a ConfluxSet.Gabriela Moldovan2025-05-061-1/+28
| | | |
* | | | tor-proto: Document why RemoveLegReason exists.Gabriela Moldovan2025-05-061-0/+14
| | | |
* | | | tor-proto: Move error binding under is_conflux_pending condition.Gabriela Moldovan2025-05-061-7/+6
| | | | | | | | | | | | | | | | We don't use it outside this branch, so might as well move it there.
* | | | tor-proto: Remove already-addressed TODO.Gabriela Moldovan2025-05-061-2/+0
| | | | | | | | | | | | | | | | We already do this, using `note_conflux_handshake_result`.
* | | | tor-proto: Explain why the handshake result is noted before the LINKED_ACK.Gabriela Moldovan2025-05-061-1/+10
| | | |
* | | | tor-proto: Remove confusing parts of join_point docs.Gabriela Moldovan2025-05-061-4/+1
| | | |
* | | | tor-proto: Future-proof the unsupported_client_cell macro.Gabriela Moldovan2025-05-061-1/+2
| | | | | | | | | | | | | | | | | | | | Prompted by opara's suggestion in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2946#note_3192319
* | | | tor-proto: Clarify why ConfluxHandshakeComplete exists.Gabriela Moldovan2025-05-061-0/+8
| | | |
* | | | tor-proto: s/ConfluxTunnelResult/ConfluxHandshakeResults.Gabriela Moldovan2025-05-061-4/+4
| | | |
* | | | tor-proto: Linkify reference to HopDetail.Gabriela Moldovan2025-05-061-1/+1
| | | |
* | | | tor-proto: Fix incorrect RemoveLeg docs.Gabriela Moldovan2025-05-061-1/+1
| | | |
* | | | tor-proto: Clarify ConfluxHandshakeComplete docs.Gabriela Moldovan2025-05-061-2/+3
| | | |
* | | | tor-proto: Remove unnecessary TODO.Gabriela Moldovan2025-05-061-2/+0
| | | |
* | | | tor-proto: Add TODO about only switching legs before sending a cell.Gabriela Moldovan2025-05-061-0/+4
| | | |
* | | | tor-proto: Increment last delivered seqno for items popped from the heap.Gabriela Moldovan2025-05-062-4/+14
| | | |
* | | | tor-proto: Remove unnecessary &mut self.Gabriela Moldovan2025-05-061-1/+1
| | | |
* | | | tor-proto: Fix typo in warning.Gabriela Moldovan2025-05-061-1/+1
| | | |
* | | | tor-proto: Remove unnecessary mut in seqno check.Gabriela Moldovan2025-05-061-1/+1
| | | |
* | | | tor-proto: Rename helper closure for clarity.Gabriela Moldovan2025-05-061-2/+2
| | | |
* | | | tor-proto: s/leg/hop in variable name for clarity.Gabriela Moldovan2025-05-061-2/+2
| | | |
* | | | tor-proto: Get rid of unnecessary clone().Gabriela Moldovan2025-05-061-4/+1
| | | |
* | | | tor-proto: Note that we need to update impl based on torspec!369Gabriela Moldovan2025-05-061-0/+2
| | | |
* | | | tor-proto: Note the LINK cell was sent after sending it.Gabriela Moldovan2025-05-061-5/+9
| | | |
* | | | tor-proto: Shut down if conflux initiator is gone before handshake completes.Gabriela Moldovan2025-05-061-13/+28
| | | |
* | | | tor-proto: Move SWITCH seqno validation to validate_switch_seqno.Gabriela Moldovan2025-05-061-8/+8
| | | |
* | | | tor-proto: Validate conflux state before decoding SWITCH.Gabriela Moldovan2025-05-061-5/+5
| | | |
* | | | tor-proto: s/link/linked_ack in variable name.Gabriela Moldovan2025-05-061-2/+2
| | | |
* | | | tor-proto: Validate conflux state before decoding LINKED cell.Gabriela Moldovan2025-05-061-17/+17
| | | |
* | | | tor-proto: Check that we sent a LINK cell before decoding LINKED response.Gabriela Moldovan2025-05-061-5/+5
| | | |
* | | | tor-proto: Use u64 for the conflux seqnos.Gabriela Moldovan2025-05-064-22/+32
| | | |
* | | | tor-proto: Mention that the error came from a conflux circuit.Gabriela Moldovan2025-05-061-1/+1
| | | |
* | | | 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).