aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-keymgr/src/key_specifier.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-keymgr: Use ${for fields} to count the number of denotators (fmt).Gabriela Moldovan2023-11-201-5/+4
|
* tor-keymgr: Use ${for fields} to count the number of denotators.Gabriela Moldovan2023-11-201-8/+3
|
* tor-keymgr: Refactor a commonly used condition into a defcond.Gabriela Moldovan2023-11-201-5/+8
|
* tor-keymgr: Apply review suggestions to various doc comments.Gabriela Moldovan2023-11-201-5/+11
|
* tor-keymgr: Do not require owned types in arti_pattern().Gabriela Moldovan2023-11-201-3/+3
| | | | This also fixes a clippy warning about a needless borrow.
* tor-keymgr: Suppress a confused clippy warning.Gabriela Moldovan2023-11-201-0/+2
| | | | | | | Clippy is wrong here: it's complaining about us not using `$crate`, when we _are_ using `$crate`. See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1733#note_2965924
* tor-keymgr: Remove unused macro.Gabriela Moldovan2023-11-201-241/+0
|
* tor-keymgr: Rewrite define_key_specifier using derive-adhoc (fmt).Gabriela Moldovan2023-11-201-37/+36
|
* tor-keymgr: Rewrite define_key_specifier using derive-adhoc.Gabriela Moldovan2023-11-201-18/+147
| | | | | | | | For the most part, this is just code movement. The implementation was copied over to `define_derive_adhoc` from `define_key_specifier`, with some minor adjustments that were needed to make it compile. Closes #1093
* tor-keymgr: Add tests for arti_prefix().Gabriela Moldovan2023-11-201-0/+11
|
* tor-keymgr: Add tests for arti_pattern().Gabriela Moldovan2023-11-201-0/+15
| | | | | | | | | `T::arti_pattern()` returns an `ArtiPath` pattern that can can match any key of type `T`, regardless of the values of its denotators (the denotators are replaced by wildcards in the pattern). These tests will allow us to check we're not breaking pattern matching when we transition to derive-adhoc.
* tor-keymgr: Add missing backticks (fmt).Gabriela Moldovan2023-11-131-1/+1
|
* tor-keymgr: Clarify what ArtiPath are used for.Gabriela Moldovan2023-11-131-1/+4
|
* tor-keymgr: Add some doctests.Gabriela Moldovan2023-11-131-0/+35
|
* tor-keymgr: Abolish KeyPathPatternSet.Gabriela Moldovan2023-11-131-52/+32
| | | | | | We don't really need it. Closes #1066
* tor-keymgr: Add TODO about adding helper for implementing KeyDenotator.Gabriela Moldovan2023-11-021-0/+2
|
* tor-keymgr: Map all errors to KeystoreCorruptionError (fmt).Gabriela Moldovan2023-11-021-4/+2
|
* tor-keymgr: Map all errors to KeystoreCorruptionError.Gabriela Moldovan2023-11-021-2/+2
|
* tor-keymgr: Use KeystoreCorruptionError instead of internal!.Gabriela Moldovan2023-11-021-3/+3
|
* tor-keymgr: Add an error type for keystore corruption (fmt).Gabriela Moldovan2023-11-021-2/+2
|
* tor-keymgr: Add an error type for keystore corruption.Gabriela Moldovan2023-11-021-1/+29
|
* tor-keymgr: Use ArrayVec to avoid an unnecessary allocation.Gabriela Moldovan2023-11-021-2/+3
|
* tor-keymgr: Use parse() instead of from_str().Gabriela Moldovan2023-11-021-5/+3
|
* tor-keymgr: Add TODO about supporting multiple key denotators.Gabriela Moldovan2023-11-021-0/+5
|
* tor-keymgr: Add test for the KeyDenotator impl for TimePeriod.Gabriela Moldovan2023-11-021-0/+11
|
* tor-keymgr: Remove unused KeyDenotator::glob() function.Gabriela Moldovan2023-11-021-11/+0
| | | | | We no longer need this function now that we always match the entire denotator rather than its individual components,
* tor-keymgr: Add test for ArtiPath denotator validation.Gabriela Moldovan2023-11-021-0/+22
|
* tor-keymgr: Update the test for paths with `+` as a disallowed char.Gabriela Moldovan2023-11-021-1/+9
| | | | | | `'+'` is now allowed to occur once within an `ArtiPath` (but **not** within an `ArtiPathComponent`), so we need to special case the `"c++"` test.
* tor-keymgr: Use the new denotator separator instead of underscore.Gabriela Moldovan2023-11-021-8/+21
| | | | | | | | 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: Add a constant for the denotator separator.Gabriela Moldovan2023-11-021-0/+8
|
* tor-keymgr: Remove now-outdated TODOs.Gabriela Moldovan2023-11-021-4/+0
|
* tor-keymgr: Rename KeyDenotator::display() to KeyDenotator::encode().Gabriela Moldovan2023-11-021-5/+5
| | | | | This renames the serialization function to `encode()` for consistency with its `KeyDenotator::decode()` counterpart.
* tor-keymgr: Add KeyDenotator::decode for decoding key denotators.Gabriela Moldovan2023-11-021-0/+38
| | | | | | | `KeyDenotator::decode` will soon replace the ad-hoc `TimePeriod` parsing logic from ipt_establish.rs. Part of #1070
* tor-keymgr: Remove unnecessary KeyDenotator impl.Gabriela Moldovan2023-11-021-10/+0
|
* tor-keymgr: Add TODO HSS about using derive-dhoc.Gabriela Moldovan2023-10-311-0/+3
|
* tor-keymgr: Add tests for define_key_specifier!.Gabriela Moldovan2023-10-301-0/+106
|
* tor-keymgr: Add macro for defining key specifiers.Gabriela Moldovan2023-10-301-0/+241
|
* tor-keymgr: Move the KeyDenotator trait to tor-keymgr.Gabriela Moldovan2023-10-301-0/+39
| | | | | The trait is no longer sealed because users should be allowed to define their own key denotators.
* tor-keymgr: Stop open-coding range operations.Gabriela Moldovan2023-10-241-6/+1
|
* tor-keymgr: Fix substring bounds check.Gabriela Moldovan2023-10-241-1/+16
| | | | The upper limit is exclusive, so this condition was off by one.
* tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError.Gabriela Moldovan2023-10-191-6/+6
|
* tor-keymgr: Remove From<ArtiPathError> impl for KeyPathError.Gabriela Moldovan2023-10-191-6/+0
|
* tor-keymgr: Expand on the KeyPathError docs.Gabriela Moldovan2023-10-191-0/+3
|
* tor-keymgr: Rework the ArtiPath error types.Gabriela Moldovan2023-10-191-8/+17
|
* tor-keymgr: Add TODO about using derive-adhoc.Gabriela Moldovan2023-10-191-0/+2
|
* tor-keymgr: Add KeyPathPattern constructor that does not match any valid paths.Gabriela Moldovan2023-10-191-0/+7
|
* tor-keymgr: Add matching functionality and types for representing patterns.Gabriela Moldovan2023-10-191-0/+74
|
* tor-keymgr: Implement KeySpecifier for ArtiPath, CTorPath, KeyPath.Gabriela Moldovan2023-10-191-0/+36
| | | | | | | Many keymgr APIs require a `&dyn KeySpecifier`, which essentially represents an `ArtiPath` and an optional `CTorPath`. Implementing `KeySpecifier` for `ArtiPath`/`CTorPath`/`KeyPath` will enable keymgr users to pass a `ArtiPath`/`CTorPath`/`KeyPath` to these APIs.
* tor-keymgr: Use ArtiPathError for invalid ArtiPaths (fmt).Gabriela Moldovan2023-10-191-2/+10
|
* tor-keymgr: Use ArtiPathError for invalid ArtiPaths.Gabriela Moldovan2023-10-191-52/+73
|