| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| | |
This is now tor_persist::Error containing ErrorSource::AlreadyLocked.
|
| | |
| |
| |
| | |
We're just using fslock-guard now.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We no longer do replay log locking in IptManager::new. Instead, we
rely on the acquire_instance call in OnionService::launch, which ends
up with ipt_mgr getting an InstanceHandle (which contains a lock
guard).
OnionServiceStateMgr is abolished; it existed to deal with the
generics in the tor_persist::StateMgr API. state_dir has no
generics (other than the T being loaded/stored).
Many places (structs and argument lists) now have state_dir types
which embody a path (or a CheckeDir) along with a lock, rather than
separate path+lock+mistrust.
The creation/startup code uses the new calls from state_dir.
Other more minor changes:
- StartupError::StateDirectoryInaccessible contains tor_persist::Error
- test::create_storage_handles_from_state_dir changed and renamed,
from _from_state_mgr.
- replay::PersistFile's (separate) file lock is now fslock_guard's
|
| | |
| |
| |
| |
| |
| | |
We're going to change the payload of StateDirectoryInaccessible to
tor_persist::Error, since that's what tor_persist::state_dir gives us,
but then we can't use it here.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
state_dir doesn't have the in-memory dummy implementation,
so there will have to be a real directory here.
Do that now, as prep.
|
| | |
| |
| |
| |
| | |
The new state_dir types require &mut for storing, which is correct,
but that means we can't have it in Immutable.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
These are here because that's what you get from the tor_persist
singleton StageMgr API (for type erasure reasons). We're going to
change these to tor_persist::state_dir types and those don't involve
Arcs.
|
| | |
| |
| |
| |
| | |
Only people who can mutate the state ought to be saving it. Otherwise
there might be concurrent overwrites.
|
| |/
|
|
|
|
| |
This doesn't actually change the behaviour with current Rust. But it
avoids bugs and future changes. Relying on drop order for temporary
directory lifetime seems bad.
|
| |\
| |
| |
| |
| |
| |
| | |
Clean up, tune, and correct various parameters related to introduction points.
Closes #1210
See merge request tpo/core/arti!1924
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(Also, correct the comments that describe them.)
We may as well match the spec names when they aren't completely
bogus.
We are already renaming these parameters for this release, so it
isn't an additional breaking change.
|
| | |
| |
| |
| | |
See #1210 "question 4".
|
| | |
| |
| |
| | |
See discussion at #1210, "question 5".
|
| | |
| |
| |
| |
| |
| |
| | |
Part of #1210.
These values are not necessarily the cleverest possible, but they
match the C implementation. We can tune them if we need to.
|
| | |
| |
| |
| |
| | |
This makes us more spec-conformant. See discussion at #1210
"question 3".
|
| | | |
|
| | |
| |
| |
| | |
See #1210 "question 2" for more discussion here.
|
| | |
| |
| |
| | |
See discussion and rationale on #1210 "question 1".
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
tor-keymgr: Lowercase the role when building the ArtiPath.
Closes #1195
See merge request tpo/core/arti!1934
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
The role is a slug, and slugs are not allowed to contain uppercase
characters.
Closes #1195
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Apparently we need
https://github.com/dbrgn/tracing-test/pull/17
too.
|
| |/ /
| |
| |
| |
| |
| |
| |
| | |
We need this bugfix
https://github.com/dbrgn/tracing-test/pull/15
for `#[traced_test]` when `Result` is redefined.
Fixes the tests with minimal-versions.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This also removes a TODO regarding adding a `Nickname` type for
representing `HsClientSpecifier` and `HsNickname` (we don't need it if
`Slug`s are non-empty).
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1931#note_2990227
|
| | |
| |
| |
| |
| | |
It was previously possible to construct an `HsNickname` out of an empty
string using the `FromStr` impl.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
`ArtiPathComponent`s are really just `Slugs`.
Part of #1193, #1092
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
We represent `HsNickname` as a `Slug` instead of an `ArtiPathComponent`
(we are about to remove the latter).
Part of #1092
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
`Reactor::upload_for_time_period` now exits as soon as the Reactor is
dropped (its upload tasks check if `shutdown_tx` was dropped before
proceeding).
Closes #1253
|
| | |
| |
| |
| |
| | |
This error will be returned if an upload is aborted because the reactor
shutting down.
|
| | |
| |
| |
| | |
Part of #1253
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
HSS: Mark an Ipt as faulty if it fails continuously for 15 minutes.
Closes #1248
See merge request tpo/core/arti!1915
|
| | | |
| | |
| | |
| | | |
Closes #1248.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
test-temp-dir: New crate
See merge request tpo/core/arti!1925
|
| | | |
| | |
| | |
| | |
| | | |
Introduce the crate, move the code motion, and make minimal necessary
changes.
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Clean up some error-handling issues in ipt_establisher
Closes #1237
See merge request tpo/core/arti!1916
|
| | | |
| | |
| | |
| | | |
(Replace it with a better comment.)
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This method combined two things:
1. the lifetime guard API
2. creation of a subdirectory.
2 is available in raw form too, but not 1. So rename the combined
method to .subdir_used_by and implement it in terms of a new .used_by
which doesn't make a subdirectory.
|