summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | tor-hsservice: Drop now-unused fslock dependencyIan Jackson2024-02-013-3/+0
| | | | | | | | We're just using fslock-guard now.
* | tor-hsservice: Use tor_persist::state_dir, etc. (fmt)Ian Jackson2024-02-013-22/+28
| |
* | tor-hsservice: Use tor_persist::state_dirIan Jackson2024-02-017-150/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | tor-hsservice: Introduce StartupError::StateDirectoryInaccessibleIoIan Jackson2024-02-012-5/+26
| | | | | | | | | | | | 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.
* | tor-hsservice: tests: create_storage_handles: use a real directory (fmt)Ian Jackson2024-02-011-1/+5
| |
* | tor-hsservice: tests: create_storage_handles: use a real directoryIan Jackson2024-02-013-5/+15
| | | | | | | | | | | | | | 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.
* | tor-hsservice: ipt_mgr: Move storage handle to stateIan Jackson2024-02-012-9/+11
| | | | | | | | | | The new state_dir types require &mut for storing, which is correct, but that means we can't have it in Immutable.
* | tor-hsservice: impl state_dir::InstanceIdentity for HsNicknameIan Jackson2024-02-011-0/+10
| |
* | tor-hsservice: storage: Move Arcs into type aliasesIan Jackson2024-02-014-12/+12
| | | | | | | | | | | | | | 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.
* | tor-hsservice: ipt_set: Make store method take &mut selfIan Jackson2024-02-011-1/+1
| | | | | | | | | | Only people who can mutate the state ought to be saving it. Otherwise there might be concurrent overwrites.
* | tor-hsservice: tests: Add a missing drop callIan Jackson2024-02-011-0/+2
| | | | | | | | | | | | 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.
* | tor-persist: state_dir: Add some missing Clone and Debug implsIan Jackson2024-02-011-5/+5
| |
* | tor-persist: state_dir: Introduce way to get at underlying lock guardIan Jackson2024-02-012-3/+39
| | | | | | | | | | | | And export the type, so callers don't need to depend directly on fslock_guard; many callers will need to own the returned value, not do anything else with it.
* | tor-persist: state_dir: Make the storage handle Send and SyncIan Jackson2024-02-011-2/+5
| |
* | Merge branch 'clippy' into 'main'Nick Mathewson2024-01-317-8/+7
|\ \ | |/ |/| | | | | Fix nightly clippy warnings See merge request tpo/core/arti!1942
| * clippy: Use Result::cloned in several placesIan Jackson2024-01-313-3/+3
| |
| * tor-dirmgr: Simplify a clone call (fmt)Ian Jackson2024-01-311-3/+1
| |
| * tor-dirmgr: Simplify a clone callIan Jackson2024-01-311-2/+1
| | | | | | | | Prompted by clippy.
| * arti-rpcserver: Add an allowIan Jackson2024-01-311-0/+1
| |
| * tor-rpcbase: Add an allowIan Jackson2024-01-311-0/+1
| |
| * tor-error: Backtrace: Remove a Captured(...) from a DisplayIan Jackson2024-01-311-1/+1
| | | | | | | | | | Prompted by clippy complaining that the content wasn't ever read other than by the autogenerated Debug impl.
* | Merge branch 'ipt_parameters' into 'main'Nick Mathewson2024-01-317-42/+62
|\ \ | | | | | | | | | | | | | | | | | | Clean up, tune, and correct various parameters related to introduction points. Closes #1210 See merge request tpo/core/arti!1924
| * | Rename parameters for intro-point lifetime to match the spec.Nick Mathewson2024-01-312-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
| * | hss: clean up comments on ipt establish time tuningNick Mathewson2024-01-251-3/+7
| | | | | | | | | | | | See #1210 "question 4".
| * | Base INTRO_POINT_EXPIRY_SLOP on OVERALL_UPLOAD_TIMEOUT.Nick Mathewson2024-01-253-4/+7
| | | | | | | | | | | | See discussion at #1210, "question 5".
| * | Document allowed numbers of intro points, and make them match CNick Mathewson2024-01-251-7/+17
| | | | | | | | | | | | | | | | | | | | | 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.
| * | hss: Pick random intro-point lifetime based on netparamsNick Mathewson2024-01-252-12/+14
| | | | | | | | | | | | | | | This makes us more spec-conformant. See discussion at #1210 "question 3".
| * | Rename our aliases for hs_intro_*_lifetime.Nick Mathewson2024-01-252-2/+3
| | | | | | | | | | | | | | | | | | The old names were somewhat inaccurate. (I would have considered keeping and deprecating the old names, but we already have breaking changes in tor-netdir.)
| * | fixup! hss: Use 3 hours for IPT_PUBLISH_*.Nick Mathewson2024-01-251-3/+0
| | |
| * | Use hs_intro_num_extra param for max_n_intro_relays.Nick Mathewson2024-01-251-3/+3
| | | | | | | | | | | | See #1210 "question 2" for more discussion here.
| * | hss: Use 3 hours for IPT_PUBLISH_*.Nick Mathewson2024-01-251-6/+9
| | | | | | | | | | | | See discussion and rationale on #1210 "question 1".
* | | Merge branch 'lowercase-slugs' into 'main'Ian Jackson2024-01-313-15/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-keymgr: Lowercase the role when building the ArtiPath. Closes #1195 See merge request tpo/core/arti!1934
| * | | tor-persist: Reduce nesting in check_syntax().Ian Jackson2024-01-311-6/+4
| | | |
| * | | tor-persist: Reject slugs that contain uppercase characters.Gabriela Moldovan2024-01-311-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `slug` docs say slugs are not allowed to contain uppercase characters, so let's return an error if they do. Part of #1195
| * | | tor-keymgr: Lowercase the role when building the ArtiPath.Gabriela Moldovan2024-01-312-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The role is a slug, and slugs are not allowed to contain uppercase characters. Closes #1195
* | | | Merge branch 'rustdoc_fix' into 'main'Ian Jackson2024-01-311-1/+1
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | rtcompat: Fix a rustdoc link. See merge request tpo/core/arti!1938
| * | | rtcompat: Fix a rustdoc link.Nick Mathewson2024-01-301-1/+1
| | | |
* | | | tor-persist: state_dir: Fix a docs referenceIan Jackson2024-01-311-1/+1
| | | |
* | | | tor-persist: state_dir: Fix a leftover reference to `delete`Ian Jackson2024-01-311-1/+1
| | | | | | | | | | | | | | | | This is now InstanceStateHandle::purge.
* | | | tor-persist: Add a test for Resource::InstanceStateIan Jackson2024-01-311-0/+38
| | | | | | | | | | | | | | | | | | | | We should add more tests for these error representations but we want to rework these errors so let's not do all that now.
* | | | Require tracing-test 0.2.4Ian Jackson2024-01-317-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | Apparently we need https://github.com/dbrgn/tracing-test/pull/17 too.
* | | | Require tracing-test 0.2.2Ian Jackson2024-01-317-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | tor-hsservice: state_dir: Quote some strings in an errorIan Jackson2024-01-311-1/+1
| | | |
* | | | tor-hsservice: state_dir: Fix a wrong error stringIan Jackson2024-01-311-1/+1
| | | | | | | | | | | | | | | | We use `/` to separate, not `+`.
* | | | tor-hsservice: state_dir: Fix a wrong commentgabi-2502024-01-311-1/+1
| | | |
* | | | tor-hsservice: state_dir: Fix typogabi-2502024-01-311-1/+1
| | | |
* | | | state_dir: Deferred fmt churnIan Jackson2024-01-311-3/+1
| | | |
* | | | state_dir: When comparing path, use official separatorsIan Jackson2024-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | This would fix the tests on Windows I think ? (Tests which don't seem to run in routine CI AFAICT.)
* | | | state_dir: Use subdirectory rather than + notationIan Jackson2024-01-311-8/+9
| | | | | | | | | | | | | | | | As previously decided and documented.
* | | | state_dir: Break out make_secure_directory closureIan Jackson2024-01-311-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We're about to reuse this. This changes the Resource in the error to be more accurate, too. This will be more important as we add another call site.