summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * ptmgr: Use simpler expression to extract a HashMap's keys.Nick Mathewson2025-05-291-1/+1
| |
| * *: suppress cognitive_complexity warnings from nightlyNick Mathewson2025-05-2916-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | Apparently clippy nightly is better (or worse?) about detecting complex functions than before, so I'm suppressing these warnings where they occur. I have mixed feelings about these warnings: On the plus side, they really do help to detect functions that are twistier than they need to be. On the minus side, they get confused by tracing macros, and the "allows" do pile up. But on the plus side, those "allows" do provide a way to find functions that need to be refactored, and they are never uglier than the functions they decorate.
| * arti, cell, dirclient: Use expect instead of unwrap.Nick Mathewson2025-05-293-4/+5
| | | | | | | | | | | | Clippy nightly detects this problem, though earlier clippy verisons haven't. The common element here is applying unwrap() to the result from a write!().
| * cell: fix warning from nightly about unused function.Nick Mathewson2025-05-291-0/+1
| |
* | Merge branch 'no-dot-z' into 'main'Nick Mathewson2025-05-292-15/+12
|\ \ | |/ |/| | | | | dirclient: Stop sending suffix .z in URLs. See merge request tpo/core/arti!3013
| * dirclient: Stop sending suffix .z in URLs.Nick Mathewson2025-05-272-15/+12
| | | | | | | | | | | | | | | | This suffix is redundant with "Accept-Encoding", which all Tor directory caches have supported since 0.3.1.1-alpha. See torspec#342.
* | tor-proto: Remove already addressed TODO.Gabriela Moldovan2025-05-281-3/+0
| | | | | | | | | | There's already a check right above the TODO that does what the TODO asks.
* | tor-proto: Make Path::all_hops() return an iterator.Gabriela Moldovan2025-05-283-15/+13
| | | | | | | | This addresses one of the TODOs from `reactor::conflux`.
* | tor-proto: Downgrade a few TOOD(conflux) to TODO.Gabriela Moldovan2025-05-282-3/+3
| |
* | tor-proto: Replace TODO(conflux) with TODO(#2017).Gabriela Moldovan2025-05-281-1/+1
| | | | | | | | | | This is not a MUST for client-side conflux, so I'm filing it as tech debt.
* | tor-proto: Add missing feature-gating to HopDetail::Virtual.Gabriela Moldovan2025-05-281-0/+1
| |
* | tor-proto: Avoid comparing virtual hops for now.Gabriela Moldovan2025-05-281-17/+22
| | | | | | | | | | | | We don't have a way to compare virtual hops (see #2016), and we don't yet support onion service conflux (see #2002), so let's defer this for now.
* | tor-proto: Downgrade a TODO(conflux) to TODO.Gabriela Moldovan2025-05-281-1/+1
| | | | | | | | This is tech debt, and is not a MUST for conflux.
* | tor-proto: Replace TOOD(conflux) with TODO(#1999).Gabriela Moldovan2025-05-281-1/+1
| | | | | | | | | | We can tackle this later, after we finish addressing all the remaining `TODO(conflux)`.
* | Merge branch 'pow-manager' into 'main'wesleyac2025-05-2720-19/+983
|\ \ | | | | | | | | | | | | Service side Proof-of-Work See merge request tpo/core/arti!2697
| * | tor-hsservice: Fix typo.Wesley Aptekar-Cassels2025-05-271-1/+1
| | |
| * | tor-hsservice: Warn instead of panic on KeyMgr error in PowManager.Wesley Aptekar-Cassels2025-05-271-4/+8
| | |
| * | tor-hsservice: Refactor PoW error handling.Wesley Aptekar-Cassels2025-05-272-17/+35
| | | | | | | | | | | | | | | | | | This adds a error type for internal errors, and in error cases where we previously panicked, returns a Result instead. The publisher then simply doesn't publish the pow_params line and warns the user.
| * | tor-hsservice: Make PoW publisher_update_tx closed a warning.Wesley Aptekar-Cassels2025-05-271-4/+3
| | | | | | | | | | | | | | | This shouldn't happen, but there's not a good reason to panic if it does.
| * | tor-hsservice: Make PowManager persist state.Wesley Aptekar-Cassels2025-05-2710-15/+86
| | |
| * | tor-hsservice: Add ReplayLog to PowManager.Wesley Aptekar-Cassels2025-05-274-15/+71
| | |
| * | tor-hsservice: Add PowNonceReplayLog.Wesley Aptekar-Cassels2025-05-272-0/+37
| | |
| * | tor-hscrypto: Implement Display and FromStr for Seed.Wesley Aptekar-Cassels2025-05-272-1/+29
| | | | | | | | | | | | | | | This is convenient for formatting filenames for the PoW nonce replay log.
| * | tor-hsservice: Explicitly don't use memquota for publisher update queue.Wesley Aptekar-Cassels2025-05-271-1/+5
| | |
| * | tor-hsservice: Add PoW priority queue and checking of solves.Wesley Aptekar-Cassels2025-05-273-25/+242
| | |
| * | Add methods for getting proof-of-work extension from intro request.Wesley Aptekar-Cassels2025-05-274-2/+16
| | |
| * | tor-hsservice: Use Pin<Box<dyn Stream>>> instead of mpsc::Receiver.Wesley Aptekar-Cassels2025-05-274-8/+9
| | | | | | | | | | | | | | | This will allow us to more easily switch out the implementation of this queue as is needed for PoW.
| * | tor-hsservice: Initial parts of PowManager.Wesley Aptekar-Cassels2025-05-2710-10/+525
| | | | | | | | | | | | | | | | | | | | | This adds PowManager, as described in doc/dev/notes/service-side-pow.md, hooks it into IptManager and Publisher, and adds code to publish and rotate seeds, and to keep a updated list of Verifier instances for currently active seeds.
* | | Merge branch 'proto-bench-visibility' into 'main'Nick Mathewson2025-05-2715-557/+385
|\ \ \ | |/ / |/| | | | | | | | tor-proto: use the visibility crate for benchmarks See merge request tpo/core/arti!3010
| * | proto: fix bench featuresLionel Goffaux2025-05-277-181/+187
| | |
| * | proto: remove unused cpu_time dev-dependencyLionel Goffaux2025-05-221-1/+0
| | |
| * | proto: remove bench pub wrappersLionel Goffaux2025-05-2214-409/+232
| | |
* | | ./maint/cargo_sort: Run cargo-sort on the entire workspace.Gabriela Moldovan2025-05-2725-77/+194
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The [latest version] of `cargo-sort` is more opinionated than the previous one, and is now causing the `rust-checks` job to fail on `main`. This commit applies the fixes needed to satisfy the new `cargo-sort` rules. These changes were generated by running `cargo sort --workspace` several times, until `cargo sort --check --workspace` finally succeeded (it couldn't fix all the errors in one go, for some reason). I have omitted the changes `cargo-sort` made to the top-level `Cargo.toml`, to preserve the topological ordering of the workspace members. Closes #2014 [latest version]: https://github.com/DevinR528/cargo-sort/blob/f066ae80e5e6f5c1d8f0e2b8099461dcb97d9656/changelog.md#200
* | Merge branch 'stuck_in_the_middle_with_you' into 'main'Nick Mathewson2025-05-2213-161/+400
|\ \ | |/ |/| | | | | | | | | Don't use MiddleOnly relays for rend points or intro points Closes #1911 See merge request tpo/core/arti!3007
| * hspool: Explain _why_ ClientRend is Guarded.Nick Mathewson2025-05-221-4/+12
| | | | | | | | (text from Gabi)
| * hspool: refactor path match to be exhaustive.Nick Mathewson2025-05-221-7/+11
| |
| * hspool: ClientRend first should be GuardedNick Mathewson2025-05-221-4/+5
| | | | | | | | On !3007, @gabi-250 says that it was a mistake to have it be Naive.
| * Apply 1 suggestion(s) to 1 file(s)Nick Mathewson2025-05-221-1/+1
| | | | | | Co-authored-by: gabi-250 <[email protected]>
| * circmgr: Apply last-hop-in-stem usage when retrieving a stem circ.Nick Mathewson2025-05-201-20/+85
| | | | | | | | Closes #1911.
| * circmgr: when building client rend stems, make sure last hop has new_rend usage.Nick Mathewson2025-05-202-28/+72
| |
| * guardmgr, circmgr: Make vanguard selection take a RelaySelector.Nick Mathewson2025-05-206-52/+89
| | | | | | | | | | | | This is the preferred type for choosing a relay, since unlike a RelayExclusion, it lets us add multiple restrictions, and a relay usage.
| * circmgr: Propagate Option<HsCircKind> down to path selection functionsNick Mathewson2025-05-204-46/+103
| | | | | | | | | | | | We'll need this in order to build paths that are specifically for client rend circuits. I thought of using a boolean here, but that had potential to get ugly in the future.
| * circmgr: Change get_or_launch_stem to take a HsCircKindNick Mathewson2025-05-201-13/+22
| | | | | | | | | | | | We're going to be looking at this a little more closely in order to decide whether the last hop of a stem can be used as a rendezvous point.
| * circmgr: rename ensure_circuit_{compatible_with => can_extend_to}_targetNick Mathewson2025-05-201-6/+3
| | | | | | | | | | There are two other functions called "compatible_with_target" that check a different property, so this one was confusing.
| * relay-selection: Rename RendPoint usage to NewRendPoint.Nick Mathewson2025-05-201-8/+10
| | | | | | | | | | | | | | This mirrors NewIntroPoint, and helps us to remember that we only want to use this usage when we're a client that's picking a rendezvous point; we don't want to enforce it when we're a relay connecting to a client-selected rendezvous point.
| * relay-selection: tweak messages about rejection reasonsNick Mathewson2025-05-203-8/+8
| | | | | | | | | | | | "Useless as xyz" implies that the relay wouldn't work at all as a middle relay, but that's not true: it _would_ work somewhat, but be can't use it for some other reason.
| * netdir, relay-selection: require Fast and Stable for rendpoints.Nick Mathewson2025-05-202-2/+4
| | | | | | | | | | | | Since we don't know what kind of traffic we'll use a rendezvous point for, we don't want to use it if it isn't "Fast" (reasonably high bw) and "Stable" (unlikely to crash soon).
| * hs: Prevent a client from using a `MiddleOnly` relay for onion servicesNeel Chauhan2025-05-204-10/+23
| | | | | | | | | | | | > The actual impact of this patch is to prevent usage of MiddleOnly > relays as Introduction Points. The Rendezvous Point logic isn't > hooked up yet - nick
* | Merge branch 'drop-rustls-letsencrypt-kludge' into 'main'Nick Mathewson2025-05-213-48/+13
|\ \ | | | | | | | | | | | | | | | | | | rtcompat: remove Letsencrypt/Rustls kludge Closes #2004 See merge request tpo/core/arti!3006
| * | rtcompat: remove Letsencrypt/Rustls kludgeretort-dev2025-05-203-48/+13
| | |