summaryrefslogtreecommitdiff
path: root/crates/tor-keymgr
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-keymgr: Lowercase the role when building the ArtiPath.Gabriela Moldovan2024-01-311-9/+2
| | | | | | | The role is a slug, and slugs are not allowed to contain uppercase characters. Closes #1195
* tor-persist: Make all Slugs non-empty.Gabriela Moldovan2024-01-312-5/+12
| | | | | | | | This also removes a TODO regarding adding a `Nickname` type for representing `HsClientSpecifier` and `HsNickname` (we don't need it if `Slug`s are non-empty). Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1931#note_2990227
* tor-keymgr: Add roundrip test for HsId -> Slug -> HsId conversion.Gabriela Moldovan2024-01-311-1/+22
| | | | This also fixes a bug in `HsId::from_component`.
* tor-keymgr: Allow empty denotators in ArtiPath (fmt).Gabriela Moldovan2024-01-311-8/+2
|
* tor-keymgr: Allow empty denotators in ArtiPath.Gabriela Moldovan2024-01-312-11/+7
|
* tor-persist: Forbid slugs from starting with a hyphen.Gabriela Moldovan2024-01-311-3/+22
|
* tor-keymgr: Add a TODO about removing ValidatedString.Gabriela Moldovan2024-01-311-0/+2
|
* tor-keymgr: Remove the Slug tests (fmt).Gabriela Moldovan2024-01-311-4/+1
|
* tor-keymgr: Remove the Slug tests.Gabriela Moldovan2024-01-311-34/+0
| | | | These tests belong in tor_persist now.
* tor-keymgr: Abolish ArtiPathComponent.Gabriela Moldovan2024-01-315-100/+52
| | | | | | `ArtiPathComponent`s are really just `Slugs`. Part of #1193, #1092
* tor-keymgr: Make ArtiPathComponent a Slug internally (fmt).Gabriela Moldovan2024-01-312-23/+55
|
* tor-keymgr: Make ArtiPathComponent a Slug internally.Gabriela Moldovan2024-01-313-104/+70
| | | | | | | | | | | | | This will make it easier to replace `ArtiPathComponent` with `Slug` later down the line. Note this changes the syntax rules of `ArtiPathComponent`: * previously `ArtiPathComponent`s could be unicode strings, (now they are lowercase ASCII alphanumerics, plus `-`, `_`) * previously `ArtiPathComponent`s couldn't start with `-` or `_`, but now they can Part of #1193, #1092
* tor-keymgr: Strip .onion suffix from HsId before building Slug.Gabriela Moldovan2024-01-311-3/+28
| | | | | | We are about to replace `ArtiPathComponent` with `Slug`, but `Slug`s don't support `.`, so let's strip the `.onion` suffix before encoding it in the `ArtiPath`.
* tor-keymgr: Use keystore_error_kind() to get the error kind.Gabriela Moldovan2024-01-152-1/+3
| | | | Closes #1215
* Merge branch 'expand-keystore-dir' into 'main'gabi-2502024-01-112-10/+33
|\ | | | | | | | | tor-keymgr: Abolish ArtiNativeKeystoreConfig::expand_keystore_dir. See merge request tpo/core/arti!1867
| * tor-keymgr: Abolish ArtiNativeKeystoreConfig::expand_keystore_dir.Gabriela Moldovan2024-01-102-10/+33
| | | | | | | | | | | | This resolves a `TODO HSS` in arti-client. Part of #1187
* | tor-keymgr: Turn some TODOs into #1195.Gabriela Moldovan2024-01-102-2/+2
| |
* | tor-keymgr: Turn some TODO HSS into #1194.Gabriela Moldovan2024-01-101-2/+2
| |
* | tor-keymgr: Turn some TODOs into #1115.Gabriela Moldovan2024-01-106-12/+13
| |
* | tor-keymgr: Turn some TODOs into #1119.Gabriela Moldovan2024-01-101-2/+2
| |
* | tor-keymgr: Turn a TODO HSS into #1118.Gabriela Moldovan2024-01-101-1/+1
| |
* | tor-keymgr: Turn a TODO HSS into #1095.Gabriela Moldovan2024-01-101-1/+1
| |
* | tor-keymgr: Turn some TODO HSS into #858Gabriela Moldovan2024-01-102-4/+4
| |
* | tor-keymgr: Downgrade some TODO HSS.Gabriela Moldovan2024-01-103-7/+7
| |
* | tor-keymgr: Turn a TODO HSS into #1193.Gabriela Moldovan2024-01-101-1/+1
| |
* | Merge branch 'keymgr-features' into 'main'Nick Mathewson2024-01-101-1/+1
|\ \ | | | | | | | | | | | | | | | | | | tor-keymgr: Do not enable tor-error/tor-config's experimental feature. Closes #1180 See merge request tpo/core/arti!1865
| * | tor-keymgr: Do not enable tor-error/tor-config's experimental feature.Gabriela Moldovan2024-01-101-1/+1
| |/ | | | | | | | | | | We don't use any experimental features from tor-error or tor-config. Closes #1180
* | tor-keymgr: Implement KeySpecifierComponentViaDisplayFromStr for HsId.Gabriela Moldovan2024-01-101-0/+3
| | | | | | | | We are about to need this implementation.
* | tor-keymgr: Fully qualify KeySpecifierPattern in KeySpecifier macro.Gabriela Moldovan2024-01-101-1/+2
|/ | | | | | If you derive `KeySpecifier` and forget to import `KeySpecifierPattern` you get a confusing error. It's better to let the macro import (or fully qualify) the necessary types from tor-keymgr.
* Patchlevel version bumps in preparation for 1.1.12.Nick Mathewson2024-01-091-2/+2
| | | | | | | | | | | | | This crate doesn't have a meaningful public API, so it just gets a patchlevel bump: arti These crates had nonbreaking changes, and get a patchlevel bump: tor-rtcompat fs-mistrust tor-llcrypto tor-cert
* Breaking version bumps in preparation for 1.1.12.Nick Mathewson2024-01-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates have breaking changes on their own: tor-error tor-netdoc tor-dirmgr tor-keymgr Because of the breaking change in tor-error, and the fact that basically every crate publicly depends on tor-error (by implementing ErrorKind), we need to call this a breaking change on all of the following: tor-config tor-geoip tor-rtmock tor-log-ratelim tor-rpcbase tor-bytes tor-hscrypto tor-socksproto tor-cell tor-proto tor-netdoc tor-netdir tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-config arti-hyper arti-testing
* Merge branch 'fixup-features-20240108' into 'main'Nick Mathewson2024-01-091-2/+3
|\ | | | | | | | | Run fixup-features in preparation for release, and clean its output. See merge request tpo/core/arti!1856
| * Mark tor-keymgr/testing feature as experimental.Nick Mathewson2024-01-081-3/+2
| |
| * Run "fixup-features" in preparation for release.Nick Mathewson2024-01-081-0/+2
| |
* | Fix typosDimitris Apostolou2024-01-082-3/+3
|/
* Merge branch 'keyspec' into 'main'Ian Jackson2024-01-085-348/+752
|\ | | | | | | | | | | | | KeySpecifier improvements Closes #1126, #1147, and #1151 See merge request tpo/core/arti!1851
| * tor-keymgr: KeySpecifierPattern: fix grammarIan Jackson2024-01-081-1/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1851#note_2981473
| * tor-keymgr: KeySpecifierPattern: fix docsIan Jackson2024-01-081-3/+3
| | | | | | | | | | | | | | Swap the docs for new_any and arti_pattern to the right methods! As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1851#note_2981475
| * tor-keymgr: Fix typosgabi-2502024-01-082-4/+4
| |
| * KeyPathInfo: Add role fieldIan Jackson2024-01-042-2/+27
| | | | | | | | This *is* the spec name.
| * KeySpecifier d-a macro: Populate extra_infoIan Jackson2024-01-042-2/+20
| | | | | | | | Finishes arti#1151 item 10.
| * KeySpecifier d-a macro: Use dyn for describingIan Jackson2024-01-042-24/+75
| | | | | | | | This also passes the information we'll need to populate extra_info.
| * KeySpecifier d-a macro: Add a test for describingIan Jackson2024-01-041-0/+16
| |
| * KeySpecifier d-a macro: Mnaully wrap two long linesIan Jackson2024-01-041-2/+6
| |
| * KeySpecifier d-a macro: Use doc-hidden re-exportsIan Jackson2024-01-042-9/+7
| |
| * KeySpecifier d-a macro: Name result by whole pathIan Jackson2024-01-041-2/+2
| | | | | | | | This will make the macro work if call sites rebind Result.
| * KeySpecifier d-a macro: Use derive-adhoc's pasting featureIan Jackson2024-01-041-6/+4
| | | | | | | | | | The KeyInfoExtractor impl is still misindented but we'll change that when we replace it.
| * KeySpecifier d-a macro: Use dyn for parsingIan Jackson2024-01-041-91/+181
| | | | | | | | | | | | | | | | | | | | | | Now the only place that knows how to do all this is the one place in the macro. The indentation is -4 compared to previously, because we're going to remove the wrapping with paste::paste! later. It's convenient to do this reindent now, while we're rewriting it. arti#1151 item 5.
| * KeyPathError::PatternNotMatched: Remove pattern from errorIan Jackson2024-01-042-3/+3
| | | | | | | | | | | | | | | | | | This can only happen if we tried to parse an ArtiPath as the wrong kind of KeySpecifier, which shouldn't happen very often. If it does, the pattern isn't that interesting. Which is just as well, since we're about to make it a bit harder to obtain it in the place where this error is going to be constructed.
| * KeySpecifier d-a macro: Do not produce fn new()Ian Jackson2024-01-041-15/+1
| | | | | | | | | | | | Where we wanted this, use derive_more::Constructor isntead. arti#1151 item 6.