summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src/keys.rs
Commit message (Collapse)AuthorAgeFilesLines
* KeySpecifier etc: apply deferred rustfmt import churnIan Jackson2024-01-041-1/+1
|
* KeySpecifier d-a macro: Do not produce fn new()Ian Jackson2024-01-041-5/+6
| | | | | | Where we wanted this, use derive_more::Constructor isntead. arti#1151 item 6.
* KeySpecifier: Make KeySpecifierPattern a traitIan Jackson2024-01-041-0/+1
| | | | | | So now .arti_pattern() is a trait method. arti#1151 item 3.
* KeySpecifier d-a macro: Introduce SomeSpecifierPattern and use dynIan Jackson2024-01-041-1/+1
| | | | | | | | This is a better API. The implementation has less monomorphisation. arti#1151 item 2 and the patterns part of 4. Closes #1126.
* tor-hsservice: Drop an unused importIan Jackson2024-01-041-1/+0
| | | | | I'm not sure why the compiler doesn't complain about this already, but it becomes "more" unused later.
* KeySpecifier d-a macro: rename from KeySpecifierDefaultIan Jackson2024-01-031-7/+7
| | | | arti#1151 item 1.
* tor-hsservice: Fix broken doc link.Gabriela Moldovan2023-12-141-1/+1
|
* tor-hsservice: keys: Remove unused imports (and a blocking todo)Ian Jackson2023-12-071-2/+0
|
* 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-071-4/+4
| | | | | 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-keymgr: Replace assert_key_specifier_rountrip macro with function (fmt)Ian Jackson2023-12-071-12/+3
| | | | Formatting churn at call sites.
* tor-keymgr: Replace assert_key_specifier_rountrip macro with functionIan Jackson2023-12-071-13/+8
| | | | The new function checks both directions. The (misspelled) macro didn't.
* tor-hsservice: Add a cross-reference to KeystoreSweeper.Gabriela Moldovan2023-12-051-0/+7
|
* tor-keymgr: Update key summary strings to be less verbose.Gabriela Moldovan2023-12-051-5/+5
|
* tor-hsservice: Test the TryFrom<&KeyPath> KeySpecifier impl.Gabriela Moldovan2023-12-051-1/+7
|
* tor-hsservice: Add some useful derives for the key specifiers.Gabriela Moldovan2023-12-051-5/+5
|
* tor-hsservice: Make the KeySpecifier fields crate-public.Gabriela Moldovan2023-12-051-7/+7
| | | | We're about to use them.
* tor-keymgr: Store an owned type instead.Gabriela Moldovan2023-12-051-15/+20
| | | | | | 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-hsservice: IptKeySpecifier: add a TODO HSSIan Jackson2023-12-041-0/+2
|
* tor-hsservice: Use keystore to store and reuse IPT keysIan Jackson2023-12-041-1/+0
|
* tor-hsservice: Define key specifiers for IPT keysIan Jackson2023-12-041-1/+57
|
* tor-hsservice: Remove unused macro.Gabriela Moldovan2023-11-201-83/+1
| | | | We don't need this macro now that we adhoc-derive the implementation.
* tor-hsservice: Derive the service key specifier implementations (fmt).Gabriela Moldovan2023-11-201-54/+54
|
* tor-hsservice: Derive the service key specifier implementations.Gabriela Moldovan2023-11-201-24/+43
|
* tor-keymgr: Use the new denotator separator instead of underscore.Gabriela Moldovan2023-11-021-3/+3
| | | | | | | | Underscores are used within `ArtiPath`s as visual separators. To reduce ambiguity, we now use a different character for separating the key denotators (e.g. time periods) from the rest of the `ArtiPath`. Closes #1063
* tor-keymgr: Fix a broken docs linkIan Jackson2023-11-011-2/+2
| | | | | | | | | | | | Fixes: cargo doc --workspace $f --document-private-items 1 | //! [`KeySpecifier`] implementations for hidden service keys. | ^^^^^^^^^^^^ no item named `KeySpecifier` in scope 8 | /// A helper for defining service [`KeySpecifier`]s. | ^^^^^^^^^^^^ no item named `KeySpecifier` in scope
* tor-hsservice: Add tests for define_svc_key_specifier.Gabriela Moldovan2023-10-301-0/+62
|
* tor-hsservice: Define key specifiers using the new helper macro.Gabriela Moldovan2023-10-301-119/+29
| | | | Closes #1069
* tor-hsservice: Add convenience wrapper around define_key_specifier (fmt).Gabriela Moldovan2023-10-301-2/+2
|
* tor-hsservice: Add convenience wrapper around define_key_specifier.Gabriela Moldovan2023-10-301-0/+83
|
* tor-keymgr: Move the KeyDenotator trait to tor-keymgr (fmt).Gabriela Moldovan2023-10-301-1/+3
|
* tor-keymgr: Move the KeyDenotator trait to tor-keymgr.Gabriela Moldovan2023-10-301-43/+1
| | | | | The trait is no longer sealed because users should be allowed to define their own key denotators.
* tor-keymgr: Fix broken glob pattern.Gabriela Moldovan2023-10-241-1/+1
| | | | | | The pattern was only supposed to match the 3 components of the time period, separated by `_`, but not the leading `_`, which separates the key name from its denotators.
* tor-hsservice: Fix cargo doc warnings.Gabriela Moldovan2023-10-191-3/+3
|
* tor-hsservice: Rename KeyMetadata to KeyDenotator.Gabriela Moldovan2023-10-191-25/+28
|
* tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError (fmt).Gabriela Moldovan2023-10-191-1/+1
|
* tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError.Gabriela Moldovan2023-10-191-5/+6
|
* tor-keymgr: Remove From<ArtiPathError> impl for KeyPathError.Gabriela Moldovan2023-10-191-4/+6
|
* tor-hsservice: Add TODO about ArtiPath underscore ambiguity.Gabriela Moldovan2023-10-191-0/+2
|
* tor-hsservice: Add HsSvcKeySpecifier::arti_pattern helper.Gabriela Moldovan2023-10-191-1/+9
|
* tor-hsservice: Include the TP offset in the key metadata (fmt).Gabriela Moldovan2023-10-191-1/+6
|
* tor-hsservice: Include the TP offset in the key metadata.Gabriela Moldovan2023-10-191-2/+2
| | | | | The offset is needed because we want to be able to convert this metadata back to `TimePeriod`.
* tor-hsservice: Hoist the key metadata out of HsSvcKeyRole.Gabriela Moldovan2023-10-191-46/+114
| | | | | We will need the string rerpresentation (minus the TimePeriod or any other metadata) of `HsSvcKeyRole`s for building `KeyPathPattern`s.
* tor-keymgr: Use ArtiPathError for invalid ArtiPaths.Gabriela Moldovan2023-10-191-3/+7
|
* tor-hsservice: Add more key roles.Gabriela Moldovan2023-10-031-0/+11
| | | | | | This adds a couple of new `HsSvcKeyRoles` for: * `KS_hs_id` keypairs * `KP_hs_blind_id` public keys keys
* tor-hsservice: Make HsSvcKeySpecifier borrow the nickname.Gabriela Moldovan2023-09-271-5/+5
| | | | This helps avoid cloning the nickname unnecessarily.
* tor-hsservice: Make keys.rs a top-level module.Gabriela Moldovan2023-09-221-0/+73
|