| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | proto: Use selected format when encoding messages | Nick Mathewson | 2025-04-16 | 1 | -6/+11 | |
| | | ||||||
| * | Add a RelayCellFormat argument to encode(). | Nick Mathewson | 2025-04-16 | 5 | -11/+20 | |
| | | | | | | | | | | This will let us actually _send_ messages in the right format. This approach is not ideal for packed/fragmented messages; they will need a separate RelayCellEncoder. part of #1944. | |||||
| * | Note some places where we need updates for #1944. | Nick Mathewson | 2025-04-16 | 4 | -2/+8 | |
| | | | | | (Also note a couple of other CGO-related issues) | |||||
| * | proto: Avoid panic on non-existent hop number | Nick Mathewson | 2025-04-11 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | In `send_relay_cell()` in `tunnel/reactor/circuit.rs`, replace an unconditional array access (which would cause a panic if `hop_num` were out-of-range) with a checked `get_mut()` call. It's not totally clear whether this can happen in practice, but in either case, an error is probably better than a panic. All of our other lookups in this vector are either checked, or more obviously infallible. Closes #1950. | |||||
| * | Allow StreamOps import to be unused | Nick Mathewson | 2025-04-09 | 1 | -2/+8 | |
| | | | | | | This comes up on OSX; I hadn't seen it before, so I assume it is new with Rust 1.86. | |||||
| * | tor-proto: Add TODO about using Itertools instead of open-coded impl. | Gabriela Moldovan | 2025-04-08 | 1 | -0/+2 | |
| | | | | | | This won't involve an extra dep, because we already use `itertools` throughout the codebase. | |||||
| * | tor-proto: Remove outdated TODO. | Gabriela Moldovan | 2025-04-08 | 1 | -4/+0 | |
| | | | | | | For service introduction circuits, we have `IptMsgHandler`, so we've already worked something out :) | |||||
| * | tor-proto: clean up after "ntor_v3" feature flag removal | Steven Engler | 2025-04-01 | 1 | -2/+1 | |
| | | ||||||
| * | tor-proto: removed "ntor_v3" feature flag | Steven Engler | 2025-04-01 | 6 | -23/+0 | |
| | | | | | ntor v3 is now always enabled. | |||||
| * | Remove semver.md files post-release. | Gabriela Moldovan | 2025-04-01 | 1 | -1/+0 | |
| | | ||||||
| * | tor-proto: remove unnecessary `Option` from `circuit_action` | Steven Engler | 2025-03-26 | 2 | -10/+9 | |
| | | ||||||
| * | tor-proto: fix possible bug when there are no ready streams | Steven Engler | 2025-03-26 | 1 | -13/+21 | |
| | | ||||||
| * | Merge branch 'circuit-action' into 'main' | opara | 2025-03-25 | 2 | -16/+17 | |
| |\ | | | | | | | | | tor-proto: simplify `ConfluxSet::circuit_action` See merge request tpo/core/arti!2884 | |||||
| | * | tor-basic-utils: move `flatten` from tor-proto | Steven Engler | 2025-03-25 | 1 | -10/+1 | |
| | | | | | | | | | I also added an additional non-doc TODO comment. | |||||
| | * | tor-proto: simplify tunnel `run_once` | Steven Engler | 2025-03-24 | 1 | -7/+1 | |
| | | | | | | | | | As far as I can tell, the extra drop handling code isn't needed anymore. | |||||
| | * | tor-proto: remove `CircuitActionResult` alias | Steven Engler | 2025-03-24 | 1 | -4/+1 | |
| | | | | | | | | | | | I think the return type is simplified enough now that we don't need this. | |||||
| | * | tor-proto: change `ConfluxSet::next_circ_action` to return a `Future` | Steven Engler | 2025-03-24 | 2 | -6/+25 | |
| | | | | | | | | | | | | | Now returns only the first item of the stream rather than the stream itself. We use this in `Reactor::run_once`, which means we only ever use the first item anyways. | |||||
| | * | tor-proto: rename `ConfluxSet::circuit_action` to `next_circ_action` | Steven Engler | 2025-03-24 | 2 | -6/+6 | |
| | | | ||||||
| * | | Merge branch 'circuit-cmd' into 'main' | gabi-250 | 2025-03-25 | 3 | -66/+155 | |
| |\ \ | |/ |/| | | | | | tor-proto: Replace RunOnceCmdInner with CircuitCmd in Circuit impl See merge request tpo/core/arti!2881 | |||||
| | * | tor-proto: Add a TODO about supporting incoming streams with conflux. | Gabriela Moldovan | 2025-03-24 | 1 | -0/+1 | |
| | | | ||||||
| | * | tor-proto: Clarify the semantics of various CircuitCmds. | Gabriela Moldovan | 2025-03-24 | 1 | -3/+3 | |
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2881#note_3178624 | |||||
| | * | tor-proto: Add a TODO about the unnecessary Vec allocations. | Gabriela Moldovan | 2025-03-24 | 2 | -2/+11 | |
| | | | ||||||
| | * | tor-proto: Add TODO about rethinking the circuit *Cmd enums. | Gabriela Moldovan | 2025-03-24 | 1 | -0/+6 | |
| | | | ||||||
| | * | tor-proto: s/CircuitAction::Single/CircuitAction::RunCmd. | Gabriela Moldovan | 2025-03-24 | 3 | -8/+6 | |
| | | | | | | | | | | | There is no `Multiple` counterpart in `CircuitAction`, so the `Single` variant name doesn't make much sense. | |||||
| | * | tor-proto: Remove now-unused leg_id argument. | Gabriela Moldovan | 2025-03-24 | 2 | -7/+1 | |
| | | | | | | | | | | | The `LegId` is now added by the caller, when converting the resulting `CircuitCmd`s to `RunOnceCmdInner`. | |||||
| | * | tor-proto: Add docs to SendRelayCell. | Gabriela Moldovan | 2025-03-24 | 1 | -3/+3 | |
| | | | ||||||
| | * | tor-proto: Replace RunOnceCmdInner with CircuitCmd where appropriate. | Gabriela Moldovan | 2025-03-24 | 3 | -47/+61 | |
| | | | | | | | | | | | `CircuitCmd`s are a subset of `RunOnceCmdInner`, and don't have a `LegId`. | |||||
| | * | tor-proto: Add CircuitCmd enum. | Gabriela Moldovan | 2025-03-24 | 2 | -1/+63 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A `CircuitCmd`, unlike `RunOnceCmdInner`, doesn't know anything about `LegId`s. The user of the `CircuitCmd`s is supposed to know the `LegId` of the circuit the `CircuitCmd` came from. This is necessary because circuits don't know (and can't know) their own `LegId`. The various `Circuit` operations (e.g. `handle_cell`) will soon be updated to return `CircuitCmd` instead of `RunOnceCmdInner` (because the `RunOnceCmdInner` variants will soon be updated to also have an associated `LegId`, and `Circuit`s don't have access to their `LegId`s). The calling code, which *does* know the `LegId`, will then map `CircuitCmd`s to `RunOnceCmdInner`. | |||||
| | * | tor-proto: Put the leg id of the circuit in CircuitAction::HandleCell. | Gabriela Moldovan | 2025-03-23 | 2 | -7/+12 | |
| | | | | | | | | | | | | | | | This tells the reactor which circuit leg the input message originated from. Addresses a TODO. | |||||
| * | | tor-proto: send errors to oneshot channel in more places | Steven Engler | 2025-03-24 | 1 | -16/+38 | |
| | | | ||||||
| * | | tor-proto: made `StreamTarget::send_sendme` async and fixed a TODO | Steven Engler | 2025-03-24 | 3 | -10/+28 | |
| | | | ||||||
| * | | tor-proto: remove previously completed TODOs | Steven Engler | 2025-03-24 | 1 | -21/+7 | |
| | | | ||||||
| * | | tor-proto: fix small TODO | Steven Engler | 2025-03-24 | 1 | -3/+1 | |
| |/ | ||||||
| * | proto: make padding::Parameters construction fallible. | Nick Mathewson | 2025-03-18 | 3 | -23/+105 | |
| | | | | | | | | The constructor for rand::distr::Uniform is now fallible, so it makes sense to bubble up its restrictions. This is a breaking change. | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 1 | -1/+1 | |
| | | | | | - The Rng::gen() functions have been renamed to Rng::random(). | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 1 | -1/+2 | |
| | | | | | - `Uniform::new_inclusive` is now fallible. | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 1 | -4/+0 | |
| | | | | | - `try_fill_bytes()` is no longer a member of RngCore. | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 2 | -5/+5 | |
| | | | | | - The rand::distributions module has been renamed to rand::distr | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 7 | -10/+10 | |
| | | | | | - `rand::thread_rng()` has been deprecated and renamed to `rand::rng()` | |||||
| * | tor-proto: make `Circuit::add_hop` fallible | Steven Engler | 2025-03-12 | 3 | -13/+28 | |
| | | ||||||
| * | tor-proto: change `take_single_leg` to return `NotSingleLegError` | Steven Engler | 2025-03-11 | 2 | -4/+3 | |
| | | ||||||
| * | tor-proto: remove `ConfluxSet::single_leg_check` and add `get_single` | Steven Engler | 2025-03-11 | 1 | -37/+38 | |
| | | ||||||
| * | tor-proto: begin using `TargetHop` and `HopLocation` | Steven Engler | 2025-03-11 | 6 | -40/+126 | |
| | | | | | | | | | This doesn't yet change the public API, it just begins the work of plumbing these around throughout `ClientCirc`, `Reactor`, etc. This can't be broken up into smaller commits without causing build failures. | |||||
| * | tor-proto: add methods for resolving `TargetHop` and `TargetLocation` | Steven Engler | 2025-03-11 | 2 | -1/+96 | |
| | | ||||||
| * | tor-proto: add a non-pub `ClientCirc::legs()` method | Steven Engler | 2025-03-11 | 3 | -2/+40 | |
| | | ||||||
| * | tor-proto: combine `single_leg_with_id` and `single_leg` | Steven Engler | 2025-03-11 | 3 | -43/+30 | |
| | | | | | And the same with `single_leg_with_id_mut` and `single_leg_mut`. | |||||
| * | tor-proto: remove non-conflux support from `HopLocation` | Steven Engler | 2025-03-11 | 1 | -5/+0 | |
| | | ||||||
| * | tor-proto: rename `HopLocation::Leg` to `HopLocation::Hop` | Steven Engler | 2025-03-11 | 1 | -1/+1 | |
| | | ||||||
| * | tor-proto: add methods to `ConfluxSet` | Steven Engler | 2025-03-11 | 1 | -12/+65 | |
| | | | | | These give more ways of accessing legs. | |||||
| * | tor-proto: change `single_leg_mut` to return `NotSingleLegError` | Steven Engler | 2025-03-11 | 2 | -7/+8 | |
| | | ||||||
