| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | tor-hsservice: Add more context to the publisher logs. | Gabriela Moldovan | 2023-12-08 | 1 | -10/+20 | |
| | | | ||||||
| | * | tor-hsservice: Remove a publisher TODO that has been addressed. | Gabriela Moldovan | 2023-12-08 | 1 | -8/+0 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The publisher doesn't reupload unless explicitly asked to do so by the `IptManager` (via `await_update()`). Also, when the consensus changes, we always trigger a reupload, but only to those HsDirs that don't already have the descriptor (the HsDirs marked as "clean" stay "clean", and any new HsDirs are marked "dirty" until they get a copy of the descriptor. See !1806). Similarly, a config change only triggers a reupload if the change means we need to generate a new descriptor (e.g. if the `anonymity` of the service changes). Note, however, that this logic is currently commented out (it depends on #1028). Closes #1131 | |||||
| * | | tor-hsservice: Add functions to update the IPT mgr/publisher states. | Gabriela Moldovan | 2023-12-11 | 1 | -7/+21 | |
| | | | | | | | | | Part of #1083 | |||||
| * | | tor-hsservice: Derive service state from the state of its components. | Gabriela Moldovan | 2023-12-11 | 1 | -1/+20 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to know the status of each component to be able to report the overall status of the service. Without this change, the service (and its components) have no way of knowing if a given transition is valid: if the state of a component (say, the IPT manager) is `Bootstrapping`, `Recovering` or `Broken`, a transition out of the current state is only valid if it is initiated by the same component that caused the current state (for example, if the publisher sets the state to `Recovering`, the IPT manager should not be allowed to trigger an overall state transition to `Running`). Part of #1083 | |||||
| * | | tor-hsservice: Trim trailing whitespace. | Gabriela Moldovan | 2023-12-11 | 1 | -1/+1 | |
| |/ | ||||||
| * | tor-hsservice: Remove unused lifetime. | Gabriela Moldovan | 2023-12-07 | 1 | -1/+1 | |
| | | | | | Fixes a clippy lint. | |||||
| * | tor-hsservice: Remove unused function. | Gabriela Moldovan | 2023-12-07 | 1 | -16/+0 | |
| | | ||||||
| * | tor-hsservice: Fix publisher bug causing unnecessary uploads. | Gabriela Moldovan | 2023-12-07 | 1 | -27/+31 | |
| | | | | | | | | This fixes a bug where the publisher wasn't preserving the `DescriptorStatus` of its `HsDirs` when handling consensus changes. The bug is described in more detailed in the TODO removed by this commit. | |||||
| * | tor-hsservice: Add a TODO about a publlisher bug | Gabriela Moldovan | 2023-12-07 | 1 | -0/+17 | |
| | | ||||||
| * | tor-hsservice: Rename period to ctx for clarity. | Gabriela Moldovan | 2023-12-07 | 1 | -2/+2 | |
| | | | | | This is actually a `TimePeriodContext`. | |||||
| * | Merge branch 'persist-macro' into 'main' | Ian Jackson | 2023-12-07 | 6 | -96/+78 | |
| |\ | | | | | | | | | | | | | Improve KeySpecifier, errors, IptKeySpecifier impl, etc. Closes #1116 and #1148 See merge request tpo/core/arti!1796 | |||||
| | * | tor-hsservice: keys: Remove unused imports (and a blocking todo) | Ian Jackson | 2023-12-07 | 1 | -2/+0 | |
| | | | ||||||
| | * | tor-hsservice: tests: IptKeySpecifier: Do round trip test | Ian Jackson | 2023-12-07 | 1 | -8/+8 | |
| | | | ||||||
| | * | tor-hsservice: IptKeySpecifier: impl KeySpecifier via macro | Ian Jackson | 2023-12-07 | 1 | -14/+8 | |
| | | | ||||||
| | * | tor-hsservice: IptKeySpecifier: make it owned | Ian Jackson | 2023-12-07 | 2 | -5/+5 | |
| | | | | | | | | | | | The macro is going to want to be able to do a back-conversion from an ArtiPath, so there has to be an owned version. | |||||
| | * | tor-hsservice: IptKeySpecifier: reorder fields | Ian Jackson | 2023-12-07 | 1 | -2/+2 | |
| | | | | | | | | | | | Now they are in the order they appear in the ArtiPath, which is a bit clearer. | |||||
| | * | tor-hsservice: IptKeyRole: impl FromStr and KeySpecifierComponent | Ian Jackson | 2023-12-07 | 1 | -1/+4 | |
| | | | ||||||
| | * | tor-hsservice: IptLocalId: impl KeySpecifierComponent | Ian Jackson | 2023-12-07 | 1 | -0/+3 | |
| | | | ||||||
| | * | tor-hsservice: IptLocalId: impl FromStr (fmt) | Ian Jackson | 2023-12-07 | 1 | -4/+2 | |
| | | | ||||||
| | * | tor-hsservice: IptLocalId: impl FromStr | Ian Jackson | 2023-12-07 | 2 | -27/+18 | |
| | | | | | | | | | And implement serde that way, using SerdeStringOrTransparent. | |||||
| | * | tor-hsservice: Expose SerdeStringOrTransparent to crate | Ian Jackson | 2023-12-07 | 2 | -2/+4 | |
| | | | | | | | | | | | And make it useable elsewhere by not expecting the particular error type. | |||||
| | * | tor-keymgr: Make KeySpecifierComponent::as_component fallible | Ian Jackson | 2023-12-07 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | This allows a principled implentation via Display. The alternative would be to have runtime panics whenever someone uses KeySpecifierComponentViaDisplayFromStr but the Display impl can produce wrong syntax (that doesn't fit in an ArtiPathComponent). Bug seems like the right error since implemnting KeySpecifierComponent implies that every value is representable in an ArtiPathComponent. | |||||
| | * | tor-keymgr: Introduce InvalidKeyPathComponentValue errors (fmt) | Ian Jackson | 2023-12-07 | 1 | -9/+8 | |
| | | | ||||||
| | * | tor-keymgr: Introduce InvalidKeyPathComponentValue errors | Ian Jackson | 2023-12-07 | 1 | -1/+7 | |
| | | | | | | | | | | | | | | | | | This is a variant in KeyPathError, which contains the actual wrong value, and the key name. But it is also a unit struct to return from the trait impl. This replaces ArtiPathError::InvalidDenotator. | |||||
| | * | tor-hsservice: Prepare for different denotator error handling | Ian Jackson | 2023-12-07 | 1 | -5/+6 | |
| | | | | | | | | | | | Save the ArtiPathComponent in a variable and separate out the Ok(tp) for clarity. No functional change. | |||||
| | * | tor-keymgr: Have KeySpecifierComponent::from_component take a ref | Ian Jackson | 2023-12-07 | 1 | -1/+1 | |
| | | | | | | | | | | | Call sites are shortly going to need the component on the error path, so this function ought probably not to consume it. | |||||
| | * | tor-keymgr: Replace assert_key_specifier_rountrip macro with function (fmt) | Ian Jackson | 2023-12-07 | 1 | -12/+3 | |
| | | | | | | | | | Formatting churn at call sites. | |||||
| | * | tor-keymgr: Replace assert_key_specifier_rountrip macro with function | Ian Jackson | 2023-12-07 | 1 | -13/+8 | |
| | | | | | | | | | The new function checks both directions. The (misspelled) macro didn't. | |||||
| | * | tor-keymgr: provide KeySpecifierComponentViaDisplayFromStr and use it | Ian Jackson | 2023-12-07 | 1 | -13/+2 | |
| | | | | | | | | | Now the only manual impl is TimePeriod, which is indeed special. | |||||
| | * | ArtiPaths: derive FromStr for ArtiPath ArtiPathComponent HsNickname (fmt) | Ian Jackson | 2023-12-07 | 1 | -2/+13 | |
| | | | | | | | | | Mandatory horrible formatting. | |||||
| | * | ArtiPaths: derive FromStr for ArtiPath ArtiPathComponent HsNickname | Ian Jackson | 2023-12-07 | 1 | -0/+1 | |
| | | | ||||||
| * | | Add a "Shutdown" status, and clarify places where status should change. | Nick Mathewson | 2023-12-07 | 4 | -5/+19 | |
| | | | ||||||
| * | | Add a status API to OnionService. | Nick Mathewson | 2023-12-07 | 3 | -11/+168 | |
| |/ | | | | | | (This doesn't yet send any status events.) Begins work on arti#1083. | |||||
| * | tor-hsservice: Add more info to an internal error (fmt). | Gabriela Moldovan | 2023-12-05 | 1 | -6/+7 | |
| | | ||||||
| * | tor-hsservice: Add more info to an internal error. | Gabriela Moldovan | 2023-12-05 | 1 | -1/+9 | |
| | | | | | | Logging the current time and the start of the time period might help us debug #1143 (we'll at least know how far off `now` is from `start`). | |||||
| * | tor-hsservice: Fix clippy warning. | Gabriela Moldovan | 2023-12-05 | 1 | -1/+1 | |
| | | ||||||
| * | tor-hsservice: Wrap some long lines in a helper macro. | Gabriela Moldovan | 2023-12-05 | 1 | -4/+11 | |
| | | ||||||
| * | tor-hsservice: Add a cross-reference to KeystoreSweeper. | Gabriela Moldovan | 2023-12-05 | 1 | -0/+7 | |
| | | ||||||
| * | tor-keymgr: Abolish the KeyDenotator trait in favour of KeyPathComponent (fmt). | Gabriela Moldovan | 2023-12-05 | 1 | -2/+6 | |
| | | ||||||
| * | tor-keymgr: Abolish the KeyDenotator trait in favour of KeyPathComponent. | Gabriela Moldovan | 2023-12-05 | 1 | -2/+4 | |
| | | ||||||
| * | tor-hsservice: Stop the KeystoreSweeper task when the service exits (fmt). | Gabriela Moldovan | 2023-12-05 | 3 | -57/+62 | |
| | | ||||||
| * | tor-hsservice: Stop the KeystoreSweeper task when the service exits. | Gabriela Moldovan | 2023-12-05 | 2 | -7/+30 | |
| | | ||||||
| * | tor-hsservice: Make shutdown a broadcast channel. | Gabriela Moldovan | 2023-12-05 | 2 | -11/+13 | |
| | | | | | | We will soon need another component to be able to subscribe to the shutdown signal. | |||||
| * | tor-hsservice: Move remove_if_expired macro inside task (fmt). | Gabriela Moldovan | 2023-12-05 | 1 | -9/+3 | |
| | | ||||||
| * | tor-hsservice: Move remove_if_expired macro inside task. | Gabriela Moldovan | 2023-12-05 | 1 | -37/+22 | |
| | | ||||||
| * | tor-keymgr: Update key summary strings to be less verbose. | Gabriela Moldovan | 2023-12-05 | 1 | -5/+5 | |
| | | ||||||
| * | tor-hsservice: Test the TryFrom<&KeyPath> KeySpecifier impl. | Gabriela Moldovan | 2023-12-05 | 2 | -1/+8 | |
| | | ||||||
| * | tor-hsservice: Add some useful derives for the key specifiers. | Gabriela Moldovan | 2023-12-05 | 1 | -5/+5 | |
| | | ||||||
| * | 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. | |||||
