| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | | | | tor-proto: fix a comment after previous move | Steven Engler | 2025-09-16 | 1 | -7/+5 | |
| | | | | | | ||||||
| | * | | | | tor-proto: change some `///` comments to `//!` | Steven Engler | 2025-09-16 | 1 | -27/+27 | |
| | | | | | | ||||||
| | * | | | | tor-proto: move some comments from `CC_XOFF_CLIENT` | Steven Engler | 2025-09-16 | 1 | -15/+20 | |
| | | | | | | ||||||
| | * | | | | tor-proto: use `CellCount` in `FlowCtrlParameters` | Steven Engler | 2025-09-16 | 1 | -6/+46 | |
| | | | | | | ||||||
| | * | | | | tor-proto: add pub `CellCount` | Steven Engler | 2025-09-15 | 2 | -1/+38 | |
| | | |_|/ | |/| | | ||||||
| * | | | | Merge branch 'padding_replace_and_channels' into 'main' | Nick Mathewson | 2025-09-16 | 4 | -14/+75 | |
| |\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | Proto, padding: Consider the channel queue for "Replace" padding sent to hop 1. Closes #2169 See merge request tpo/core/arti!3261 | |||||
| | * | | | proto: Consider the channel queue with "Replace" padding to hop 1. | Nick Mathewson | 2025-09-16 | 3 | -2/+15 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we want to send Replace padding (that is, padding that should only be sent if nothing else is queued) to hop 1, we can allow it to be replaced by cells from _any_ circuit being sent over the same channel. (Nobody but hop 1 can tell the difference.) Closes #2169 | |||||
| | * | | | proto: for padding, count cells on each channel queues. | Nick Mathewson | 2025-09-16 | 2 | -13/+61 | |
| | |/ / | | | | | | | | | | We'll use this to implement `replace` for padding to the first hop. | |||||
| * | | | Merge branch 'xon-xoff-checker' into 'main' | David Goulet | 2025-09-15 | 7 | -7/+109 | |
| |\ \ \ | |/ / |/| | | | | | | | | tor-proto,tor-netdir: add flow control consensus parameters See merge request tpo/core/arti!3249 | |||||
| | * | | tor-proto: pass `FlowCtrlParameters` to `XonXoffFlowCtrl` | Steven Engler | 2025-09-11 | 3 | -3/+30 | |
| | | | | ||||||
| | * | | tor-proto: add `FlowCtrlParameters` to `CircParameters` and `HopSettings` | Steven Engler | 2025-09-11 | 3 | -4/+56 | |
| | | | | ||||||
| | * | | tor-proto: add struct `FlowCtrlParameters` | Steven Engler | 2025-09-11 | 3 | -0/+24 | |
| | | | | ||||||
| * | | | proto: Fix a semantic merge conflict. | Nick Mathewson | 2025-09-15 | 1 | -1/+2 | |
| | | | | ||||||
| * | | | Merge branch 'maybenot-validate-padding' into 'main' | Nick Mathewson | 2025-09-15 | 4 | -38/+188 | |
| |\ \ \ | | | | | | | | | | | | | | | | | Validate incoming padding, and permit it when it is valid. See merge request tpo/core/arti!3241 | |||||
| | * | | | proto: Missing import. | Nick Mathewson | 2025-09-15 | 1 | -0/+1 | |
| | | | | | ||||||
| | * | | | proto: Use a new error type for excess padding. | Nick Mathewson | 2025-09-15 | 4 | -26/+35 | |
| | | | | | ||||||
| | * | | | proto, padding: A different formula to check padding total | Nick Mathewson | 2025-09-15 | 1 | -1/+6 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FMUL is usually faster than FDIV, so let's give that a try, in case the compiler doesn't figure it out on its own. Also, add a comment discussing an approach that might be better, if we run into a bottleneck here. | |||||
| | * | | | proto: Keep stats on padding, and kill circuits when too much is sent. | Nick Mathewson | 2025-09-09 | 1 | -1/+113 | |
| | | | | | | | | | | | | | | | | | The algorithm is simplistic, but may be useful | |||||
| | * | | | tor-proto: Move some functions from PaddingController to PaddingShared | Nick Mathewson | 2025-09-09 | 1 | -30/+35 | |
| | | | | | | | | | | | | | | | | | This will help avoid needing to acquire the lock more than once. | |||||
| | * | | | proto: Allow DROP command when padding is enabled. | Nick Mathewson | 2025-09-09 | 1 | -0/+10 | |
| | | | | | ||||||
| | * | | | proto: Make decrypted_padding fallible. | Nick Mathewson | 2025-09-09 | 3 | -7/+15 | |
| | | | | | | | | | | | | | | | | | This will let us reject excessive padding. | |||||
| * | | | | Merge branch 'padding_congestion_signal' into 'main' | Nick Mathewson | 2025-09-15 | 3 | -19/+36 | |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | proto: Base congestion signal on the channel. See merge request tpo/core/arti!3242 | |||||
| | * | | | | proto: Move congestion_signals into CircCellSender. | Nick Mathewson | 2025-09-09 | 3 | -35/+22 | |
| | | | | | | ||||||
| | * | | | | proto: Base congestion signal on the channel. | Nick Mathewson | 2025-09-09 | 2 | -5/+35 | |
| | |/ / / | | | | | | | | | | | | | | | | | | | | | We're doing this rather than having it look at CircuitCellSender under the theory that we want to infer our throughput independently from padding-based decisions of whether to block. | |||||
| * | | | | Merge branch 'correct_replace_behavior' into 'main' | Nick Mathewson | 2025-09-15 | 5 | -33/+58 | |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | Circuit padding: fix a couple of issues with the "replace" flag. See merge request tpo/core/arti!3246 | |||||
| | * | | | | Apply 1 suggestion(s) to 1 file(s) | Nick Mathewson | 2025-09-15 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | Co-authored-by: gabi-250 <[email protected]> | |||||
| | * | | | | proto: Only replace padding when the target will see it. | Nick Mathewson | 2025-09-10 | 4 | -6/+29 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would replace padding with any cell that was already in the queue. But that doesn't make sense: If we have a cell queued for hop 1, then we shouldn't use it as padding for hop 2, since hop 2 will never see it! Instead, we look at the target hops for the already queued cells. Ref: - https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3225/diffs?commit_id=3998e0559fbcc06f8ea88968051cebca71489a52 | |||||
| | * | | | | proto: derive Ord for HopNum. | Nick Mathewson | 2025-09-10 | 1 | -1/+1 | |
| | | | | | | ||||||
| | * | | | | proto: Emit the correct events on replacing padding | Nick Mathewson | 2025-09-10 | 2 | -27/+29 | |
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we replace padding with an _already queued_ cell, we should only trigger PaddingSent on the final hop's machine. Refs: - https://github.com/maybenot-io/maybenot/commit/35ba39d629d1e64a1346586112837e5015c47242#r164166126 - https://github.com/maybenot-io/maybenot/pull/35/commits/715455b8dcd95a32eafe261ab500cfed9415b7f3 - https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3225/diffs?commit_id=79a3305dc226f9f1136cad034e1a36413d6595f5 | |||||
| * | | | | Merge branch 'maybenot-bypass-simplification' into 'main' | gabi-250 | 2025-09-15 | 1 | -15/+32 | |
| |\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | proto: Simplify/correct padding-based blocking logic. See merge request tpo/core/arti!3252 | |||||
| | * | | | proto: Simplify/correct padding-based blocking logic. | Nick Mathewson | 2025-09-11 | 1 | -15/+32 | |
| | | |/ | |/| | | | | | | | | | | | | | | | | | | | The correction: We want to report a block as bypassable only if _every_ currently blocking hop has bypassable blocking. The simplification: We don't need to report the first hop that's blocking any more. | |||||
| * / | | tor-proto: fix path of `semver.md` | Steven Engler | 2025-09-11 | 1 | -1/+0 | |
| |/ / | | | | | | | | | `Release.md` gives a wildcard path of `crates/*/semver.md`, so it seems that these files should go in the top level of each crate. | |||||
| * | | tor-proto: add some missing doc comments | Steven Engler | 2025-09-10 | 5 | -1/+17 | |
| | | | ||||||
| * | | tor-proto: put some code behind the "flowctl-cc" feature | Steven Engler | 2025-09-10 | 2 | -0/+2 | |
| | | | ||||||
| * | | tor-proto: rename `StreamFlowCtrl` constructors | Steven Engler | 2025-09-10 | 4 | -8/+8 | |
| | | | ||||||
| * | | tor-proto: simplify `StreamFlowCtrlEnum` with `enum_dispatch` | Steven Engler | 2025-09-10 | 5 | -92/+67 | |
| | | | ||||||
| * | | tor-proto: rename `StreamFlowControl` to `StreamFlowCtrl` | Steven Engler | 2025-09-10 | 6 | -36/+36 | |
| | | | ||||||
| * | | tor-proto: rename `StreamFlowControlEnum` to `StreamFlowCtrlEnum` | Steven Engler | 2025-09-10 | 1 | -18/+18 | |
| | | | ||||||
| * | | tor-proto: remove some unneeded `pub(crate)` | Steven Engler | 2025-09-10 | 2 | -8/+5 | |
| | | | ||||||
| * | | tor-proto: move xon/xoff flow ctrl logic to `XonXoffFlowCtrl` | Steven Engler | 2025-09-10 | 2 | -143/+171 | |
| | | | ||||||
| * | | tor-proto: move window flow ctrl logic to `WindowFlowCtrl` | Steven Engler | 2025-09-10 | 2 | -36/+70 | |
| | | | ||||||
| * | | tor-proto: move flow control state constructors | Steven Engler | 2025-09-10 | 3 | -7/+27 | |
| | | | ||||||
| * | | tor-proto: renamed `XonXoffControl` to `XonXoffFlowCtrl` | Steven Engler | 2025-09-10 | 2 | -4/+4 | |
| | | | | | | | | | For consistency with `WindowFlowControl`. | |||||
| * | | tor-proto: moved `XonXoffControl` and `LastSentXonXoff` | Steven Engler | 2025-09-10 | 3 | -25/+36 | |
| | | | ||||||
| * | | tor-proto: added a `WindowFlowCtrl` state type | Steven Engler | 2025-09-10 | 4 | -5/+15 | |
| | | | ||||||
| * | | tor-proto: move `DrainRateRequest` | Steven Engler | 2025-09-10 | 6 | -12/+15 | |
| | | | ||||||
| * | | tor-proto: remove a `pub(crate) use` from `client::stream` | Steven Engler | 2025-09-10 | 10 | -14/+20 | |
| | | | | | | | | | | | For internal types, I think it becomes too much of a mess to export everything through a single module. | |||||
| * | | tor-proto: reorganize some flow control modules | Steven Engler | 2025-09-10 | 7 | -6/+10 | |
| |/ | | | | This is all private (or pub(crate)) code. | |||||
| * | Two grammar/typo fixes from @gabi-250 | Nick Mathewson | 2025-09-09 | 2 | -2/+2 | |
| | | ||||||
| * | proto: Make PaddingEvent uninhabited when padding is disabled. | Nick Mathewson | 2025-09-09 | 4 | -22/+29 | |
| | | ||||||
