| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | tor-hsservice: Remove extraneous blank line. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+0 | |
| | | | | | | We don't have blank lines between the other variants, so let's remove this one too for consistency. | |||||
| * | tor-keymgr: Include ArtiPath in InvalidArtiPath (fmt). | Gabriela Moldovan | 2024-02-19 | 1 | -2/+6 | |
| | | ||||||
| * | tor-keymgr: Include ArtiPath in InvalidArtiPath. | Gabriela Moldovan | 2024-02-19 | 1 | -1/+1 | |
| | | | | | Part of #1115 | |||||
| * | tor-keymgr: Include the ArtiPath in InvalidKeyPathComponentValue. | Gabriela Moldovan | 2024-02-19 | 1 | -0/+1 | |
| | | | | | | | The offending `ArtiPath` should be included in the error. Part of #1115 | |||||
| * | tor-keymgr: Rename {to,from}_component to {to,from}_slug. | Gabriela Moldovan | 2024-02-19 | 1 | -3/+3 | |
| | | | | | | | | | | Originally, these functions converted to and from `ArtiPathComponent`. In !1931, we replaced `ArtiPathComponent` with `Slug` without renaming the conversion functions. Since we're converting to and from `Slug` now, I think it makes sense to rename them too. Part of #1115 | |||||
| * | tor-keymgr: Replace KeyMgr::get_with_type with KeyMgr::get_entry. | Gabriela Moldovan | 2024-02-19 | 1 | -2/+1 | |
| | | | | | Part of #1271 | |||||
| * | tor-keymgr: Rename KeyMgr::remove_with_type to KeyMgr::remove_entry. | Gabriela Moldovan | 2024-02-19 | 2 | -2/+2 | |
| | | | | | Part of #1271 | |||||
| * | tor-keymgr: Make KeyMgr::remove_with_type take a KeystoreEntry. | Gabriela Moldovan | 2024-02-19 | 2 | -11/+2 | |
| | | | | | | | | NB: `KeyMgr::remove_with_type` will need to be renamed to `KeyMgr::remove_entry`. Part of #1271 | |||||
| * | tor-keymgr: Make KeyMgr::list_matching return `KeystoreEntry`s. | Gabriela Moldovan | 2024-02-19 | 3 | -7/+12 | |
| | | | | | Part of #1271 | |||||
| * | Merge branch 'expire-ipts-bis' into 'main' | Nick Mathewson | 2024-02-15 | 5 | -101/+129 | |
| |\ | | | | | | | | | Code cleanup for IPT external state expiry See merge request tpo/core/arti!1982 | |||||
| | * | tor-hsservice: ipt mgr: Remove/downgrade two allows | Ian Jackson | 2024-02-13 | 1 | -2/+1 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: expiry: Add some comments | Ian Jackson | 2024-02-13 | 1 | -0/+4 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: expiry: Break out all_ipts (fmt) | Ian Jackson | 2024-02-13 | 1 | -4/+1 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: expiry: Break out all_ipts | Ian Jackson | 2024-02-13 | 1 | -8/+15 | |
| | | | | | | | | | And clarify docs for the *current* ipt functions. | |||||
| | * | tor-hsservice: ipt mgr: expiry: rename a variable | Ian Jackson | 2024-02-13 | 1 | -3/+3 | |
| | | | | | | | | | | | "current" has a special meaning here: it means an IPT that we haven't replaced with another at the same relay due to number of requests. | |||||
| | * | tor-hsservice: replay: Fix an error message slightly | Ian Jackson | 2024-02-13 | 1 | -1/+1 | |
| | | | | | | | | | | | On Windows filenames are WTF-16, not bytes, so a weird filename fails to be UTF-16 rather than failing to be UTF-8. | |||||
| | * | tor-hsservice: ipt mgr: Move/rename to StateExpiryError (fmt) | Ian Jackson | 2024-02-13 | 1 | -3/+1 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: Move/rename to StateExpiryError (followup) | Ian Jackson | 2024-02-13 | 1 | -4/+4 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: Move/rename to StateExpiryError | Ian Jackson | 2024-02-13 | 2 | -39/+41 | |
| | | | | | | | | | | | The private ExpiryError type is now err::StateExpiryError. We'll fix up the local alias in the HasKind impl in a moment. | |||||
| | * | tor-hsservice: replay: Move replay filename knowledge into replay.rs (fmt) | Ian Jackson | 2024-02-13 | 1 | -10/+5 | |
| | | | ||||||
| | * | tor-hsservice: replay: Move replay filename knowledge into replay.rs | Ian Jackson | 2024-02-13 | 2 | -41/+58 | |
| | | | ||||||
| | * | tor-hsservice: tests: Greak out mk_state_instance helper | Ian Jackson | 2024-02-13 | 1 | -3/+12 | |
| | | | ||||||
| | * | tor-hsservice: Expose HsNickname::new | Ian Jackson | 2024-02-13 | 1 | -1/+1 | |
| | | | | | | | | | | | The non-visibility of this method seems like it must have been an oversight. | |||||
| * | | tor-hsservice: The publisher should process all upload results. | Gabriela Moldovan | 2024-02-14 | 1 | -1/+2 | |
| |/ | | | | | | If one of the upload results is for an HsDir that went away, the publisher should continue processing the remaining ones, not disregard them entirely. | |||||
| * | Merge branch 'expire-ipts' into 'main' | Ian Jackson | 2024-02-13 | 2 | -22/+260 | |
| |\ | | | | | | | | | tor-hsservice: Expire old on-disk IPT state See merge request tpo/core/arti!1977 | |||||
| | * | tor-hsservice: ipt mgr: Temporarily suppress a lint | Ian Jackson | 2024-02-13 | 1 | -0/+1 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: Check that file expiry happens precisely when wanted | Ian Jackson | 2024-02-13 | 1 | -4/+20 | |
| | | | | | | | | | | | This test detects the bug mentioned here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1977#note_2995265 | |||||
| | * | tor-hsservice: ipt mgr: Add a test hook for expiry | Ian Jackson | 2024-02-13 | 1 | -0/+24 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: Do old IPT file cleanup on startup too | Ian Jackson | 2024-02-13 | 1 | -0/+4 | |
| | | | | | | | | | This isn't strictly necessary, but it's better. | |||||
| | * | tor-hsservice: ipt mgr: Explain about the ipt_set invariant | Ian Jackson | 2024-02-13 | 1 | -0/+6 | |
| | | | | | | | | | This seemed to warrant some discussion and a cross-reference. | |||||
| | * | tor-hsservice: ipt mgr: Rewrite state expiry doc comment | Ian Jackson | 2024-02-13 | 1 | -3/+7 | |
| | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1977#note_2994999 https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1977#note_2995000 | |||||
| | * | tor-hsservice: ipt mgr: Abolish a foolish intermediate variable | Ian Jackson | 2024-02-13 | 1 | -14/+9 | |
| | | | | | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1977#note_2994998 Removing the intermediate variable removes the possibility that the information in it could fail to be transferred to the main mutable state, so we don't need the IEFE any more. | |||||
| | * | tor-hsservice: ipt mgr tests: Narrow a TODO | Ian Jackson | 2024-02-12 | 1 | -1/+1 | |
| | | | | | | | | | We do have some tests, but they're not as comprehensive as we'd like. | |||||
| | * | tor-hsservice: ipt mgr tests: Test that we expire old IPT data | Ian Jackson | 2024-02-12 | 2 | -0/+38 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr tests: Avoid reusing RNG seed | Ian Jackson | 2024-02-12 | 1 | -4/+4 | |
| | | | | | | | | | | | | | Without this, we can regenerate the same IptLocalIds (etc.) on shutdown/restart (which involves calling startup again within a test case). | |||||
| | * | tor-hsservice: ipt mgr: Expire replay logs for old IPTs | Ian Jackson | 2024-02-12 | 1 | -4/+57 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: Expire keys for old IPTs | Ian Jackson | 2024-02-12 | 1 | -3/+84 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: Track whether we've deleted any IPT (fmt) | Ian Jackson | 2024-02-12 | 1 | -9/+9 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: Track whether we've deleted any IPT | Ian Jackson | 2024-02-12 | 1 | -2/+17 | |
| | | | | | | | | | Indentation left anmolaous briefly for ease of review. | |||||
| | * | tor-hsservice: ipt mgr: Break out REPLAY_LOG_SUFFIX | Ian Jackson | 2024-02-12 | 1 | -1/+4 | |
| | | | | | | | | | | | The expiry code is going to want this too. We should at least make a constant of it. | |||||
| | * | tor-hsservice: ipt mgr: Rotate IPT relays even without good IPTs! (fmt) | Ian Jackson | 2024-02-12 | 1 | -6/+6 | |
| | | | ||||||
| | * | tor-hsservice: ipt mgr: Rotate IPT relays even without good IPTs! | Ian Jackson | 2024-02-12 | 1 | -3/+1 | |
| | | | | | | | | | | | | | | | | | We shouldn't keep the same IPT relays just because they're not working! Firstly, that's just silly, and secondly, for privacy reasons we want to put a limit on teh lifetime anyway. Indentation left anmolaous briefly for ease of review. | |||||
| * | | tor-hsservice: Add a TODO about using HashMap for the reupload_timers. | Gabriela Moldovan | 2024-02-12 | 1 | -0/+4 | |
| | | | ||||||
| * | | tor-hsservice: Fix typo in comment. | Ian Jackson | 2024-02-12 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-hsservice: Add test for desc publisher reuploads. | Gabriela Moldovan | 2024-02-12 | 1 | -3/+41 | |
| | | | | | | | | | Part of #1241 | |||||
| * | | tor-hsservice: Remove unnecessary locking in test. | Gabriela Moldovan | 2024-02-12 | 1 | -8/+8 | |
| | | | ||||||
| * | | tor-hsservice: Add a publisher TODO about limiting reuploads. | Gabriela Moldovan | 2024-02-12 | 1 | -0/+7 | |
| | | | ||||||
| * | | tor-hsservice: Periodically reupload the descriptor. | Gabriela Moldovan | 2024-02-12 | 2 | -3/+32 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the spec, the publisher needs to periodically reupload the descriptor. ``` Specifically, every time a hidden service publishes its descriptor, it also sets up a timer for a random time between 60 minutes and 120 minutes in the future. When the timer triggers, the hidden service needs to publish its descriptor again to the responsible HSDirs for that time period. [TODO SPEC: Control republish period using a consensus parameter?] ``` After each `upload_for_time_period()`, the publisher now sets a timer as described in the spec, by pushing a `ReuploadTimer` into its `reupload_timers` heap. Closes #1241 | |||||
| * | | tor-hsservice: Set the status to UploadScheduled when it's time to reupload. | Gabriela Moldovan | 2024-02-12 | 1 | -0/+45 | |
| | | | ||||||
| * | | tor-hsservice: Add helper type for scheduling descriptor reuploads. | Gabriela Moldovan | 2024-02-12 | 2 | -0/+113 | |
| | | | ||||||
