aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-keymgr/src/key_specifier.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-keymgr: Add ArtiPathError, KeyPathError.Gabriela Moldovan2023-10-191-0/+33
|
* tor-keymgr: Add an enum for representing an ArtiPath or a CTorPath.Gabriela Moldovan2023-10-191-1/+29
| | | | | | This will enable the future `KeyMgr::list_matching()` API to return a list that contains results from (potentially) multiple different keystore backends.
* tor-keymgr: Add some more derives for ArtiPath and CTorPath.Gabriela Moldovan2023-10-191-2/+2
|
* tor-keymgr: Disallow consecutive . in pathsNeel Chauhan2023-10-161-6/+6
|
* tor-keymgr, tor-hsservice: Run rustfmt to make derives uglierIan Jackson2023-08-231-3/+13
|
* tor-keymgr, tor-hsservice: deser for ArtiPathComponent and HsNicknameIan Jackson2023-08-231-0/+25
|
* tor-keymgr: Improve ArtiPathComponent a bitIan Jackson2023-08-231-0/+15
| | | | And add a TODO about the error type.
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-231-0/+1
|
* keymgr: Add some extra derives to ArtiPath and KeyType.Gabriela Moldovan2023-07-201-3/+2
|
* Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-101-0/+1
|
* keymgr: Update ArtiPath and ArtiPathComponent docs.Gabriela Moldovan2023-06-301-2/+2
| | | | | The docs were lying, we actually support UTF-8 paths (though we might later decide to restrict the charset further).
* keymgr: Allow periods in ArtiPath and ArtiPathComponent.Gabriela Moldovan2023-06-301-9/+22
| | | | | | | The `ArtiPath` of a client auth key contains the `HsId` of the onion Since the `HsId` contains a `.onion` component, let's allow `.` for now. In the future, we may want to update the code (and keystore structure) to strip away the `.onion` part before building the `ArtiPath`.
* keymgr: Remove unstable ErrorKind, use internal! for ArtiPath errors.Gabriela Moldovan2023-06-291-21/+7
|
* keymgr: Validate the individual ArtiPahtComponents of ArtiPath.Gabriela Moldovan2023-06-291-37/+25
| | | | | This also implicitly forbids leading and trailing slashes in an `ArtiPath`.
* keymgr: Rephrase ArtiPath docs.Gabriela Moldovan2023-06-291-14/+5
| | | | This updates the docs with Diziet's suggested doc improvements.
* keymgr: Remove ArtiPath normalization, introduce additional restrictions.Gabriela Moldovan2023-06-291-45/+45
|
* keymgr: Document how ArtiPath validation is actually supposed to work.Gabriela Moldovan2023-06-291-7/+11
|
* keymgr: Move validation requirements to the ArtiPath docs.Gabriela Moldovan2023-06-291-12/+15
|
* keymgr: Make ArtiPath platform-independent by always using '/' as a separator.Gabriela Moldovan2023-06-291-10/+10
|
* keymgr: Add tests for ArtiPath validation.Gabriela Moldovan2023-06-291-0/+90
|
* keymgr: Validate ArtiPath and ArtiPathComponent.Gabriela Moldovan2023-06-291-12/+45
|
* keymgr: Derive Into for ArtiPath and ArtiPathComponent.Gabriela Moldovan2023-06-291-1/+3
|
* keymgr: Define an error type for bad `ArtiPathComponents`.Gabriela Moldovan2023-06-291-1/+18
|
* keymgr: Derive Display for ArtiPath and ArtiPathComponent.Gabriela Moldovan2023-06-291-3/+4
|
* keymgr: Define `ArtiPathComponent`.Gabriela Moldovan2023-06-291-0/+21
| | | | | | | | | | An `ArtiPathComponent` is a substring of an `ArtiPath`. An `ArtiPathComponent` will be validated according to the same rules as `ArtiPath`. In the future we can replace `HsClientSpecifier` with `ArtiPathComponent` (they both serve the same purpose except `ArtiPathComponent` is more generic).
* keymgr: Derive Into for ArtiPath.Gabriela Moldovan2023-06-211-1/+1
| | | | | Sometimes we need the underlying String (for example to create a PathBuf).
* keymgr: Move the HS client and service key specifiers out of tor-keymgr.Gabriela Moldovan2023-06-151-2/+0
| | | | | | The HS `HsClientSpecifier` and `HsClientSecretKeySpecifier` are moved to `tor-hsclient`. The HS service secret key specifier stubs are moved to `tor-hsservice`.
* keymgr: Add ArtiNativeKeyStore implementation skeleton.Gabriela Moldovan2023-06-151-0/+46
This adds implementation stubs for `ArtiNativeKeyStore`, and introduces the traits needed to make the `KeyStore` APIs work.