| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Use new TimeRangeBound name throughout the tree | Ian Jackson | 2026-07-16 | 1 | -2/+2 |
| | | |||||
| * | Remove now-unneeded allow(clippy::cognitive_complexity) | Jim Newsome | 2026-07-15 | 1 | -2/+0 |
| | | |||||
| * | metrics: Add descriptions and units for existing metrics. | Wesley Aptekar-Cassels | 2026-06-02 | 1 | -5/+29 |
| | | |||||
| * | Upgrade rand crates to 0.10. | Wesley Aptekar-Cassels | 2026-05-12 | 1 | -3/+3 |
| | | | | | | | | | | | | When the circ-padding feature is enabled, we use maybenot, which does not yet support rand 0.10. In the meantime, enabling this feature pulls in rand 0.9. This is not ideal, but should be okay as a temporary situation. This also replaces the use of ReseedingRng (which was removed in 0.10) with the reseeding_rng crate. This is somewhat less performant, but it should be okay. | ||||
| * | tor-hssrvice: port to web-time-compat. | Nick Mathewson | 2026-03-26 | 1 | -5/+5 |
| | | |||||
| * | Fix typos | Tobias Stoeckmann | 2026-03-24 | 1 | -3/+3 |
| | | | | | Typos found with codespell | ||||
| * | all: run cargo fmt | Steven Engler | 2025-11-04 | 1 | -1/+1 |
| | | |||||
| * | all: replace all uses of `futures::task::SpawnExt` with `tor_rtcompat::SpawnExt` | Steven Engler | 2025-11-04 | 1 | -1/+1 |
| | | |||||
| * | Fix new clippy nightly warning about subtracting Durations. | Nick Mathewson | 2025-10-16 | 1 | -7/+11 |
| | | |||||
| * | tor-hsservice: Add note about check_solve implementation. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -0/+3 |
| | | |||||
| * | tor-hsservice: Fix error message. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -1/+1 |
| | | |||||
| * | tor-hsservice: Change capping of PoW effort. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -26/+23 |
| | | | | | | | | | This caps the PoW effort during sorting, rather than at intake. This allows us to record efforts that are capped in our metrics histogram while only recording metrics after the PoW solve has actually been verified. | ||||
| * | tor-hsservice: Make some PoW warnings more understandable. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -3/+10 |
| | | |||||
| * | tor-hsservice: Improve error conversion code. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -16/+8 |
| | | |||||
| * | tor-hsservice: Use warn_report for PoW errors. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -9/+15 |
| | | |||||
| * | tor-hsservice: Don't set DegradedReachable status in PowManager. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -2/+2 |
| | | | | | | | | | | | | Three is a concern that a DegradedReachable status could overwrite a previous Broken status. A nicer solution could be to add a function to StatusSender that only will change the status to a "more or equally severe" status. However, I am a little dubious about using the DegradedReachable status for PoW in general, since it has a better documented meaning for IPTs than it does for PoW. | ||||
| * | tor-hsservice: Rename InternalPowError to PowError. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -12/+12 |
| | | |||||
| * | tor-hsservice: Make InternalPowError non_exhaustive. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -0/+1 |
| | | | | | Now that this is public, this is prudent. | ||||
| * | tor-hsservice: Add disable_pow_compilation option. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -11/+31 |
| | | | | | | | I'm not 100% on this being here, it seems like it might want to be a option for all onion services, rather than per-service. However, this is good enough for now. | ||||
| * | tor-hsservice: Remove outdated TODO. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -4/+0 |
| | | | | | | | | | | | | | | | | | | | | I have thought about this and come to the conclusion (which is what I suspected when I wrote it) that the current behaviour is correct. The attack described is completely impractical (the space of nonces is very large), and checking whether a nonce is a replay is cheaper than verifying a PoW solve, so we want to do that first. Splitting this into something like the following: * Check replay log without updating * Check that solve is valid * Update replay log Would require adding a somewhat dangerous API to the ReplayLog, and requires doing more work per request for something that isn't even a practical attack, AFAICT. | ||||
| * | tor-hsservice: Add note about not persisting per-PoW-period state. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -1/+7 |
| | | |||||
| * | tor-hsservice: Add metrics support to PoW code. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -2/+56 |
| | | |||||
| * | tor-hsservice: Restore PoW verifier state from disk. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -2/+25 |
| | | | | | | We restored the seeds, but doing so is counterproductive if we don't also recreate the verifiers needed to check solves for those seeds. | ||||
| * | tor-hsservice: Add pow_rend_queue_depth config option. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -35/+91 |
| | | |||||
| * | tor-hsservice: Pass Rng into PoW code where possible. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -9/+10 |
| | | |||||
| * | tor-hsservice: Implement enable_pow option. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -56/+129 |
| | | | | | | | This does not currently allow this option to be changed at runtime, although the code is structured so that allowing it to be changed at runtime won't be too hard. This is tracked by #2082. | ||||
| * | tor-hsservice: Add PowManager to OnionServiceStatus. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -12/+63 |
| | | |||||
| * | tor-hsservice: Change ReplayLog error type. | Wesley Aptekar-Cassels | 2025-08-13 | 1 | -4/+4 |
| | | | | | | | | | This disentangles the ReplyLog from the IptManager. This will allow us to make the InternalPowError type more public (in order to use it in the OnionServiceStatus code) without also having to make the CreateIptError type more public. | ||||
| * | Switch Cargo.toml files to edition 2024. | Nick Mathewson | 2025-08-07 | 1 | -6/+6 |
| | | | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again. | ||||
| * | tor-hsservice: cargo fmt. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -1/+1 |
| | | |||||
| * | tor-hsservice: Fix clippy lints. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -2/+2 |
| | | |||||
| * | tor-hsservice: Use saturating versions of time math functions. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -1/+3 |
| | | |||||
| * | tor-hsservice: Remove redundant check. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -7/+1 |
| | | |||||
| * | tor-hsservice: Don't panic on PoW main loop error. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -5/+8 |
| | | |||||
| * | tor-hsservice: Change detection of empty queue in tests. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -3/+3 |
| | | |||||
| * | tor-hsservice: Clean up use of MockRuntime functions. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -10/+2 |
| | | |||||
| * | tor-hsservice: Refactor PoW test helper functions. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -57/+56 |
| | | |||||
| * | tor-hsservice: Make PoW timeout logic smarter. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -5/+11 |
| | | |||||
| * | tor-hsservice: Make several PoW loop functions return Result. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -6/+12 |
| | | | | | | These now `warn!` and cleanly exit their respective threads on error, instead of panicking. | ||||
| * | tor-hsservice: Add explanation of REND_REQUEST_QUEUE_MAX_DEPTH default. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -0/+6 |
| | | |||||
| * | tor-hsservice: Clean up try_from syntax. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -4/+6 |
| | | |||||
| * | tor-cell: Add ProofOfWorkV1::cap_effort function. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -6/+1 |
| | | |||||
| * | tor-hsservice: Make main_loop_task return Result. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -5/+11 |
| | | | | | | | This just pushes around where the panic is for now, but enables better handling of this error, and it makes it clearer that this panic will only stop this thread. | ||||
| * | tor-hsservice: Time out RendRequests in PoW queue. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -13/+94 |
| | | |||||
| * | tor-hsservice: Increase rend request queue depth. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -2/+3 |
| | | | | | | | | | The "a few KB" measurement was done by using the get_size crate to measure the size of the RendRequest object, but due to limitations in that crate (and in my willingness to go implement ways of checking the size of external types), it might be somewhat off. The ~32MB value is based on the idea that each RendRequest is 4KB. | ||||
| * | tor-hsservice: Persist suggested_effort. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -6/+14 |
| | | |||||
| * | tor-hsservice: Add consensus params for Prop 362. | Wesley Aptekar-Cassels | 2025-08-05 | 1 | -26/+98 |
| | | | | | | | | | | | | This adds the three new parameters specified in Prop 362 [0]. Two of these replace hardcoded defaults in the code. The third, HiddenServiceProofOfWorkV1ServiceIntroTimeoutSeconds, is not implemented yet, but will be in a future commit. [0]: https://spec.torproject.org/proposals/362-update-pow-control-loop.html | ||||
| * | tor-hsservice: Fix doccomment link. | Wesley Aptekar-Cassels | 2025-07-23 | 1 | -1/+1 |
| | | |||||
| * | tor-hsservice: Add monotonic request id to RendRequestOrdByEffort. | Wesley Aptekar-Cassels | 2025-07-23 | 1 | -4/+23 |
| | | | | | | This ensures that even in situations where multiple requests are received at the exact same time, we will not drop any requests. | ||||
| * | tor-hsservice: Add note about SUGGESTED_EFFORT_DEADZONE. | Wesley Aptekar-Cassels | 2025-07-23 | 1 | -0/+4 |
| | | |||||
