summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | proto: Remove unused function from ConfluxSetDavid Goulet2025-06-261-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | | | hsservice: Stop using HopNum and use TargetHopDavid Goulet2025-06-266-28/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires some changes to the tor-proto crate to handle the inbound TargetHop from the HS subsystem and then resolve it into a HopNum for a single circuit. It is expected that this will change again with Conflux to only use HopLocation internally in a Tunnel and then use HopNum into a Circuit. Signed-off-by: David Goulet <[email protected]>
| * | | | | | | proto: Make send_raw_msg() use a TargetHopDavid Goulet2025-06-263-16/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order for this to work, a last_target_hop() function is added to ClientCirc in order to return a precise hop location as a TargetHop of the last hop. This is needed because in the HS subsystem, we need such value in order to get a location on the last physical hop before adding the virtual hop. The RDV1 cell is sent to that last target hop while the allow_stream_request() is done on the virtual target hop. Signed-off-by: David Goulet <[email protected]>
| * | | | | | | hs: Remove the use of HopNum and instead use TargetHopDavid Goulet2025-06-269-18/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is in the spirit of making everything going inbound the tor-proto crate to use a TargetHop. This becomes much easier for the HS subsystem as it only uses the last hop for its conversation and setup. Signed-off-by: David Goulet <[email protected]>
| * | | | | | | proto: Add From<(UniqId, HopNum)> for TargetHopDavid Goulet2025-06-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quick helper as within the tor-proto crate, we sometimes have to quickly get a TargetHop. This will come handy with the message handler used by the Conversation object that the HS subsystem uses. Signed-off-by: David Goulet <[email protected]>
| * | | | | | | proto: Add a control command to get the binding keyDavid Goulet2025-06-263-16/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to use TargetHop instead of HopNum but also to get one step closer to not depend on a mutable state. We prefer resolving a TargetHop within the Reactor object in order to use the circuit list instead of the MutableState path. The HS service subsystem is modified to use this modified function that is now async and uses a TargetHop. Signed-off-by: David Goulet <[email protected]>
| * | | | | | | proto: Make TargetHop and HopLocation publicDavid Goulet2025-06-262-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is about to be used outside of tor-proto. It is part of the work to remove the use of HopNum outside tor-proto. The rules are: - Inbound requsest to the tor-proto crate, TargetHop must always be used. - Within tor-proto, TargetHop is resolved into a HopLocation which is more precise and based on the tunnel circuit(s). This is another piece that Conflux will require considering that a Tunnel might have multiple circuits in the future. Signed-off-by: David Goulet <[email protected]>
| * | | | | | | proto: Add helper function to resolve TargetHopDavid Goulet2025-06-261-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Reactor has two functions to resolve both TargetHop into a HopLocation and then a HopLocation into a (UniqId, HopNum). This commit simply adds a helper that does both but returns an Option instead of a Result as it will be used by the reactor command handler and more in future conflux commits. Signed-off-by: David Goulet <[email protected]>
* | | | | | | | Merge branch 'build-android' into 'main'Nick Mathewson2025-06-263-6/+94
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | add android reproducible build script parts See merge request tpo/core/arti!3055
| * | | | | | | add android reproducible build script partsDan Ballard2025-06-243-6/+94
| | |/ / / / / | |/| | | | |
* | | | | | | Merge branch 'notify' into 'main'opara2025-06-254-0/+188
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Add `Notify{Sender,Receiver}` channel See merge request tpo/core/arti!3066
| * | | | | | | tor-proto: add `Notify{Sender,Receiver}` channelSteven Engler2025-06-234-0/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An async notification channel. This uses `postage::watch::{Sender,Receiver}` internally.
* | | | | | | | Merge branch 'mockable-time' into 'main'David Goulet2025-06-253-7/+20
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Give Circuit a handle to the DynTimeProvider. See merge request tpo/core/arti!3063
| * | | | | | | | tor-proto: Use mockable runtime in congestion control RTT estimator (fmt).Gabriela Moldovan2025-06-231-1/+2
| | | | | | | | |
| * | | | | | | | tor-proto: Use mockable runtime in congestion control RTT estimator.Gabriela Moldovan2025-06-232-7/+13
| | | | | | | | |
| * | | | | | | | tor-proto: Give Circuit a handle to the DynTimeProvider.Gabriela Moldovan2025-06-232-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will enable us to replace the calls to `Instant::now()` with `DynTimeProvider::now()` throughout the RTT estimator. This gives us the ability to mock the time, and test that conflux leg switching occurs as expected.
* | | | | | | | | Merge branch 'rtt-estimator' into 'main'David Goulet2025-06-251-31/+52
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proto: Make RTT estimates default to None. Closes #2049 See merge request tpo/core/arti!3074
| * | | | | | | | | proto: Rewrite can_crosscheck_with_current_estimate for clarity.Gabriela Moldovan2025-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The expanded expression makes it easier to see that `can_crosscheck_with_current_estimate()` can never return `true` if `self.ewma_rtt` is `None`, and that the `expect()` from `is_clock_stalled()` cannot panic.
| * | | | | | | | | proto: Make RTT estimates default to None (fmt).Gabriela Moldovan2025-06-251-2/+6
| | | | | | | | | |
| * | | | | | | | | proto: Make RTT estimates default to None.Gabriela Moldovan2025-06-251-31/+48
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `RttEstimator` now uses `None` to represent not-yet-measured RTTs. Previously, all the measured RTTs defaulted to 0, in contradiction with the `RttEstimator::{min,ewma}_rtt_usec()` docs, which state that both functions are supposed to return `u32::MAX` if there is no estimate. Closes #2049
* | | | | | | | | Merge branch 'fix-xon-xoff' into 'main'Nick Mathewson2025-06-252-6/+6
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | tor-cell: Fix incorrect XON/XOFF cell command integers See merge request tpo/core/arti!3061
| * | | | | | | | tor-cell: fix incorrect XON/XOFF cell command integersSteven Engler2025-06-232-6/+6
| | | | | | | | |
* | | | | | | | | Merge branch 'const-assert-tor-proto' into 'main'Jim Newsome2025-06-241-6/+4
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Compile-time key length constant equality assertion See merge request tpo/core/arti!3068
| * | | | | | | | tor-proto: Compile-time key length constant equality assertionhashcatHitman2025-06-241-6/+4
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Made an equality assertion between two constants compile-time, resolving a TODO. Signed-off-by: hashcatHitman <[email protected]>
* | | | | | | | Merge branch 'conflux-typos' into 'main'Nick Mathewson2025-06-231-2/+2
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | tor-proto: Typo fixes in conflux docs and comments See merge request tpo/core/arti!3065
| * | | | | | | tor-proto: Add missing word in conflux docs.Gabriela Moldovan2025-06-231-1/+1
| | | | | | | |
| * | | | | | | tor-proto: Fix typo in comment.Gabriela Moldovan2025-06-231-1/+1
| | |/ / / / / | |/| | | | |
* | | | | | | Merge branch 'log-unexpected-params' into 'main'Jim Newsome2025-06-231-2/+75
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | Add logging for possibly-bad net params See merge request tpo/core/arti!3043
| * | | | | | NetParameters::saturating_update: log when a value is out of rangeJim Newsome2025-06-231-1/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On one hand, this can be quite noisy when something *is* out of range. On the other hand, a clamped value shouldn't normally happen, and is likely to result in surprising and otherwise difficult-to-debug behavior.
| * | | | | | Log unrecognized net paramsJim Newsome2025-06-231-1/+4
| | | | | | |
* | | | | | | Merge branch 'rtcompat-spawn-block-detach' into 'main'Ian Jackson2025-06-231-0/+9
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | tor-rtmock: Blocking::spawn_blocking: clarify drop behaviour See merge request tpo/core/arti!3062
| * | | | | | tor-rtmock: Blocking::blocking_io: add clarificationIan Jackson2025-06-231-0/+3
| | | | | | |
| * | | | | | tor-rtmock: Blocking::spawn_blocking: clarify drop behaviourIan Jackson2025-06-231-0/+6
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Explain that you don't need to .await the returned future, and say what happens when you drop it.
* | | | | | Merge branch 'the-dependency-formerly-known-as-once-cell' into 'main'Nick Mathewson2025-06-2340-115/+96
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | various crates: Removed dependency on `once_cell` See merge request tpo/core/arti!3051
| * | | | | | tor-rpcbase: Removed dependency on `once_cell`hashcatHitman2025-06-146-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-relay-selection: Removed dependency on `once_cell`hashcatHitman2025-06-143-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-netdoc: Removed dependency on `once_cell`hashcatHitman2025-06-1411-42/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-log-ratelim: Removed dependency on `once_cell`hashcatHitman2025-06-144-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-llcrypto: Removed dependency on `once_cell`hashcatHitman2025-06-143-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-dirmgr: Removed dependency on `once_cell`hashcatHitman2025-06-144-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-config-path: Removed dependency on `once_cell`hashcatHitman2025-06-144-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-config: Removed dependency on `once_cell`hashcatHitman2025-06-143-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-circmgr: Reduced dependency on `once_cell`hashcatHitman2025-06-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | fs-mistrust: Removed dependency on `once_cell`hashcatHitman2025-06-144-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | arti-relay: Removed dependency on `once_cell`hashcatHitman2025-06-144-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | | tor-error: Removed dependency on `once_cell`hashcatHitman2025-06-133-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced `once_cell::unsync::Lazy` with `std::cell::LazyCell`. Signed-off-by: hashcatHitman <[email protected]>
* | | | | | | Merge branch '2043-fix-keys-desc' into 'main'gabi-2502025-06-232-3/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti: keys: Fix arti keys help message Closes #2043 See merge request tpo/core/arti!3060
| * | | | | | | arti: keys: Fix arti keys help messagehjrgrn2025-06-232-3/+3
|/ / / / / / /
* | | | | | | Merge branch 'log-stderr' into 'main'Jim Newsome2025-06-176-21/+59
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti console logging: use stderr instead of stdout Closes #2024 See merge request tpo/core/arti!3020
| * | | | | | arti console logging: use stderr instead of stdoutJim Newsome2025-06-173-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #2024