| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | proto: Remove duplicate word in comment. | Gabriela Moldovan | 2025-09-22 | 1 | -1/+1 | |
| | | | ||||||
| | * | proto: Add new error type for cells received on non-existent streams. | Gabriela Moldovan | 2025-09-22 | 4 | -11/+41 | |
| | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3267#note_3261239 | |||||
| | * | proto: Log circuit reactor errors at debug level. | Gabriela Moldovan | 2025-09-22 | 1 | -2/+2 | |
| | | | ||||||
| | * | proto: Reject any messages arriving on expired half-streams. | Gabriela Moldovan | 2025-09-19 | 3 | -3/+11 | |
| | | | | | | | | | | | | | Half-streams are periodically removed from each hop's stream map by the reactor main loop, but we still need to ensure we reject any messages arriving on expired half-streams in between these cleanup cycles. | |||||
| | * | proto: Add test to ensure half-streams are removed after a while. | Gabriela Moldovan | 2025-09-19 | 1 | -0/+80 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This tests that the half-stream expiry works as expected. Note: it doesn't! This test currently fails, because there's a bug in the way half-streams are expired. Because we don't do it on a timer, and instead garbage-collect the half-streams on each reactor iteration, if the reactor is stuck long enough `.await`ing a message on one of its channels (for example, the `input` one), there is a chance it will accept a cell on a half-stream that should've been expired. A future commit will fix this bug. | |||||
| | * | proto: Calculate CBT more accurately. | Gabriela Moldovan | 2025-09-19 | 2 | -4/+9 | |
| | | | | | | | | | | | | | This should look at length of the circuit up until the hop where the half-stream is (because the half-stream might be on an intermediate hop, and not necessarily on the final one). | |||||
| | * | proto: Remove half-streams when they expire. | Gabriela Moldovan | 2025-09-16 | 4 | -1/+33 | |
| | | | | | | | | | Closes #264 | |||||
| | * | circmgr: Pass the timeout estimator to circuit constructor (fmt). | Gabriela Moldovan | 2025-09-16 | 2 | -3/+9 | |
| | | | ||||||
| | * | circmgr: Pass the timeout estimator to circuit constructor. | Gabriela Moldovan | 2025-09-16 | 2 | -6/+5 | |
| | | | | | | | | | | | This enables us to read the CBT estimates from the circuit reactor (we need these to compute the half-stream timeouts for #264). | |||||
| | * | proto: Use the CBT to compute half-stream timeouts. | Gabriela Moldovan | 2025-09-16 | 5 | -9/+54 | |
| | | | ||||||
| | * | proto: Give Each EndSentStreamEnt an expiry (fmt). | Gabriela Moldovan | 2025-09-16 | 2 | -2/+8 | |
| | | | ||||||
| | * | proto: Give Each EndSentStreamEnt an expiry. | Gabriela Moldovan | 2025-09-16 | 4 | -8/+44 | |
| | | | ||||||
| | * | proto: Remove unnecessary IEFE. | Gabriela Moldovan | 2025-09-16 | 1 | -6/+4 | |
| | | | | | | | | | | | The move of `self` into the closure was getting in the way, as I will need to reference `self` again below. | |||||
| | * | proto: Add an accessor for the max observed circ RTT. | Gabriela Moldovan | 2025-09-16 | 1 | -0/+6 | |
| | | | | | | | | | We will need this to calculate the END ack timeout. | |||||
| | * | proto: Expose RoundtripTimeEstimator more broadly. | Gabriela Moldovan | 2025-09-16 | 1 | -3/+0 | |
| | | | | | | | | | We need this to calculate the half-stream timeouts for #264. | |||||
| * | | tor-proto: add some trace logs to XON/XOFF code | Steven Engler | 2025-09-22 | 1 | -0/+9 | |
| | | | ||||||
| * | | Merge branch 'migrate-to-waker-noop' into 'main' | Jim Newsome | 2025-09-22 | 1 | -6/+4 | |
| |\ \ | | | | | | | | | | | | | Migrate to waker noop See merge request tpo/core/arti!3250 | |||||
| | * | | Migrate to waker noop | disha | 2025-09-22 | 1 | -6/+4 | |
| | | | | ||||||
| * | | | Merge branch 'xon-xoff-checker' into 'main' | David Goulet | 2025-09-18 | 7 | -42/+62 | |
| |\ \ \ | | | | | | | | | | | | | | | | | tor-proto: Small improvements to XON/XOFF code See merge request tpo/core/arti!3273 | |||||
| | * | | | tor-proto: fix a hard-coded `cc_xoff_client` | Steven Engler | 2025-09-18 | 2 | -4/+15 | |
| | | | | | | | | | | | | | | | | | This should be `cc_xoff_exit` if we're an exit. | |||||
| | * | | | tor-proto: rename `take_capacity_to_send` to `about_to_send` | Steven Engler | 2025-09-18 | 6 | -27/+21 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | XON/XOFF flow control doesn't have the idea of taking "capacity". But it does need to know the messages we're about to send so that it can count the number of stream bytes that we've sent. | |||||
| | * | | | tor-proto: add checks for receiving XON/XOFF before data sent | Steven Engler | 2025-09-17 | 1 | -0/+14 | |
| | | | | | ||||||
| | * | | | tor-proto: share the `FlowCtrlParameters` across streams | Steven Engler | 2025-09-17 | 3 | -11/+12 | |
| | | | | | | | | | | | | | | | | | | | | | Streams at the same circuit hop will now share a single `Arc<FlowCtrlParameters>`. | |||||
| * | | | | Merge branch 'simple_circpad_todos' into 'main' | gabi-250 | 2025-09-18 | 7 | -58/+59 | |
| |\ \ \ \ | |/ / / |/| | | | | | | | | | | | Resolve blocking padding-related TODOs See merge request tpo/core/arti!3271 | |||||
| | * | | | counting_policy: fix a doc link. | Nick Mathewson | 2025-09-17 | 1 | -1/+1 | |
| | | | | | ||||||
| | * | | | proto: Use a VecDeque for padding events; avoid reversing. | Nick Mathewson | 2025-09-17 | 1 | -11/+7 | |
| | | | | | ||||||
| | * | | | proto: Rename PaddingEventVec => PaddingEventQueue | Nick Mathewson | 2025-09-17 | 1 | -5/+5 | |
| | | | | | ||||||
| | * | | | proto: Fix a pair of padding setup TODOs. | Nick Mathewson | 2025-09-17 | 1 | -22/+37 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we install a new padder, we should check whether we have become unblocked, and we should wake up the PaddingEventStream in case the new padder has something to say. This has required us to move a couple of fields around, but not in a very complicated way. | |||||
| | * | | | proto::util::sink_blocker: Narrow dead_code warning exception. | Nick Mathewson | 2025-09-17 | 2 | -17/+6 | |
| | | | | | ||||||
| | * | | | proto: resolve/edit trivial "TODO circpad" instances. | Nick Mathewson | 2025-09-17 | 4 | -8/+14 | |
| | | | | | ||||||
| | * | | | proto::channel: Remove some statements about limitations. | Nick Mathewson | 2025-09-17 | 1 | -6/+1 | |
| | | | | | | | | | | | | | | | | | | | | | These have all become false, except for the one about being client-only, which is recapitulated at the crate level. | |||||
| * | | | | Merge branch 'xon-xoff-checker-2' into 'main' | opara | 2025-09-18 | 6 | -42/+353 | |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Add dropmark sidechannel mitigations for XON/XOFF flow control Closes #2129 See merge request tpo/core/arti!3266 | |||||
| | * | | | | tor-proto: improved the `SidechannelMitigation` tests | Steven Engler | 2025-09-17 | 1 | -67/+67 | |
| | | | | | | ||||||
| | * | | | | tor-proto: enabled some tests for `SidechannelMitigation` | Steven Engler | 2025-09-17 | 1 | -12/+9 | |
| | | | | | | ||||||
| | * | | | | tor-proto: update some comments for `SidechannelMitigation` | Steven Engler | 2025-09-17 | 1 | -3/+41 | |
| | | | | | | ||||||
| | * | | | | tor-proto: add some tests for XON/XOFF `SidechannelMitigation` | Steven Engler | 2025-09-16 | 1 | -0/+81 | |
| | | | | | | ||||||
| | * | | | | tor-proto: rename `FlowCtrlMethods` to `FlowCtrlHooks` | Steven Engler | 2025-09-16 | 5 | -10/+8 | |
| | | | | | | ||||||
| | * | | | | tor-proto: move check for consecutive XOFF messages | Steven Engler | 2025-09-16 | 1 | -13/+8 | |
| | | | | | | ||||||
| | * | | | | tor-proto: add `SidechannelMitigation` to `XonXoffFlowCtrl` | Steven Engler | 2025-09-16 | 3 | -4/+54 | |
| | | | | | | ||||||
| | * | | | | tor-proto: add `SidechannelMitigation` for XON/XOFF flow control | Steven Engler | 2025-09-16 | 2 | -1/+154 | |
| | | | | | | | | | | | | | | | | | | | | | This is not used anywhere yet. | |||||
| | * | | | | tor-proto: rename `LastSentXonXoff` to `XonXoffMsg` | Steven Engler | 2025-09-16 | 1 | -10/+7 | |
| | | | | | | ||||||
| | * | | | | tor-proto: change `take_capacity_to_send` to take `AnyRelayMsg` | Steven Engler | 2025-09-16 | 5 | -9/+11 | |
| | | | | | | ||||||
| * | | | | | proto: Resolve a warning when building without flowctl-cc. | Nick Mathewson | 2025-09-17 | 1 | -0/+2 | |
| | |/ / / |/| | | | | | | | | | | | | | | | Rust was complaining that we were taking these arguments by value but not consuming. | |||||
| * | | | | Merge branch 'maybenot-manual' into 'main' | Nick Mathewson | 2025-09-16 | 8 | -37/+310 | |
| |\ \ \ \ | |/ / / |/| | | | | | | | | | | | proto: Experimental API to install a circuit padder at a hop. See merge request tpo/core/arti!3262 | |||||
| | * | | | Fix several rustdoc links. | Nick Mathewson | 2025-09-16 | 5 | -17/+14 | |
| | | | | | ||||||
| | * | | | Fix check_doc_features warning. | Nick Mathewson | 2025-09-16 | 2 | -9/+2 | |
| | | | | | ||||||
| | * | | | proto: Remove/narrow circ-padding allow(dead_code) exception. | Nick Mathewson | 2025-09-15 | 3 | -19/+17 | |
| | | | | | | | | | | | | | | | | | | | | | We still have dead code when circ-padding but not circ-padding-manual is provided. | |||||
| | * | | | proto: Experimental API to install a circuit padder at a hop. | Nick Mathewson | 2025-09-15 | 8 | -18/+303 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now, we're not going to implement hop negotiation: we're still waiting to find a set of padding machines that will be useful for Arti. This API will help facilitate experimentation to find such padding machines. These APIs are under a separate feature (`circ-padding-manual`) to avoid confusing them with the rest of the padding code: we only want them to be exported when the researcher wants to manually install circuit padding. | |||||
| * | | | | Merge branch 'xon-xoff-checker' into 'main' | opara | 2025-09-16 | 3 | -44/+118 | |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | tor-proto,tor-cell: Begin using consensus parameters in XON/XOFF flow control See merge request tpo/core/arti!3263 | |||||
| | * | | | | tor-proto: use consensus parameter in `XonXoffFlowCtrl` | Steven Engler | 2025-09-16 | 1 | -10/+4 | |
| | | | | | | ||||||
