| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | tor-persist: state_dir: Add a note about the instance modification time | Ian Jackson | 2024-02-08 | 1 | -0/+3 | |
| | | ||||||
| * | tor-persist: state_dir: Test that junk is ignored | Ian Jackson | 2024-02-08 | 1 | -0/+27 | |
| | | ||||||
| * | tor-persist: state_dir: Fix typo | Nick Mathewson | 2024-02-08 | 1 | -1/+1 | |
| | | ||||||
| * | tor-persist: state_dir: Improve an error message | Nick Mathewson | 2024-02-08 | 1 | -1/+1 | |
| | | ||||||
| * | tor-persist: state_dir: Add a clippy allow | Ian Jackson | 2024-02-08 | 1 | -0/+1 | |
| | | ||||||
| * | tor-persist: state_dir: (Re)move unused imports and allow (fmt) | Ian Jackson | 2024-02-08 | 1 | -1/+1 | |
| | | ||||||
| * | tor-persist: state_dir: (Re)move unused imports and allow | Ian Jackson | 2024-02-08 | 1 | -15/+10 | |
| | | ||||||
| * | tor-persist: state_dir terminology: Use "INSTANCE_ID" in docs | Ian Jackson | 2024-02-08 | 1 | -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 reset | Ian Jackson | 2024-02-08 | 1 | -1/+184 | |
| | | ||||||
| * | tor-persist: state_dir tests: Test iteration and purge | Ian Jackson | 2024-02-08 | 1 | -0/+256 | |
| | | ||||||
| * | tor-persist: state_dir tests: Break out mk_state_dir | Ian Jackson | 2024-02-08 | 1 | -5/+9 | |
| | | | | | We're going to get more call sites. | |||||
| * | tor-persist: state_dir terminology: Use "key", not "slug" (fmt) | Ian Jackson | 2024-02-08 | 1 | -9/+4 | |
| | | ||||||
| * | tor-persist: state_dir terminology: Use "key", not "slug" | Ian Jackson | 2024-02-08 | 1 | -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_instances | Ian Jackson | 2024-02-08 | 1 | -2/+133 | |
| | | ||||||
| * | tor-persist: state_dir: expiry: Ensure that instance dir mtime is updated | Ian Jackson | 2024-02-08 | 1 | -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 cases | Ian Jackson | 2024-02-08 | 1 | -1/+26 | |
| | | ||||||
| * | tor-persist: state_dir: purge API: Add notes about instance mtime | Ian Jackson | 2024-02-08 | 1 | -0/+9 | |
| | | ||||||
| * | tor-persist: state_dir: purge API: Discuss deletion non-atomicity | Ian Jackson | 2024-02-08 | 1 | -0/+31 | |
| | | ||||||
| * | tor-persist: state_dir: purge API: Replace retain_unused_for with age_filter | Ian Jackson | 2024-02-08 | 1 | -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 SystemTime | Ian Jackson | 2024-02-08 | 1 | -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 kind | Ian Jackson | 2024-02-08 | 1 | -0/+6 | |
| | | | | | We purge per-kind. | |||||
| * | tor-persist: state_dir: docs: Remove a duplicated paragraph | Ian Jackson | 2024-02-08 | 1 | -5/+0 | |
| | | | | | This was probably the result of rebase conflicts during develoopment. | |||||
| * | tor-persist: state_dir: docs: Linkify a ref to StorageHandle | Ian Jackson | 2024-02-08 | 1 | -1/+1 | |
| | | ||||||
| * | tor-persist: state_dir: Implement list_instances | Ian Jackson | 2024-02-08 | 2 | -5/+71 | |
| | | ||||||
| * | tor-persist: state_dir: Add some missing Clone and Debug impls | Ian Jackson | 2024-02-01 | 1 | -5/+5 | |
| | | ||||||
| * | tor-persist: state_dir: Introduce way to get at underlying lock guard | Ian Jackson | 2024-02-01 | 1 | -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 Sync | Ian Jackson | 2024-02-01 | 1 | -2/+5 | |
| | | ||||||
| * | Merge branch 'lowercase-slugs' into 'main' | Ian Jackson | 2024-01-31 | 1 | -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 Jackson | 2024-01-31 | 1 | -6/+4 | |
| | | | ||||||
| | * | tor-persist: Reject slugs that contain uppercase characters. | Gabriela Moldovan | 2024-01-31 | 1 | -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 reference | Ian Jackson | 2024-01-31 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-persist: state_dir: Fix a leftover reference to `delete` | Ian Jackson | 2024-01-31 | 1 | -1/+1 | |
| | | | | | | | | | This is now InstanceStateHandle::purge. | |||||
| * | | tor-persist: Add a test for Resource::InstanceState | Ian Jackson | 2024-01-31 | 1 | -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 error | Ian Jackson | 2024-01-31 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-hsservice: state_dir: Fix a wrong error string | Ian Jackson | 2024-01-31 | 1 | -1/+1 | |
| | | | | | | | | | We use `/` to separate, not `+`. | |||||
| * | | tor-hsservice: state_dir: Fix a wrong comment | gabi-250 | 2024-01-31 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-hsservice: state_dir: Fix typo | gabi-250 | 2024-01-31 | 1 | -1/+1 | |
| | | | ||||||
| * | | state_dir: Deferred fmt churn | Ian Jackson | 2024-01-31 | 1 | -3/+1 | |
| | | | ||||||
| * | | state_dir: When comparing path, use official separators | Ian Jackson | 2024-01-31 | 1 | -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 + notation | Ian Jackson | 2024-01-31 | 1 | -8/+9 | |
| | | | | | | | | | As previously decided and documented. | |||||
| * | | state_dir: Break out make_secure_directory closure | Ian Jackson | 2024-01-31 | 1 | -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 alias | Ian Jackson | 2024-01-31 | 1 | -2/+3 | |
| | | | | | | | | | We're going to want this some more. | |||||
| * | | tor-persist: state_dir: Remove three unused allows | Ian Jackson | 2024-01-31 | 1 | -3/+0 | |
| | | | ||||||
| * | | tor-persist: state_dir: Test functionality that exists now | Ian Jackson | 2024-01-31 | 1 | -0/+106 | |
| | | | ||||||
| * | | tor-persist: state_dir: Enable rustfmt (formatting) | Ian Jackson | 2024-01-31 | 1 | -15/+14 | |
| | | | | | | | | | Remaining formatting churn. | |||||
| * | | tor-persist: state_dir: Implement StateDirectory::new | Ian Jackson | 2024-01-31 | 1 | -1/+17 | |
| | | | ||||||
| * | | tor-persist: state_dir: Implement acquire_instance | Ian Jackson | 2024-01-31 | 2 | -7/+157 | |
| | | | | | | | | | | | | | | | And also instance_peek_storage, which needs to share some code, so determined the shape of this implementation. Make StateDirectory have the (one) field we need. | |||||
| * | | tor-persist: state_dir: Implement InstanceStateHandle and StorageHandle | Ian Jackson | 2024-01-31 | 1 | -8/+89 | |
| | | | | | | | | | | | | | | | | | | | | | These are the straightforward methods which, given a CheckedDir, perform the relevant operation. Make InstanceStateHandle have the necessary fields. Constructing an InstanceStateHandle is a bit complex and will come in a moment. | |||||
| * | | tor-persist: state_dir: Have instance id throw fmt::Error | Ian Jackson | 2024-01-31 | 1 | -5/+5 | |
| | | | | | | | | | | | | | | | | | In practice, allowing Bug here was quite inconvenient for everyone. I think very few call sites will want to throw anything interesting. If they *do* want to cause an error, without panicking, they could write a syntactically invalid slug. | |||||
| * | | tor-persist: Error: Provide for handling LocalResourceAlreadyInUse | Ian Jackson | 2024-01-31 | 1 | -0/+5 | |
| | | | | | | | | | | | state_dir doesn't support a "shared read-only" mode, so it needs an error. | |||||
