| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | 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. | |||||
| * | | tor-proto: Pass a DynTimeProvider to the circuit reactor. | Gabriela Moldovan | 2025-05-06 | 3 | -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 Moldovan | 2025-05-06 | 1 | -9/+30 | |
| | | | ||||||
| * | | tor-proto: Store the DesiredUx inside ConfluxSet. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+10 | |
| | | | ||||||
| * | | tor-proto: Store the join point of the tunnel in ConfluxSet. | Gabriela Moldovan | 2025-05-06 | 1 | -4/+32 | |
| | | | ||||||
| * | | tor-proto: Add Circuit::last_hop_num for getting the last HopNum. | Gabriela Moldovan | 2025-05-06 | 2 | -6/+13 | |
| | | | | | | | | | This will be soon needed in the `ConfluxSet` implementation too. | |||||
| * | | tor-proto: Store the V1Nonce of a conflux set in ConfluxSet. | Gabriela Moldovan | 2025-05-06 | 1 | -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 Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | | | | | It doesn't actually need to be `pub(super)`. | |||||
| * | | tor-proto: Enable tor-cell/conflux is conflux is enabled. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | ||||||
| * | | release: Bump all unstable tor/arti crates to 0.30.0 | Wesley Aptekar-Cassels | 2025-05-01 | 2 | -20/+19 | |
| | | | | | | | | | | | | | | | | | ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.30.0 done ``` | |||||
| * | | Merge branch 'release-2025-04-update-semver' into 'main' | Nick Mathewson | 2025-04-30 | 1 | -0/+1 | |
| |\ \ | | | | | | | | | | | | | maint: Update semver.md files from semver-checks See merge request tpo/core/arti!2977 | |||||
| | * | | maint: Update semver.md files from semver-checks | Wesley Aptekar-Cassels | 2025-04-30 | 1 | -0/+1 | |
| | | | | ||||||
| * | | | chore: Run fixup-features. | Wesley Aptekar-Cassels | 2025-04-30 | 1 | -1/+1 | |
| |/ / | | | | | | | | | | | | | | | | | | | | | | | cargo run -p fixup-features -- --exclude examples/ --exclude maint/ Cargo.toml The following features in arti-ureq were manually added to full or marked non-additive: * rustls * native-tls * tokio * async-std | |||||
| * | | Update rand requirement to 0.9.1 | Nick Mathewson | 2025-04-29 | 1 | -1/+1 | |
| | | | | | | | | | | | (This is going to be a _requirement_, since rand 0.9.1 has a behavioral change from 0.9.0) | |||||
| * | | Run cargo update. | Wesley Aptekar-Cassels | 2025-04-29 | 1 | -1/+1 | |
| | | | | | | | | | | | I updated everything except rand, because the new version of rand interacts with #1903, thus requiring more care. | |||||
| * | | tor-proto: use RelayCellFormat rather than u8 in tests. | Nick Mathewson | 2025-04-29 | 1 | -14/+14 | |
| | | | | | | | | | (The u8 code was written before RelayCellFormat::V1 was introduced.) | |||||
| * | | Rename feature cgo => counter-galois-onion. | Nick Mathewson | 2025-04-29 | 2 | -5/+5 | |
| | | | ||||||
| * | | CGO: Fix authenticated-sendme tag handling. | Nick Mathewson | 2025-04-29 | 1 | -5/+20 | |
| | | | | | | | | | | | | | See discussion at torspec#328: it's important that our SENDME authentication tag always be taken based on the _encrypted_ cell. | |||||
| * | | CGO: Note another possible performance improvement. | Nick Mathewson | 2025-04-29 | 1 | -0/+3 | |
| | | | ||||||
| * | | proto: Implement and test CGO cryptography. | Nick Mathewson | 2025-04-29 | 4 | -13/+763 | |
| | | | | | | | | | | | | | | | | | This provides all the operations from proposal 359, along with the necessary integration and unit tests to make sure that they are behaving properly. Closes #1943 | |||||
| * | | proto: Implement UIV+, the wide-block RPRP used for CGO. | Nick Mathewson | 2025-04-29 | 2 | -1/+456 | |
| | | | ||||||
| * | | proto: Implement CGO functions ET and PRF | Nick Mathewson | 2025-04-29 | 4 | -4/+815 | |
| | | | | | | | | | | | | | | | These are a tweakable block cipher, and a pseudorandom byte stream. This commit includes test vectors, which were generated from the Python reference implementation and confirmed with a less optimized Rust implementation. | |||||
| * | | New empty CGO module. | Nick Mathewson | 2025-04-29 | 2 | -1/+26 | |
| | | | ||||||
| * | | proto: Unified integration tests for relay crypto. | Nick Mathewson | 2025-04-29 | 1 | -3/+210 | |
| | | | ||||||
| * | | proto: Make relay-side cell crypto traits return tags. | Nick Mathewson | 2025-04-29 | 2 | -15/+20 | |
| | | | | | | | | | | | | | (We'll need these tags both to implement authenticated SENDMES at the relay side, and also to make sure that cgo is generating them correctly.) | |||||
| * | | proto: Make crypt layers take a ChanCmd argument | Nick Mathewson | 2025-04-29 | 5 | -49/+66 | |
| | | | | | | | | | | | | | CGO will need this argument so that it can authenticate the command as part of its crypto operations. (Trying to meddle with RELAY vs RELAY_EARLY will no longer work!) | |||||
