summaryrefslogtreecommitdiff
path: root/crates/tor-persist/src
Commit message (Collapse)AuthorAgeFilesLines
* Run maint/add_warning.Nick Mathewson2024-03-136-0/+6
|
* Use tor_basic_utils::PathExt::display_lossyIan Jackson2024-03-053-6/+9
| | | | | Change Path::display to this new function, in call sites where it's being used for a diagnostic.
* Merge branch 'deny-unchecked-duration-substraction' into 'main'Ian Jackson2024-03-051-0/+1
|\ | | | | | | | | | | | | deny clippy::unchecked_duration_subtraction Closes #1304 See merge request tpo/core/arti!2008
| * deny clippy::unchecked_duration_subtractiontrinity-1686a2024-02-291-0/+1
| |
* | tor-persist: Improve test portabilityTobias Stoeckmann2024-03-011-3/+5
|/ | | | | | | | | The test fails on Windows systems for two reasons: - File separator \ is printed in error message instead of expected / - Temporary files are located within home directory, which is anonymized Test failure can be provoked on Linux as well by setting TMPDIR to point to a directory within HOME.
* 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: Improve an error messageNick 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-082-5/+71
|
* 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
|
* Merge branch 'lowercase-slugs' into 'main'Ian Jackson2024-01-311-1/+4
|\ | | | | | | | | | | | | 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-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.
* | 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.
* | state_dir: Introduce local PATH_SEPARATOR aliasIan Jackson2024-01-311-2/+3
| | | | | | | | We're going to want this some more.