| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | tor-hsservice: Add a helper for removing expired keys. | Gabriela Moldovan | 2023-12-05 | 2 | -3/+154 | |
| | | | | | | | | | Closes #1043 | |||||
| * | | tor-hsservice: Make the KeySpecifier fields crate-public. | Gabriela Moldovan | 2023-12-05 | 1 | -7/+7 | |
| | | | | | | | | | We're about to use them. | |||||
| * | | tor-keymgr: Add KeyMgr::remove_with_type. | Gabriela Moldovan | 2023-12-05 | 1 | -0/+18 | |
| | | | | | | | | | | | Sometimes we need to remove a key without knowing its concrete (Rust) type (only its `KeySpecifier` and `KeyType`). | |||||
| * | | tor-keymgr: Make DefaultKeySpecifier generate a key info extractor as well. | Gabriela Moldovan | 2023-12-05 | 3 | -1/+118 | |
| | | | ||||||
| * | | tor-keymgr: Use KeySpecifierComponent instead of Display. | Gabriela Moldovan | 2023-12-05 | 1 | -1/+14 | |
| | | | ||||||
| * | | tor-keymgr: Store an owned type instead. | Gabriela Moldovan | 2023-12-05 | 6 | -43/+52 | |
| | | | | | | | | | | | | | We need this because the key specifier types will soon be owned types too (they will soon grow a From<&KeyPath> impl). We _could_ make them store `Cow`s instead, but I think that's a premature optimization. | |||||
| * | | tor-keymgr: Add more variants to KeyPathError. | Gabriela Moldovan | 2023-12-05 | 1 | -0/+13 | |
| | | | | | | | | | We will need them soon. | |||||
| * | | tor-keymgr: Make all arguments of arti_pattern optional. | Gabriela Moldovan | 2023-12-05 | 2 | -9/+13 | |
| | | | | | | | | | | | We're going to need this soon (to match all hidden service keys, regardless of nickname, for example). | |||||
| * | | tor-keymgr: Introduce a KeySpecifierComponent trait. | Gabriela Moldovan | 2023-12-05 | 3 | -2/+35 | |
| | | | | | | | | | | | | | | | | | | | Now the fields of a `DefaultKeySpecifier` no longer have to implement `Display` (they need to implement `KeySpecifierComponent`). See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1733#note_2966400 Closes #1127 | |||||
| * | | tor-keymgr: Add a function for describing a KeyPath. | Gabriela Moldovan | 2023-12-05 | 2 | -2/+24 | |
| | | | ||||||
| * | | tor-keymgr: Add a way of registering key info extractors using inventory. | Gabriela Moldovan | 2023-12-05 | 4 | -4/+36 | |
| | | | ||||||
| * | | tor-keymgr: Add types for extracting info out of a KeyPath. | Gabriela Moldovan | 2023-12-05 | 2 | -2/+28 | |
| | | | ||||||
| * | | tor-keymgr: Change KeyDenotator error type to KeyPathError. | Gabriela Moldovan | 2023-12-05 | 4 | -12/+23 | |
| |/ | | | | | This is a separate class of errors that deserves its own error type. We will soon use `KeyPathError` in other contexts as well. | |||||
| * | Merge branch 'msrv-followup' into 'main' | Nick Mathewson | 2023-12-04 | 9 | -42/+11 | |
| |\ | | | | | | | | | Followups from MSRV 1.70 upgrade See merge request tpo/core/arti!1785 | |||||
| | * | arti: rewrite ilog10_roundup using checked_ilog10. | Nick Mathewson | 2023-11-30 | 1 | -16/+4 | |
| | | | ||||||
| | * | tor-config: use black_box in test. | Nick Mathewson | 2023-11-30 | 1 | -3/+1 | |
| | | | ||||||
| | * | guardmgr: Stop using now-needless retain_mut crate. | Nick Mathewson | 2023-11-30 | 3 | -12/+4 | |
| | | | ||||||
| | * | rtmock: Remove now-needless to_string calls. | Nick Mathewson | 2023-11-30 | 1 | -4/+0 | |
| | | | ||||||
| | * | netdoc: Remove an "unknown_lints" exception. | Nick Mathewson | 2023-11-30 | 1 | -1/+0 | |
| | | | ||||||
| | * | llcrypto: Use up-to-date name for a clippy lint. | Nick Mathewson | 2023-11-30 | 1 | -2/+1 | |
| | | | ||||||
| | * | netdoc: refactor to use a let-else. | Nick Mathewson | 2023-11-30 | 1 | -4/+1 | |
| | | | ||||||
| * | | tor-hsservice: IptKeySpecifier: add a TODO HSS | Ian Jackson | 2023-12-04 | 1 | -0/+2 | |
| | | | ||||||
| * | | tor-hsservice: ipt_set: Remove a blocking TODO | Ian Jackson | 2023-12-04 | 1 | -1/+0 | |
| | | | | | | | | | This function became non-dead in some earlier commit. | |||||
| * | | tor-hsservice tests: Add some TODOs re IPT accepting state | Ian Jackson | 2023-12-04 | 1 | -0/+8 | |
| | | | ||||||
| * | | tor-hsservice tests: Check that restart gives us the same IPTs (fmt) | Ian Jackson | 2023-12-04 | 1 | -11/+18 | |
| | | | | | | | | | Mandatory formatting degradation. | |||||
| * | | tor-hsservice tests: Check that restart gives us the same IPTs | Ian Jackson | 2023-12-04 | 1 | -2/+24 | |
| | | | | | | | | | | | | | Store the IptParameters in the MockEstabState, and provide a function to list what the IPTs are. Then we can check the IPTs are reloaded and restored after restart. | |||||
| * | | tor-hsservice tests: Test restarting the IPT manager | Ian Jackson | 2023-12-04 | 1 | -0/+9 | |
| | | | | | | | | | | | This is supposed to reload the state. In the next commit we'll check at least some of the things. | |||||
| * | | tor-hsservice tests: Break out shutdown_check_no_tasks | Ian Jackson | 2023-12-04 | 1 | -4/+7 | |
| | | | | | | | | | We're going to add another call site in a moment. | |||||
| * | | tor-hsservice: Use keystore to store and reuse IPT keys | Ian Jackson | 2023-12-04 | 4 | -9/+85 | |
| | | | ||||||
| * | | tor-hsservice: ipt_mgr: Prepare for nonfatal IPT creation errors | Ian Jackson | 2023-12-04 | 2 | -5/+42 | |
| | | | | | | | | | | | | | | | | | | | Previously IPT creation could only fail due to key generation failures or other kinds of internal error, which were very unlikely and treated as fatal. But with key persistence, IPT creation will be able to fail due to eg disk full. | |||||
| * | | tor-hsservice: Define key specifiers for IPT keys | Ian Jackson | 2023-12-04 | 2 | -1/+58 | |
| | | | ||||||
| * | | tor-hsservice: ipt_set: Store publication times | Ian Jackson | 2023-12-04 | 1 | -16/+101 | |
| | | | ||||||
| * | | tor-hsservice: ipt_mgr: Save and load IPT relays etc. (fmt) | Ian Jackson | 2023-12-04 | 1 | -6/+3 | |
| | | | ||||||
| * | | tor-hsservice: ipt_mgr: Save and load IPT relays etc. | Ian Jackson | 2023-12-04 | 2 | -10/+155 | |
| | | | | | | | | | | | | | | | | | Store the IPT manager's data structure to the provided storage manager. Keys are not persistent yet! And we must save the publication IPT set since it can have the only record of IPT publication times. | |||||
| * | | tor-hsservice: ipt_set: Have various methods take a Runtime | Ian Jackson | 2023-12-04 | 5 | -16/+29 | |
| | | | | | | | | | | | | | | | | | Actually, a SleepProvider. We will need this for timestamp conversion during loading and saving. channel() needs it to load. note_publication_attempt needs it for saving, as does borrow_for_update. | |||||
| * | | tor-hsservice: ipt_set: Have various methods take a Runtime (pre-fmt) | Ian Jackson | 2023-12-04 | 4 | -6/+19 | |
| | | | | | | | | | Whitespace changes that make the next commit less noisy. | |||||
| * | | tor-hsservice: ipt_set: Provide IptManagerView::borrow_for_read() | Ian Jackson | 2023-12-04 | 1 | -2/+10 | |
| | | | | | | | | | | | | | | | We're about to make borrow_for_update() take a runtime parameter, which will be a bit annoying. borrow_for_read() doesn't need one. Call sites will come on a moment. | |||||
| * | | tor-hsservice tests: Use a real storage manager for IPT manager tests | Ian Jackson | 2023-12-04 | 1 | -2/+8 | |
| | | | ||||||
| * | | tor-hsservice tests: Break out create_storage_handles_from_state_mgr | Ian Jackson | 2023-12-04 | 1 | -2/+9 | |
| | | | | | | | | | We're going to want to reuse this. | |||||
| * | | tor-hsservice tests: Break out MockedIptManager state struct | Ian Jackson | 2023-12-04 | 1 | -18/+45 | |
| | | | | | | | | | | | | | | | And therefore, break out the IPT manager startup, into a MockedIptManager::start. We can have it borrow the TempDir, legitimising the _untracked call. | |||||
| * | | tor-hsservice tests: Use a real keystore for IPT manager tests | Ian Jackson | 2023-12-04 | 1 | -54/+4 | |
| | | | | | | | | | | | | | IPT persistence tests will need to actually save things. We'll fix up the `.into_untracked()` wrinkle shortly. | |||||
| * | | tor-hsservice tests: publish: Make run_test take a runtime | Ian Jackson | 2023-12-04 | 1 | -2/+3 | |
| | | | | | | | | | | | We're about to need to arrange to have the same runtime earlier, so run_test needs to accept one from the caller. | |||||
| * | | tor-hsservice tests: test_temp_dir: Make macro not assume import | Ian Jackson | 2023-12-04 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-hsservice: ipt_set: Make ::channel() fallible | Ian Jackson | 2023-12-04 | 4 | -8/+10 | |
| | | | | | | | | | This is going to load the state from disk. | |||||
| * | | tor-hsservice: Pass and record storage handles | Ian Jackson | 2023-12-04 | 6 | -13/+76 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce type aliases for the Arc<dyn >. Add Send and Sync bounds. * Pass the storage manager to ipt_mgr and the per-key handle to ipt_set. * Store the handles in ipt_mgr::Immutable and IptPublishSet. * Change the ipt mgr storage key to "hs_ipts_{nickname}". This avoids use of "_" as a non-separator, and allows the possibility of other submodules using other storage keys too - and, here, we introduce one. * Provide a dummy struct for the IPT set state, which is needed to define the type alias etc. We'll populate that struct later. | |||||
| * | | tor-hsservice: Provide StartupError variants for failed state reads | Ian Jackson | 2023-12-04 | 1 | -0/+26 | |
| | | | ||||||
| * | | tor-hsservice: Introduce IptStoreError | Ian Jackson | 2023-12-04 | 5 | -8/+72 | |
| | | | | | | | | | | | | | | | | | | | | | If we can't store IPT details, we mustn't publish the corresponding IPT. But that's not fatal; maybe we can store later. So introduce a new IptStoreError type, and change the return value from some functions that are going to be able to fail that way. This introduces a new TODO HSS: we need the publisher to be able to retry after such a failure. | |||||
| * | | Merge branch 'publisher-bug' into 'main' | gabi-250 | 2023-12-04 | 1 | -28/+58 | |
| |\ \ | | | | | | | | | | | | | | | | | | | tor-hsservice: Measure last_uploaded from when the upload was initiated. Closes #1142, #1130, and #1132 See merge request tpo/core/arti!1787 | |||||
| | * | | tor-hsservice: Add more details to the last_uploaded docs. | Gabriela Moldovan | 2023-12-04 | 1 | -0/+9 | |
| | | | | ||||||
| | * | | tor-hsservice: If upload_all fails, retry after 5min. | Gabriela Moldovan | 2023-12-04 | 1 | -13/+33 | |
| | | | | | | | | | | | | | Fixes #1132 | |||||
