aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-persist/src/state_dir.rs
Commit message (Collapse)AuthorAgeFilesLines
* tor-persist: remove hidden backspace characterSteven Engler2026-08-041-1/+1
|
* Remove now-unneeded allow(clippy::cognitive_complexity)Jim Newsome2026-07-151-1/+0
|
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-091-0/+1
| | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit.
* tor-persist: migrate to web-time-compat.Nick Mathewson2026-03-261-4/+7
|
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-1/+1
| | | | Run maint/add_warning
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-7/+7
| | | | | | | | | | | | | | 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.
* Update code for Edition 2024Nick Mathewson2025-08-071-3/+8
| | | | | | | | | | | | | | | | | | 1. Run cargo fix --edition 2. Selectively revert the "if let"->"match" changes. These changes are meant to protect us from the lifetime changes for "if let" bindings in Rust 2024. But we're not actually relying on the old lifetime rules anywhere, and the match syntax here is quite ugly. 3. Automatically revert `$pat:expr_2021` to `$pat:expr`. (We don't actually want to restrict the expression syntax that our macros accept). Done with `git grep -l expr_2021 | xargs perl -i -pe 's/expr_2021/expr/g;'` 4. Run cargo fmt.
* fix: remove backspace in commentTobias Stoeckmann2025-04-251-1/+1
| | | | | The backspace character leads to funny results, depending on tool or terminal used to show content of the file.
* hashx, tor-persist: fix intra-doc link backtickshashcatHitman2025-04-161-1/+1
| | | | | | | | | | - Replaced single quotes in [`hashx::rand`] documentation link to [`hashx::rand::RngBuffer`] with backticks so it actually works. - Added a missing backtick to the link to [`tor_persist::state_dir::StateDirectory::instance_peek_storage`] in the documentation of [`tor_persist::state_dir::StateDirectory::with_instance_path_pieces`].
* fix: fix typosDimitris Apostolou2025-01-301-2/+2
|
* tor-persist: miri: disable tests that involve fs accessIan Jackson2024-10-081-1/+3
|
* Change deftly syntax to post 0.12.1 versionIan Jackson2024-06-171-1/+1
| | | | | | | | | | | * Change `pub` to `export` * Change the `=` in define to `:` * Change `pub_template_semver_check` to `template_export_semver_check` Right now, 0.12.1 supports both syntaxes. I have verified this branch also compiles with https://gitlab.torproject.org/Diziet/rust-derive-deftly/-/merge_requests/402 ee171ffaf56d7dcb7d75584054921153fe19b222
* Update to derive-deftly 0.12.1Ian Jackson2024-06-171-1/+2
| | | | | | * Bump in Cargo.toml * Deal with `${Xmeta as ...}` incompatible change, by always specifying an `as`, and changing `as tokens`.
* Suppress a false positive for a new lint on Rust BetaIan Jackson2024-05-131-0/+1
|
* Switch to derive-deftlyIan Jackson2024-04-031-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the combination of a number of separate commits, many of which were generated by seddery, and then rebased and squashed. Cargo.toml perl -i~ -pe 's{^derive-adhoc}{derive-deftly = "0.10"}' crates/*/Cargo.toml (not regenerated during rebase) update Cargo.lock `cargo fetch` without --locked (regenerated during rebase) seddery git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{^use derive_adhoc}{use derive_deftly}' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bdefine_derive_adhoc\b}{define_derive_deftly}g' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bAdhoc\b}{Deftly}g if m{derive}' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\#\[derive_adhoc\b}{#[derive_deftly}g' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{use derive_adhoc}{use derive_deftly}' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc\b}{derive_deftly_adhoc} if m{use.*deftly}' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc!}{derive_deftly_adhoc!}' (not regenerated during rebase) Manually add `#[derive_deftly_adhoc]` where needed. seddery git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\#\[adhoc\b}{#[deftly}g' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc_template}{derive_deftly_template}' (not regenerated during rebase) Manually fix up an import Manually update some builder attrs Manually fix up tor_rtmock::time_core This was missed in my seddery, due to me rebasing the branch and not redoing the seddery.
* Run maint/add_warning.Nick Mathewson2024-03-131-0/+1
|
* Use tor_basic_utils::PathExt::display_lossyIan Jackson2024-03-051-2/+3
| | | | | Change Path::display to this new function, in call sites where it's being used for a diagnostic.
* tor-persist: state_dir: Use DOT_LOCK in the final locationIan Jackson2024-02-081-1/+1
| | | | | Actually, we want to test handling of the string with whatever the extension would be, if it changed.
* tor-persist: state_dir: Introduce DOT_LOCKIan Jackson2024-02-081-2/+7
| | | | | | | And replace ".lock" with it. Now the only place that the "lock" extension this is still present as a literal is in a test.
* tor-persist: state_dir: Introduce LOCK_EXTNIan Jackson2024-02-081-4/+6
| | | | | | And replace "lock" with it. This is the first half of not open-coding this; the sites where the literal string is ".lock" are in the next commit, to help avoid the slip of using the wrong constant.
* tor-persist: state_dir: Add a note about the instance modification timeIan Jackson2024-02-081-0/+3
|
* tor-persist: state_dir: Test that junk is ignoredIan Jackson2024-02-081-0/+27
|
* tor-persist: state_dir: Fix typoNick Mathewson2024-02-081-1/+1
|
* tor-persist: state_dir: Add a clippy allowIan Jackson2024-02-081-0/+1
|
* tor-persist: state_dir: (Re)move unused imports and allow (fmt)Ian Jackson2024-02-081-1/+1
|
* tor-persist: state_dir: (Re)move unused imports and allowIan Jackson2024-02-081-15/+10
|
* tor-persist: state_dir terminology: Use "INSTANCE_ID" in docsIan Jackson2024-02-081-5/+5
| | | | | | Now ee consistently use "instance id" or "instance identity" (or, where unambiguous, "id"), to mean the identity of an instance within a kind, and "instance" to refer to the whole thing including the kind.
* tor-persist: state_dir tests: Test mtime resetIan Jackson2024-02-081-1/+184
|
* tor-persist: state_dir tests: Test iteration and purgeIan Jackson2024-02-081-0/+256
|
* tor-persist: state_dir tests: Break out mk_state_dirIan Jackson2024-02-081-5/+9
| | | | We're going to get more call sites.
* tor-persist: state_dir terminology: Use "key", not "slug" (fmt)Ian Jackson2024-02-081-9/+4
|
* tor-persist: state_dir terminology: Use "key", not "slug"Ian Jackson2024-02-081-29/+30
| | | | | | | | Slug is the general type. Instance kinds are slugs too. We need a word for the slug-within-an-instance which identifies a storage location for StorageHandle, or a raw subdirectory. Let's use "key". Change the terminology (and variable names) everywhere.
* tor-persist: state_dir: expiry: Implement purge_instancesIan Jackson2024-02-081-2/+133
|
* tor-persist: state_dir: expiry: Ensure that instance dir mtime is updatedIan Jackson2024-02-081-3/+18
| | | | | | Add comments where it's done automatically. (There will be tests of the claims I'm making, in a later commit.)
* tor-persist: state_dir: purge API: Clarify callback edge casesIan Jackson2024-02-081-1/+26
|
* tor-persist: state_dir: purge API: Add notes about instance mtimeIan Jackson2024-02-081-0/+9
|
* tor-persist: state_dir: purge API: Discuss deletion non-atomicityIan Jackson2024-02-081-0/+31
|
* tor-persist: state_dir: purge API: Replace retain_unused_for with age_filterIan Jackson2024-02-081-14/+14
| | | | | This will be slightly less ergonomic at call sites but it is a more orthogonal and logical API.
* tor-persist: state_dir: purge API: Have purge_instances take SystemTimeIan Jackson2024-02-081-3/+10
| | | | | | | Purging depends on the current time. We will want this to be able to come from Runtime but we don't want to have those types in this API.
* tor-persist: state_dir: purge API: PurgeHandler must provide the kindIan Jackson2024-02-081-0/+6
| | | | We purge per-kind.
* tor-persist: state_dir: docs: Remove a duplicated paragraphIan Jackson2024-02-081-5/+0
| | | | This was probably the result of rebase conflicts during develoopment.
* tor-persist: state_dir: docs: Linkify a ref to StorageHandleIan Jackson2024-02-081-1/+1
|
* tor-persist: state_dir: Implement list_instancesIan Jackson2024-02-081-5/+68
|
* 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-011-3/+38
| | | | | | 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
|
* 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-hsservice: state_dir: Fix a wrong commentgabi-2502024-01-311-1/+1
|
* state_dir: Deferred fmt churnIan Jackson2024-01-311-3/+1
|