summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-keymgr: Make KeyMgr::remove_with_type take a KeystoreEntry.Gabriela Moldovan2024-02-194-16/+6
| | | | | | | | | | | | | | | | | | | | | NB: `KeyMgr::remove_with_type` will need to be renamed to `KeyMgr::remove_entry`. Part of #1271
| * | tor-keymgr: Derive From for KeystoreSelector.Gabriela Moldovan2024-02-191-2/+2
| | | | | | | | | | | | We will soon use this in `KeyMgr`.
| * | tor-keymgr: Make KeyMgr::list_matching return `KeystoreEntry`s.Gabriela Moldovan2024-02-195-9/+20
| | | | | | | | | | | | Part of #1271
| * | tor-keymgr: Add KeystoreEntry.Gabriela Moldovan2024-02-193-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This type will soon replace `(KeyPath, KeyType)` in `KeyMgr::list_matching`. The KeystoreEntry documentation mentions a couple of functions that don't exist right now (they will be added in a subsequent commit). Part of #1271
* | | Merge branch 'better_hints' into 'main'Ian Jackson2024-02-197-56/+195
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Refactor and improve error hinting. Closes #1165 See merge request tpo/core/arti!1986
| * | Add tests for finding (or not) hints in our error types.Nick Mathewson2024-02-161-0/+58
| | |
| * | Discourage providing HintableErrorImpl without using the macro.Nick Mathewson2024-02-161-3/+10
| | |
| * | Rename one of the hint methods to hint_specificNick Mathewson2024-02-161-3/+10
| | |
| * | Use and document the new arti-client/anyhow featureNick Mathewson2024-02-152-1/+5
| | |
| * | Refactor and improve error hinting.Nick Mathewson2024-02-145-55/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using complicated match statements, use downcasting to find error types that define specific hints. This also lets us define a reasonable hint-extractor for anyhow::Error, and use it when reporting errors in main. I've left an implementation of hint() in `impl Error`, to avoid breaking backward compatibility. Closes #1165.
* | | Merge branch 'expire-ipts-bis' into 'main'Nick Mathewson2024-02-155-101/+129
|\ \ \ | | | | | | | | | | | | | | | | Code cleanup for IPT external state expiry See merge request tpo/core/arti!1982
| * | | tor-hsservice: ipt mgr: Remove/downgrade two allowsIan Jackson2024-02-131-2/+1
| | | |
| * | | tor-hsservice: ipt mgr: expiry: Add some commentsIan Jackson2024-02-131-0/+4
| | | |
| * | | tor-hsservice: ipt mgr: expiry: Break out all_ipts (fmt)Ian Jackson2024-02-131-4/+1
| | | |
| * | | tor-hsservice: ipt mgr: expiry: Break out all_iptsIan Jackson2024-02-131-8/+15
| | | | | | | | | | | | | | | | And clarify docs for the *current* ipt functions.
| * | | tor-hsservice: ipt mgr: expiry: rename a variableIan Jackson2024-02-131-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 slightlyIan Jackson2024-02-131-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 Jackson2024-02-131-3/+1
| | | |
| * | | tor-hsservice: ipt mgr: Move/rename to StateExpiryError (followup)Ian Jackson2024-02-131-4/+4
| | | |
| * | | tor-hsservice: ipt mgr: Move/rename to StateExpiryErrorIan Jackson2024-02-132-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 Jackson2024-02-131-10/+5
| | | |
| * | | tor-hsservice: replay: Move replay filename knowledge into replay.rsIan Jackson2024-02-132-41/+58
| | | |
| * | | tor-hsservice: tests: Greak out mk_state_instance helperIan Jackson2024-02-131-3/+12
| | | |
| * | | tor-hsservice: Expose HsNickname::newIan Jackson2024-02-131-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 Moldovan2024-02-141-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 'empty_data' into 'main'Nick Mathewson2024-02-134-15/+43
|\ \ | | | | | | | | | | | | | | | | | | tor_cell: Reject empty DATA messages Closes #1269 See merge request tpo/core/arti!1981
| * | tor_cell: never construct empty DATA messages.Nick Mathewson2024-02-134-15/+40
| | | | | | | | | | | | | | | | | | | | | We never actually constructed these before, but now we enforce it at the API level. Part of #1269.
| * | tor_cell: Reject empty DATA messagesNick Mathewson2024-02-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we don't reject these, they are a way to inject an undetected traffic signal. (This is LOW severity, since we only accept DATA when a stream is open, since DATA messages are rate-limited, and since using length==1 is nearly as effective.) Closes #1269. This is TROVE-2024-001.
* | | Merge branch 'expire-ipts' into 'main'Ian Jackson2024-02-132-22/+260
|\ \ \ | |/ / |/| | | | | | | | tor-hsservice: Expire old on-disk IPT state See merge request tpo/core/arti!1977
| * | tor-hsservice: ipt mgr: Temporarily suppress a lintIan Jackson2024-02-131-0/+1
| | |
| * | tor-hsservice: ipt mgr: Check that file expiry happens precisely when wantedIan Jackson2024-02-131-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 expiryIan Jackson2024-02-131-0/+24
| | |
| * | tor-hsservice: ipt mgr: Do old IPT file cleanup on startup tooIan Jackson2024-02-131-0/+4
| | | | | | | | | | | | This isn't strictly necessary, but it's better.
| * | tor-hsservice: ipt mgr: Explain about the ipt_set invariantIan Jackson2024-02-131-0/+6
| | | | | | | | | | | | This seemed to warrant some discussion and a cross-reference.
| * | tor-hsservice: ipt mgr: Rewrite state expiry doc commentIan Jackson2024-02-131-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 variableIan Jackson2024-02-131-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 TODOIan Jackson2024-02-121-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 dataIan Jackson2024-02-122-0/+38
| | |
| * | tor-hsservice: ipt mgr tests: Avoid reusing RNG seedIan Jackson2024-02-121-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 IPTsIan Jackson2024-02-121-4/+57
| | |
| * | tor-hsservice: ipt mgr: Expire keys for old IPTsIan Jackson2024-02-121-3/+84
| | |
| * | tor-hsservice: ipt mgr: Track whether we've deleted any IPT (fmt)Ian Jackson2024-02-121-9/+9
| | |
| * | tor-hsservice: ipt mgr: Track whether we've deleted any IPTIan Jackson2024-02-121-2/+17
| | | | | | | | | | | | Indentation left anmolaous briefly for ease of review.
| * | tor-hsservice: ipt mgr: Break out REPLAY_LOG_SUFFIXIan Jackson2024-02-121-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 Jackson2024-02-121-6/+6
| | |
| * | tor-hsservice: ipt mgr: Rotate IPT relays even without good IPTs!Ian Jackson2024-02-121-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-guardmgr: Fix README typo.Gabriela Moldovan2024-02-121-1/+1
| |
* | tor-guardmgr: Fix spec link in README.Gabriela Moldovan2024-02-121-1/+1
| | | | | | | | The old link now 404s, so let's link to spec.torproject.org instead.
* | tor-hsservice: Add a TODO about using HashMap for the reupload_timers.Gabriela Moldovan2024-02-121-0/+4
| |
* | tor-hsservice: Fix typo in comment.Ian Jackson2024-02-121-1/+1
| |