| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | | | | | | | | | tor-proto: Remove unnecessary &mut self. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Fix typo in warning. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Remove unnecessary mut in seqno check. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Rename helper closure for clarity. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+2 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: s/leg/hop in variable name for clarity. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+2 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Get rid of unnecessary clone(). | Gabriela Moldovan | 2025-05-06 | 1 | -4/+1 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Note that we need to update impl based on torspec!369 | Gabriela Moldovan | 2025-05-06 | 1 | -0/+2 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Note the LINK cell was sent after sending it. | Gabriela Moldovan | 2025-05-06 | 1 | -5/+9 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Shut down if conflux initiator is gone before handshake completes. | Gabriela Moldovan | 2025-05-06 | 1 | -13/+28 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Move SWITCH seqno validation to validate_switch_seqno. | Gabriela Moldovan | 2025-05-06 | 1 | -8/+8 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Validate conflux state before decoding SWITCH. | Gabriela Moldovan | 2025-05-06 | 1 | -5/+5 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: s/link/linked_ack in variable name. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+2 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Validate conflux state before decoding LINKED cell. | Gabriela Moldovan | 2025-05-06 | 1 | -17/+17 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Check that we sent a LINK cell before decoding LINKED response. | Gabriela Moldovan | 2025-05-06 | 1 | -5/+5 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Use u64 for the conflux seqnos. | Gabriela Moldovan | 2025-05-06 | 4 | -22/+32 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Mention that the error came from a conflux circuit. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Remove references to non-client handlers from ↵ | Gabriela Moldovan | 2025-05-06 | 1 | -6/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ClientConfluxMsgHandler. | |||||
| | * | | | | | | | | | tor-proto: Allow cognitive complexity on handle_meta_cell. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+1 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Deferred fmt. | Gabriela Moldovan | 2025-05-06 | 1 | -4/+1 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Handle conflux handshake timeout, notify on completion. | Gabriela Moldovan | 2025-05-06 | 5 | -44/+133 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Use wallclock time in ClientConfluxMsgHandler. | Gabriela Moldovan | 2025-05-06 | 5 | -19/+42 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Implement conflux set leg removal. | Gabriela Moldovan | 2025-05-06 | 4 | -7/+145 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Reject cells received before conflux handshake is complete. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+10 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add a TODO about recovering from reactor errors. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+2 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Ensure the leg is linked before sending the cell. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+5 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Increment last_seq_sent after sending a cell. | Gabriela Moldovan | 2025-05-06 | 2 | -1/+21 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Specify which circuit leg to begin the stream on. | Gabriela Moldovan | 2025-05-06 | 2 | -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 Moldovan | 2025-05-06 | 3 | -17/+40 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolves a handful of TODOs. | |||||
| | * | | | | | | | | | tor-proto: Specify which leg to handle received SENDMEs on. | Gabriela Moldovan | 2025-05-06 | 1 | -8/+12 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Decide which circuit leg to send cells on. | Gabriela Moldovan | 2025-05-06 | 2 | -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 Moldovan | 2025-05-06 | 4 | -6/+194 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add helper for getting the CircHop of the join point. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+12 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add congestion control accessors for conflux. | Gabriela Moldovan | 2025-05-06 | 4 | -1/+47 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Remove a resolved XXX. | Gabriela Moldovan | 2025-05-06 | 1 | -4/+3 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Try to dequeue ooo messages in circ reactor main loop. | Gabriela Moldovan | 2025-05-06 | 3 | -9/+59 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add reactor cmd for buffering out-of-order messages. | Gabriela Moldovan | 2025-05-06 | 4 | -6/+220 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Split handle_relay_msg() into two functions. | Gabriela Moldovan | 2025-05-06 | 1 | -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 Moldovan | 2025-05-06 | 2 | -5/+74 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Support adding and linking circuits in ConfluxSet. | Gabriela Moldovan | 2025-05-06 | 3 | -4/+195 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add function for checking if a circuit has any open streams. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+11 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add helper for checking if cmd counts towards conflux seqnos. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+51 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a direct translation of C Tor's `conflux_should_multiplex()`. | |||||
| | * | | | | | | | | | tor-proto: Handle conflux cells in the reactor. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+39 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add a TODO about adding a conflux MetaCellHandler. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+5 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add Circuit function for beginning the conflux handshake. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+29 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add a ConfluxMsgHandler to Circuit. | Gabriela Moldovan | 2025-05-06 | 3 | -0/+49 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add last_seq_delivered to ConfluxSet. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+17 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add client-side conflux message handlers. | Gabriela Moldovan | 2025-05-06 | 5 | -0/+547 | |
| | | | | | | | | | | | ||||||
| | * | | | | | | | | | tor-proto: Add a reason to CircuitAction::RemoveLeg. | Gabriela Moldovan | 2025-05-06 | 2 | -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 Moldovan | 2025-05-06 | 1 | -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 Moldovan | 2025-05-06 | 2 | -0/+28 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These will be used for sending the conflux handshake outcome to the reactor user. | |||||
