summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | tor-keymgr: Resolve TODOs from key_specifier::testshjrgrn2025-03-142-185/+174
| | | | | |
* | | | | | Merge branch 'handle-relevant-errorkind-variants' into 'main'gabi-2502025-03-141-1/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | hsc: remove TODO, improve display_service_discovery_key error handling. See merge request tpo/core/arti!2846
| * | | | | | hsc: remove TODO about display_service_discovery_key error handling.hjrgrn2025-03-141-1/+0
| |/ / / / /
* | | | | | Merge branch 'dev/cve/is_fully_reachable' into 'main'gabi-2502025-03-141-0/+10
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-hsservice: Add is_fully_reachable() method Closes #1890 See merge request tpo/core/arti!2850
| * | | | | tor-hsservice: Add is_fully_reachable() methodClara Engler2025-03-131-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a `is_fully_reachable()` method to `tor_hsservice::status::State` in order to check whether the hidden service is believed to be fully reachable. See #1887 Fixes #1890
* | | | | | tor-hscrypto: Implement Display for TimePeriodhjrgrn2025-03-133-12/+26
| |/ / / / |/| | | |
* | | | | tor-proto: make `Circuit::add_hop` fallibleSteven Engler2025-03-123-13/+28
| |/ / / |/| | |
* | | | Deprecate --onion-name; introduce --onion-addressdisha2025-03-128-47/+76
| | | |
* | | | tor-proto: change `take_single_leg` to return `NotSingleLegError`Steven Engler2025-03-112-4/+3
| | | |
* | | | tor-proto: remove `ConfluxSet::single_leg_check` and add `get_single`Steven Engler2025-03-111-37/+38
| | | |
* | | | tor-proto: begin using `TargetHop` and `HopLocation`Steven Engler2025-03-116-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 Engler2025-03-112-1/+96
| | | |
* | | | tor-proto: add a non-pub `ClientCirc::legs()` methodSteven Engler2025-03-113-2/+40
| | | |
* | | | tor-proto: combine `single_leg_with_id` and `single_leg`Steven Engler2025-03-113-43/+30
| | | | | | | | | | | | | | | | And the same with `single_leg_with_id_mut` and `single_leg_mut`.
* | | | tor-proto: remove non-conflux support from `HopLocation`Steven Engler2025-03-111-5/+0
| | | |
* | | | tor-proto: rename `HopLocation::Leg` to `HopLocation::Hop`Steven Engler2025-03-111-1/+1
| | | |
* | | | tor-proto: add methods to `ConfluxSet`Steven Engler2025-03-111-12/+65
| | | | | | | | | | | | | | | | These give more ways of accessing legs.
* | | | tor-proto: change `single_leg_mut` to return `NotSingleLegError`Steven Engler2025-03-112-7/+8
| | | |
* | | | tor-proto: add `NotSingleLegError` for `single_leg_check`Steven Engler2025-03-111-8/+34
|/ / /
* | | arti: Remove incorrect deprecation warning in hschjrgrn2025-03-102-2/+1
| | |
* | | tor-rtmock: Add since= to deprecateds (formatting)Ian Jackson2025-03-061-1/+2
| | |
* | | tor-rtmock: Add since= to deprecatedsIan Jackson2025-03-062-2/+2
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2843#note_3169975
* | | tor-rtmock: Fiddle with a comment formatIan Jackson2025-03-061-2/+3
| | | | | | | | | | | | For some reason rustfmt wants to mess with this. Forestall it.
* | | tor-rtmock: Actually apply deprecated attr to deprecated time.rsIan Jackson2025-03-065-5/+36
| | |
* | | tor-rtmock: allow-Decorate every use of MockSleepProviderIan Jackson2025-03-068-3/+35
|/ / | | | | | | | | | | | | MockSleepProvider and MockSleepRuntime have been declared deprecated by the docs for some time. We're about to mark them `#[deprecated]`. This commit has been split out for clarity of review.
* | tor-proto: s/note/warning in function docs about locking stream map mutex.Gabriela Moldovan2025-03-061-1/+1
| |
* | tor-proto: s/has_first_hop/has_hops (fmt).Gabriela Moldovan2025-03-061-5/+1
| |
* | tor-proto: s/has_first_hop/has_hops.Gabriela Moldovan2025-03-063-3/+3
| |
* | tor-proto: Fix up docs post-refactoring (fmt).Gabriela Moldovan2025-03-061-4/+1
| |
* | tor-proto: Fix up docs post-refactoring.Gabriela Moldovan2025-03-061-3/+3
| |
* | tor-proto: Move Circuit to its own module.Gabriela Moldovan2025-03-069-1325/+1393
| | | | | | | | | | | | | | | | | | | | | | This is mostly code motion + some visibility adjustments. Moving all of these outside of `reactor` makes it easier to see which parts are internal vs which are accessed by the reactor. It also helps us enforce/audit invariants such as 'there should be no contention on the `CircHop::map` mutex' (the stream map is now private to `reactor::circuit`, and therefore nothing inside `reactor` will be directly accessing it).
* | tor-proto: Avoid accessing CircHop internals from the reactor.Gabriela Moldovan2025-03-063-2/+16
| | | | | | | | This will enable us to move `CircHop` out of `reactor.rs`.
* | tor-proto: Avoid accessing Circuit internals from the reactor.Gabriela Moldovan2025-03-062-3/+16
| | | | | | | | This will enable us to factor `Circuit` out of `reactor.rs`.
* | tor-dirmgr: remove `dbg!`Steven Engler2025-03-051-1/+0
| |
* | sqlite: Handle vanished blobs during consensus loadingNick Mathewson2025-03-052-16/+39
| | | | | | | | | | | | | | | | | | Here we move the responsibility for removing ExtDoc entries for vanished blobs into the _caller_ of read_blob(): we want to tidy all such entries in one go. Unlike a (reverted) previous approach, this time we don't need a retry loop.
* | sqlite: add a method to tidy extdocs for vanished blobsNick Mathewson2025-03-051-1/+93
| |
* | sqlite.rs: Let read_blob signal whether it cleaned up.Nick Mathewson2025-03-051-8/+28
| | | | | | | | We'll want to use this information to tell us whether to retry.
* | sqlite: Extract body of latest_consensus into a new methodNick Mathewson2025-03-051-23/+33
| | | | | | | | I'm about to add a retry mechanism.
* | sqlite: Stop ignoring any errors.Nick Mathewson2025-03-051-3/+22
| | | | | | | | | | We've already stopped ignoring any DB errors, so we may as well make sure that any FS errors we encounter are also reported.
* | sqlite: Add a comment about O(n) query.Nick Mathewson2025-03-051-0/+2
| |
* | sqlite.rs: Rustfmt.Nick Mathewson2025-03-051-86/+87
| |
* | sqlite.rs: Put SavedBlobHandle into its own moduleNick Mathewson2025-03-051-13/+30
| | | | | | | | | | | | | | This will help us keep its members private from the rest of sqlite.rs, and ensure that things are kept consistent. (This violates rust formatting for clarity. I'll reindent after.)
* | sqlite.rs: More comments about blob rollback.Nick Mathewson2025-03-051-1/+7
| |
* | sqlite.rs: Give SavedBlobHandle more methods.Nick Mathewson2025-03-051-24/+47
| | | | | | | | | | This is in preparation for making it opaque from the rest of the code, so that we can more easily reason about it.
* | sqlite.rs: add comments about consistencyNick Mathewson2025-03-051-2/+14
| |
* | sqlite.rs: Add a note on blob consistency (or lack thereof)Nick Mathewson2025-03-051-0/+77
| |
* | sqlite.rs: Rename dtype to digest_type to avoid further confusion.Nick Mathewson2025-03-051-6/+6
| |
* | dirmgr: Propagate row-conversion failure from expire_all.Nick Mathewson2025-03-051-5/+4
| | | | | | | | | | This can only happen because of a bug or because of db corruption, and we probably shouldn't ignore it.
* | dirmgr: When expiring a consensus, remove its blob.Nick Mathewson2025-03-051-2/+68
| | | | | | | | | | | | | | Previously, we would leave the ExtDocs blob to expire on its own, and it would hang out for up to a week. Closes #1655.
* | dirmgr: Store the correct value in ExtDocs.typeNick Mathewson2025-03-051-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Also, document that old values will be kicking around for a little while. Fortunately: - Nothing actually looked at these values before. - All elements in this table have an expiration date, so once a new version of Arti has been running for a week or two, the old erroneous values will go away.