| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | tor-proto: fix `clippy::needless_pass_by_value` warning | Steven Engler | 2025-10-21 | 1 | -0/+1 |
| | | |||||
| * | proto: Fix doc links post-refactoring | Gabriela Moldovan | 2025-10-21 | 1 | -1/+5 |
| | | |||||
| * | proto: Move StreamMpsc{Sender,Receiver} to stream module (fmt) | Gabriela Moldovan | 2025-10-21 | 3 | -3/+3 |
| | | |||||
| * | proto: Move StreamMpsc{Sender,Receiver} to stream module | Gabriela Moldovan | 2025-10-21 | 5 | -9/+8 |
| | | | | | These will be shared with the relay code. | ||||
| * | proto: Move hop settings into a shared module | Gabriela Moldovan | 2025-10-21 | 5 | -306/+15 |
| | | |||||
| * | proto: Move streammap out of the client module (fmt) | Gabriela Moldovan | 2025-10-21 | 3 | -5/+3 |
| | | |||||
| * | proto: Move halfstream under streammap | Gabriela Moldovan | 2025-10-21 | 1 | -247/+0 |
| | | | | | | | That way we don't need to make halfstream `pub(crate)` (we only really use it in streammap, and in the client reactor, because of the `handle_msg()` kludge). | ||||
| * | proto: Move streammap out of the client module | Gabriela Moldovan | 2025-10-21 | 7 | -685/+11 |
| | | |||||
| * | proto: Move dumb pipes to top-lvl stream module (fmt) | Gabriela Moldovan | 2025-10-21 | 6 | -6/+6 |
| | | |||||
| * | proto: Move dumb pipes to top-lvl stream module | Gabriela Moldovan | 2025-10-21 | 8 | -264/+7 |
| | | |||||
| * | proto: Give the relay reactor a stream map | Gabriela Moldovan | 2025-10-21 | 1 | -2/+2 |
| | | | | | | | We need it for exits and leaky pipe. Part of #2212 | ||||
| * | Cleanup: Remove a variable rename | Nick Mathewson | 2025-10-20 | 1 | -4/+2 |
| | | |||||
| * | Refactor: turn circ_extensions_from_settings into a method | Nick Mathewson | 2025-10-20 | 3 | -63/+62 |
| | | | | | Closes #2067. | ||||
| * | proto: Rename data cmd checkers to {Inbound,Outbound}DataCmdChecker | Gabriela Moldovan | 2025-10-16 | 5 | -14/+14 |
| | | | | | | | The previous "incoming" terminology was rather ambiguous. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3348#note_3275337 | ||||
| * | proto: Fix docs to refer to the right stream:: paths. | Gabriela Moldovan | 2025-10-16 | 2 | -2/+2 |
| | | |||||
| * | proto: Move IncomingDataCmdChecker to top-level stream module. | Gabriela Moldovan | 2025-10-16 | 2 | -49/+1 |
| | | | | | | | | This will be used by relays too (for validating incoming messages on streams). This is just code motion, so it's best reviewed with `--color-moved`. | ||||
| * | proto: Split out DataCmdChecker into multiple types (fmt). | Gabriela Moldovan | 2025-10-16 | 1 | -1/+1 |
| | | |||||
| * | proto: Split out DataCmdChecker into multiple types. | Gabriela Moldovan | 2025-10-16 | 3 | -13/+51 |
| | | | | | | | | | | | | The incoming one will be used for the exit relay implementation too. Also, with this change, receiving `CONNECTED` on an incoming stream will result in a clearer error message. Previously, the check against receiving `CONNECTED` on an incoming stream was bundled with the double-CONNECTED check for client data streams, so in the incoming stream case, the error message was misleading ("Received CONNECTED twice on a stream."). | ||||
| * | proto: Do not fully-qualify Arc. | Gabriela Moldovan | 2025-10-16 | 1 | -3/+3 |
| | | | | | | `Arc` is already in scope, and not fully-qualifying it makes it more readable. | ||||
| * | proto: Replace fully-qualified paths with use (fmt). | Gabriela Moldovan | 2025-10-16 | 2 | -8/+2 |
| | | |||||
| * | proto: Replace fully-qualified paths with use. | Gabriela Moldovan | 2025-10-16 | 2 | -8/+8 |
| | | |||||
| * | proto: Reformat imports post-move. | Gabriela Moldovan | 2025-10-16 | 9 | -9/+9 |
| | | |||||
| * | proto: Avoid crate-pub reexports of shared types from the client module. | Gabriela Moldovan | 2025-10-16 | 10 | -19/+17 |
| | | | | | | This makes it easier to see which parts are implementation-agnostic (i.e. do not import from crate::client). | ||||
| * | proto: Move cmdchecker under top-level stream module. | Gabriela Moldovan | 2025-10-16 | 2 | -57/+1 |
| | | | | | | The CmdChecker will be used by relays too, so I am moving it to the shared `stream` module. | ||||
| * | tor-proto: remove `StreamEndpointType` | Steven Engler | 2025-10-14 | 1 | -8/+6 |
| | | |||||
| * | Merge branch 'celltypes' into 'main' | gabi-250 | 2025-10-14 | 6 | -187/+5 |
| |\ | | | | | | | | | proto: Move celltypes out of client See merge request tpo/core/arti!3355 | ||||
| | * | proto: Move celltypes out of client | Gabriela Moldovan | 2025-10-13 | 6 | -187/+5 |
| | | | | | | | | | | | Some of these are relay-specific, so it makes more sense to pull this into a top-level module. | ||||
| * | | Merge branch 'unique-id' into 'main' | David Goulet | 2025-10-14 | 1 | -6/+0 |
| |\ \ | | | | | | | | | | | | | proto: Stop using tunnel IDs in relay reactor. See merge request tpo/core/arti!3353 | ||||
| | * | | proto: Stop using tunnel IDs in relay reactor. | Gabriela Moldovan | 2025-10-13 | 1 | -6/+0 |
| | |/ | | | | | | | | | | | | | | | | | | | | | | | Using a tunnel ID here doesn't make much sense right now, because we don't yet support exit-side conflux (and when we will, it's unclear whether the concept of "tunnel" will be applicable, especially if we refactor things such that multi-path circuits are handled without a ConfluxSet-like type like we have for clients). This change forces us to stop using the client-specific `unwrap_or_shutdown` (because this macro expects `self` to have a tunnel ID), but IMO that is okay. | ||||
| * / | proto: Use a small vec for the hop list. | Gabriela Moldovan | 2025-10-13 | 1 | -1/+7 |
| |/ | | | | | We can optimize for the general (N <= 3) case, and avoid a heap allocation. | ||||
| * | Merge branch 'mv-flow-ctrl' into 'main' | gabi-250 | 2025-10-08 | 17 | -1083/+14 |
| |\ | | | | | | | | | proto: Move flow_ctrl module under stream. See merge request tpo/core/arti!3335 | ||||
| | * | proto: Move flow_ctrl module under stream (fmt). | Gabriela Moldovan | 2025-10-07 | 8 | -18/+14 |
| | | | |||||
| | * | proto: Move flow_ctrl module under stream. | Gabriela Moldovan | 2025-10-07 | 17 | -1079/+14 |
| | | | | | | | | | This will be used by exits too, so I am moving it out of `client`. | ||||
| * | | tor-proto: deprecate handshake-specific create/extend variants | Nick Mathewson | 2025-10-07 | 1 | -0/+10 |
| |/ | | | | | | | Everybody should use create_firsthop() and extend(), and let tor-proto decide which handshake is best. Closes #1990. | ||||
| * | Merge branch 'chan_padder' into 'main' | Nick Mathewson | 2025-10-06 | 4 | -4/+20 |
| |\ | | | | | | | | | Apply maybenot padding to channels See merge request tpo/core/arti!3314 | ||||
| | * | proto: Add a comment to note a naming issue. | Nick Mathewson | 2025-10-02 | 1 | -0/+4 |
| | | | |||||
| | * | proto: Implement channel padding with maybenot padders. | Nick Mathewson | 2025-10-02 | 1 | -1/+0 |
| | | | | | | | | | With this commit we now actually generate padding when we're told to. | ||||
| | * | proto: Trigger maybenot events for channel-level padding. | Nick Mathewson | 2025-10-02 | 2 | -0/+9 |
| | | | |||||
| | * | proto: Generate per-sender NormalSent events from circuits. | Nick Mathewson | 2025-10-01 | 1 | -3/+7 |
| | | | |||||
| * | | tor-proto: fix comment related to validating stream messages | Steven Engler | 2025-09-30 | 1 | -3/+4 |
| |/ | | | | | | | | | | I don't think the previous comment is correct. The main flow control checks are about receiving SENDME/XON/XOFFs, and ensuring that we don't receive too many of them. This all happens in the reactor. In theory the stream should be checking that we don't receive too many DATA messages for how many stream SENDMEs we've sent. But this is broken due to arti#2100. We do check this in the halfstream code though. | ||||
| * | padding: Remove post-queue blocker. | Nick Mathewson | 2025-09-30 | 2 | -36/+26 |
| | | | | | | | | We no longer want to _ever_ block non-DATA cells, per discussion in circuit-padding.md. Closes #2190. | ||||
| * | padding: be less dogmatic in a TODO about where a buffer would go. | Nick Mathewson | 2025-09-30 | 1 | -4/+4 |
| | | |||||
| * | Sort output events for next_circ_action. | Nick Mathewson | 2025-09-29 | 1 | -1/+48 |
| | | | | | | | | | This sort makes it so that that blocking and unblocking are always ordered in a sensible way with respect to sending data. This might help simplify padding machines a bit. Prerequisite for #2190 | ||||
| * | proto: Replace magic value with constant (fmt). | Gabriela Moldovan | 2025-09-25 | 1 | -1/+2 |
| | | |||||
| * | proto: Replace magic value with constant. | Gabriela Moldovan | 2025-09-25 | 1 | -4/+9 |
| | | | | | | Also derives `CIRC_ACTION_COUNT` from the two other constants instead of hard-coding the value. | ||||
| * | proto: Use MAX_CONFLUX_LEGS instead of magic number. | Gabriela Moldovan | 2025-09-25 | 1 | -1/+2 |
| | | | | | | Besides, it's better if we use the same number for the expected number of legs as we do in the conflux set impl. | ||||
| * | proto: Make padding and timeout actions take priority. | Gabriela Moldovan | 2025-09-25 | 1 | -34/+69 |
| | | | | | | | | | | | This rewrites `next_circ_action()` yet again, using two layers of `PollAll`: * the inner layer drives an individual circuit leg. Each circuit has a `PollAll` that drives its futures * the outer layer drives the inner `PollAll`s belonging to the circuits that form the tunnel | ||||
| * | proto: Add comment emphasizing that the PollAll ordering matters. | Gabriela Moldovan | 2025-09-25 | 1 | -0/+7 |
| | | |||||
| * | proto: Add comment explaining why we need the chan_sender readiness check. | Gabriela Moldovan | 2025-09-25 | 1 | -0/+3 |
| | | |||||
| * | proto: Rewrite should_skip_join_point to return bool. | Gabriela Moldovan | 2025-09-25 | 1 | -11/+10 |
| | | | | | | We don't really need to return a `HopNum` anymore (because we work out the join point `HopNum` unconditionally in `next_circ_action`). | ||||
