summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-keymgr: ArtiPathComponent: Use unqualified namesIan Jackson2023-12-071-3/+3
| | | | | | | | | | | | This makes this like the list for ArtiPath.
| * | tor-keymgr: ArtiPath[Component]: Don't DerefMutIan Jackson2023-12-071-3/+1
| | | | | | | | | | | | That would allow construction of invalid paths.
| * | tor-keymgr: ArtiPath[Component]: Add some more test aspectsIan Jackson2023-12-071-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Test that the FromStr and TryFrom impls give the same answers as new(). These tests dodn't even compile before Properly validate in FromStr because the derive-more generated version has a wrong error type.
| * | tor-keymgr: ArtiPath[Component]: Properly validate in FromStrIan Jackson2023-12-071-2/+11
| | | | | | | | | | | | | | | | | | | | | As pointed out in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1796#note_2974513 derive-more just parses like the inner type, so an unvalidated String. That is wrong.
| * | tor-keymgr: ArtiPath[Component]: Use d-a to generate various methodsIan Jackson2023-12-071-30/+36
| | | | | | | | | | | | Now ArtiPath too is TryFrom<String> and AsRef<str>.
| * | tor-keymgr: ArtiPath: Introduce validate_strIan Jackson2023-12-071-3/+8
| | | | | | | | | | | | This makes it more like ArtiPathComponent and will allow more unification
| * | tor-keymgr: ArtiPath tests: Add a test for a multi-component pathIan Jackson2023-12-071-2/+6
| | |
| * | tor-keymgr: ArtiPath tests: separate path from component testsIan Jackson2023-12-071-2/+4
| | | | | | | | | | | | | | | | | | Rename VALID_ARTI_PATH_COMPONENTS from _PATHS. These are tested for validity as components. I want to add a test for a multi-component path, so make a place to put it.
| * | tor-keymgr: ArtiPath::new: Rename a confusing variableIan Jackson2023-12-071-2/+2
| | | | | | | | | | | | Rebinding inner locally like this confused me.
| * | tor-keymgr: ArtiPathSyntaxError: impl EqIan Jackson2023-12-071-1/+1
| | |
| * | tor-keymgr: arti_path tests: Add two TODOsIan Jackson2023-12-071-0/+3
| | | | | | | | | | | | These don't seem critical to me.
| * | tor-keymgr: path errors: Add some xrefsIan Jackson2023-12-072-1/+9
| | |
| * | tor-keymgr: ArtiPathSyntaxError: rename from ArtiPathError (fmt)Ian Jackson2023-12-073-12/+45
| | |
| * | tor-keymgr: ArtiPathSyntaxError: rename from ArtiPathErrorIan Jackson2023-12-077-41/+40
| | | | | | | | | | | | | | | The previous name was ambiguous, and confusable with KeyPathError (of which it is, basically, a variant).
| * | tor-keymgr: Abolish unneeded StdResult alias in arti_pathIan Jackson2023-12-071-6/+4
| | |
| * | tor-keymgr: Move ArtiPath etc. into new module (docs links)Ian Jackson2023-12-071-2/+6
| | | | | | | | | | | | Fix docs link breakage.
| * | tor-keymgr: Move ArtiPath etc. into new moduleIan Jackson2023-12-073-191/+200
| | | | | | | | | | | | Minimal changes to still compile and pass tests.
| * | tor-keymgr: KeySpecifierComponent::to_component: rename from as_componentIan Jackson2023-12-071-7/+7
| | | | | | | | | | | | | | | | | | Normally as_... is a cheap and non-consuming (reference to reference) conversion. to_ is better here since we don't consume, but we do allocate.
| * | tor-hsservice: tests: IptKeySpecifier: Do round trip testIan Jackson2023-12-071-8/+8
| | |
| * | tor-hsservice: IptKeySpecifier: impl KeySpecifier via macroIan Jackson2023-12-071-14/+8
| | |
| * | tor-hsservice: IptKeySpecifier: make it ownedIan Jackson2023-12-072-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 fieldsIan Jackson2023-12-071-2/+2
| | | | | | | | | | | | | | | Now they are in the order they appear in the ArtiPath, which is a bit clearer.
| * | tor-hsservice: IptKeyRole: impl FromStr and KeySpecifierComponentIan Jackson2023-12-071-1/+4
| | |
| * | tor-hsservice: IptLocalId: impl KeySpecifierComponentIan Jackson2023-12-071-0/+3
| | |
| * | tor-hsservice: IptLocalId: impl FromStr (fmt)Ian Jackson2023-12-071-4/+2
| | |
| * | tor-hsservice: IptLocalId: impl FromStrIan Jackson2023-12-072-27/+18
| | | | | | | | | | | | And implement serde that way, using SerdeStringOrTransparent.
| * | tor-hsservice: Expose SerdeStringOrTransparent to crateIan Jackson2023-12-072-2/+4
| | | | | | | | | | | | | | | And make it useable elsewhere by not expecting the particular error type.
| * | tor-keymgr: Make KeySpecifierComponent::as_component fallible (fmt)Ian Jackson2023-12-071-3/+8
| | |
| * | tor-keymgr: Make KeySpecifierComponent::as_component fallibleIan Jackson2023-12-072-29/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Jackson2023-12-072-11/+9
| | |
| * | tor-keymgr: Introduce InvalidKeyPathComponentValue errorsIan Jackson2023-12-073-15/+74
| | | | | | | | | | | | | | | | | | | | | | | | 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 handlingIan Jackson2023-12-071-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 refIan Jackson2023-12-072-7/+7
| | | | | | | | | | | | | | | Call sites are shortly going to need the component on the error path, so this function ought probably not to consume it.
| * | tor-keymgr: Make two errors not be CopyIan Jackson2023-12-071-1/+1
| | | | | | | | | | | | | | | | | | This is a hostage to fortune. (In a previous version of !1796 I wanted to make it untrue.)
| * | tor-keymgr: KeySpecifierDefault: role: allow runtime valueIan Jackson2023-12-071-15/+72
| | | | | | | | | | | | Make it possible for the role to be a field.
| * | tor-keymgr: KeySpecifierDefault: Use meta as strIan Jackson2023-12-071-3/+6
| | | | | | | | | | | | This saves on some stringify! and improves error checking.
| * | tor-keymgr: KeySpecifierDefault: fixed_path_component featureIan Jackson2023-12-071-0/+29
| | |
| * | tor-keymgr: KeySpecifierDefault: recast field loopIan Jackson2023-12-071-1/+2
| | | | | | | | | | | | | | | We're going to do another per-field thing that doesn't want this condition.
| * | tor-keymgr: KeySpecifierDefault: ctor_path featureIan Jackson2023-12-071-8/+47
| | |
| * | tor-keymgr: KeySpecifierDefault: Document attributes more formallyIan Jackson2023-12-071-1/+20
| | | | | | | | | | | | | | | | | | The `summary` attribute refers to a field in KeyPathInfo but this field isn't public. We can refer to builder, but there should be getters or something.
| * | tor-keymgr: KeySpecifierDefault: Move dead code allowIan Jackson2023-12-071-5/+1
| | |
| * | tor-keymgr: KeyPathInfo: Provide builder() methodIan Jackson2023-12-071-4/+11
| | | | | | | | | | | | Otherwise the KeyPathInfo rustdocs don't have a method for making one.
| * | tor-keymgr: Replace assert_key_specifier_rountrip macro with function (fmt)Ian Jackson2023-12-072-26/+8
| | | | | | | | | | | | Formatting churn at call sites.
| * | tor-keymgr: Replace assert_key_specifier_rountrip macro with functionIan Jackson2023-12-073-45/+50
| | | | | | | | | | | | The new function checks both directions. The (misspelled) macro didn't.
| * | tor-keymgr: provide KeySpecifierComponentViaDisplayFromStr and use itIan Jackson2023-12-073-39/+24
| | | | | | | | | | | | Now the only manual impl is TimePeriod, which is indeed special.
| * | ArtiPaths: derive FromStr for ArtiPath ArtiPathComponent HsNickname (fmt)Ian Jackson2023-12-072-4/+27
| | | | | | | | | | | | Mandatory horrible formatting.
| * | ArtiPaths: derive FromStr for ArtiPath ArtiPathComponent HsNicknameIan Jackson2023-12-072-0/+3
| | |
* | | Merge branch 'hss_status' into 'main'Nick Mathewson2023-12-075-13/+184
|\ \ \ | | | | | | | | | | | | | | | | Add a status API to OnionService. See merge request tpo/core/arti!1797
| * | | Add a "Shutdown" status, and clarify places where status should change.Nick Mathewson2023-12-074-5/+19
| | | |
| * | | Add a status API to OnionService.Nick Mathewson2023-12-073-11/+168
| |/ / | | | | | | | | | | | | | | | (This doesn't yet send any status events.) Begins work on arti#1083.