summaryrefslogtreecommitdiff
path: root/crates/tor-keymgr
Commit message (Collapse)AuthorAgeFilesLines
* Bump all the unstable tor- and arti- crates to 0.25.0.Gabriela Moldovan2024-12-021-11/+11
| | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.25.0 done ```
* Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2024-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-{arti-,tor-} crates are: ``` ./maint/list_crates | rg -v '^(tor|arti)' oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error ``` We split them in the following categories: * crates with no changes (no version bumps): ``` maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-' oneshot-fused-workaround: No change. test-temp-dir: No change. caret: No change. ``` * crates that only have non-functional changes (bump the patch version): - slotmap-careful - fslock-guard - hashx - equix - fs-mistrust - safelog - retry-error * crates where APIs were broken (bump minor): None The bumps from this commit were created using this script: ``` PATCH=" slotmap-careful fslock-guard hashx equix fs-mistrust safelog retry-error " for crate in $PATCH; do cargo set-version --bump patch -p $crate; done ```
* Run fixup-features in preparation for release (fmt).Gabriela Moldovan2024-12-021-1/+3
|
* Run fixup-features in preparation for release.Gabriela Moldovan2024-12-021-1/+1
|
* tor-keymgr: Remove now-unnecessary cfg_attr.Gabriela Moldovan2024-11-201-6/+0
| | | | This doesn't seem to be needed anymore.
* tor-keymgr: Remove now-unnecessary clippy allows from dummy impl.Gabriela Moldovan2024-11-201-2/+0
|
* tor-keymgr: Feature-gate RelKeyPath::from_parts constructor.Gabriela Moldovan2024-11-201-0/+1
| | | | | Otherwise, we get a dead code warning when the `ctor-keystore` feature is disabled.
* tor-keymgr: Allow dead code in dummy KeyMgr.Gabriela Moldovan2024-11-201-0/+2
| | | | | | | | | The fields are never read but need to be present in order for the dummy `KeyMgrBuilder` to have the same interface as the real one. (We could of course manually implement the builder, or let the dummy `KeyMgrBuilder` impl diverge from the real one, but for now let's leave this as-is and simply mark the fields as unused).
* tor-keymgr: Remove unused dummy error type.Gabriela Moldovan2024-11-201-16/+1
| | | | | We no longer have any dummy keymgr operations that return an error, so this error type is unused.
* tor-keymgr: Remove unused imports from dummy module.Gabriela Moldovan2024-11-201-2/+1
|
* tor-keymgr: Remove unused dummy KeyType.Gabriela Moldovan2024-11-201-14/+0
| | | | This is not used anywhere (or exported publicly).
* tor-keymgr: Say that another option is to enable keymgr unconditionally.Gabriela Moldovan2024-11-141-0/+2
| | | | | This commit applies Diziet's suggestion from https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2631#note_3130234
* tor-keymgr: Remove a couple of dummy KeyMgr functions.Gabriela Moldovan2024-11-142-14/+1
| | | | | | | These are not actually needed anywhere. In fact, it's a bad idea to have them in the first place (see the comment from the dummy `KeyMgr` impl block).
* tor-keymgr: Explain why the dummy keymgr is missing some functions.Gabriela Moldovan2024-11-141-1/+28
| | | | | | | | This is based on a recent discussion with @Diziet on IRC. For the full context, see the chat log attached to the ticket. Closes #1732
* cargo: Update `thiserror` to `2`Clara Engler2024-11-121-1/+1
|
* tor-config: removed re-export of `CfgPath`Steven Engler2024-11-042-1/+3
| | | | | Also updated other packages to get `CfgPath` directly from `tor-config-path' instead of 'tor-config'.
* Remove obsolete semver files post 1.3.0 releaseIan Jackson2024-10-311-8/+0
|
* Bump unstable tor-* and arti-* crates to 0.24.0Ian Jackson2024-10-301-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cargo set-version -p tor-async-utils 0.24.0 cargo set-version -p tor-basic-utils 0.24.0 cargo set-version -p tor-bytes 0.24.0 cargo set-version -p tor-cell 0.24.0 cargo set-version -p tor-cert 0.24.0 cargo set-version -p tor-chanmgr 0.24.0 cargo set-version -p tor-checkable 0.24.0 cargo set-version -p tor-circmgr 0.24.0 cargo set-version -p tor-config 0.24.0 cargo set-version -p tor-config-path 0.24.0 cargo set-version -p tor-consdiff 0.24.0 cargo set-version -p tor-dirclient 0.24.0 cargo set-version -p tor-dirmgr 0.24.0 cargo set-version -p tor-error 0.24.0 cargo set-version -p tor-general-addr 0.24.0 cargo set-version -p tor-geoip 0.24.0 cargo set-version -p tor-guardmgr 0.24.0 cargo set-version -p tor-hsclient 0.24.0 cargo set-version -p tor-hscrypto 0.24.0 cargo set-version -p tor-hsrproxy 0.24.0 cargo set-version -p tor-hsservice 0.24.0 cargo set-version -p tor-key-forge 0.24.0 cargo set-version -p tor-keymgr 0.24.0 cargo set-version -p tor-linkspec 0.24.0 cargo set-version -p tor-llcrypto 0.24.0 cargo set-version -p tor-log-ratelim 0.24.0 cargo set-version -p tor-memquota 0.24.0 cargo set-version -p tor-netdir 0.24.0 cargo set-version -p tor-netdoc 0.24.0 cargo set-version -p tor-persist 0.24.0 cargo set-version -p tor-proto 0.24.0 cargo set-version -p tor-protover 0.24.0 cargo set-version -p tor-ptmgr 0.24.0 cargo set-version -p tor-relay-crypto 0.24.0 cargo set-version -p tor-relay-selection 0.24.0 cargo set-version -p tor-rpcbase 0.24.0 cargo set-version -p tor-rtcompat 0.24.0 cargo set-version -p tor-rtmock 0.24.0 cargo set-version -p tor-socksproto 0.24.0 cargo set-version -p tor-units 0.24.0 cargo set-version -p arti-client 0.24.0 cargo set-version -p arti-relay 0.24.0 cargo set-version -p arti-rpc-client-core 0.24.0 cargo set-version -p arti-rpcserver 0.24.0
* Disable a lot of dead code warnings (fmt)Ian Jackson2024-10-171-1/+4
|
* Disable a lot of dead code warningsIan Jackson2024-10-171-0/+3
| | | | | | | Now cargo check --workspace --no-default-features --all-targets cargo build -p arti --no-default-features --features=memquota,tokio,native-tls are both clean.
* tor-keymgr: Reformat a long line for readability.Gabriela Moldovan2024-10-151-1/+3
| | | | This breaks up a long statement to improve readability.
* tor-keymgr: Add missing docs for keypair_specifier.Gabriela Moldovan2024-10-151-0/+12
| | | | | This is a follow-up to !2393, which added support for the `key_specifier` top-level attribute.
* tor-config: Fix indentation in doc comment.Gabriela Moldovan2024-10-091-1/+1
| | | | | | It looks like my previous attempt from !2516 didn't fix it. This adds an extra space to fix the `doc_lazy_continuation` lint.
* tor-keymgr: Fix indentation in doc comment.Gabriela Moldovan2024-10-091-1/+1
| | | | | Addresses the `doc_lazy_continuation` lint, fixing the `rust-latest` job that's currently failing on main.
* tor-keymgr: Move C Tor keystore configs under ctor key (fmt).Gabriela Moldovan2024-10-081-5/+10
|
* tor-keymgr: Move C Tor keystore configs under ctor key.Gabriela Moldovan2024-10-081-35/+46
| | | | | | | This way we have a more intuitive layout, where all C Tor keystore configuration is under the `ctor` key. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2481#note_3090486
* tor-keymgr: Add tests for CTorServiceKeystore.Gabriela Moldovan2024-10-084-1/+149
|
* tor-keymgr: Add tests for CTorClientKeystore.Gabriela Moldovan2024-10-087-2/+183
|
* tor-keymgr: Move assert_found helper to test_utils.Gabriela Moldovan2024-10-082-14/+24
| | | | | This moves `assert_found` out of the `keystore::arti::test` so we can reuse it for testing other keystore implementations too.
* tor-keymgr: Add tests for the keystore config.Gabriela Moldovan2024-10-082-0/+165
|
* tor-keymgr: Validate keystore ID uniqueness in ArtiKeystoreConfigBuilder.Gabriela Moldovan2024-10-081-1/+23
|
* arti-client, tor-keymgr: Remove a couple of now-addressed TODOs.Gabriela Moldovan2024-10-081-5/+0
|
* arti-client: Use the configured C Tor client keystores.Gabriela Moldovan2024-10-082-2/+2
|
* tor-keymgr: Add configuration for C Tor client keystores.Gabriela Moldovan2024-10-081-0/+82
| | | | | This is intentionally partially mis-indented to make this more reviewable (in case the reviewer isn't using `ignore-all-space`).
* arti-client: Use the configured C Tor keystores, if any.Gabriela Moldovan2024-10-081-0/+4
|
* tor-keymgr: Derive Getters for CTorKeystoreConfig.Gabriela Moldovan2024-10-081-1/+1
|
* tor-keymgr: Derive Getters for the ArtiKeystoreConfig.Gabriela Moldovan2024-10-081-1/+2
|
* tor-keymgr: Add a keystore for C Tor client keys.Gabriela Moldovan2024-10-084-1/+332
|
* tor-keymgr: Add a keystore for C Tor service keys.Gabriela Moldovan2024-10-085-0/+479
|
* tor-keymgr: Rename Filesystem variant to Io for clarity (fmt).Gabriela Moldovan2024-10-082-44/+57
|
* tor-keymgr: Rename Filesystem variant to Io for clarity.Gabriela Moldovan2024-10-082-3/+3
| | | | | The `FilesystemError::Filesystem` variant was actually just for IO errors.
* tor-keymgr: Refactor common fs errors into a separate error enum.Gabriela Moldovan2024-10-083-76/+96
| | | | | | | | This will be reused by other on-disk key stores (such as the C Tor ones we're about to add). I recommend reviewing this commit using `git diff --color-moved=zebra --ignore-space-change`
* tor-keymgr: Add RelKeyPath::from_parts constructor.Gabriela Moldovan2024-10-081-0/+5
| | | | This will be used to create relative paths representing C Tor keys.
* tor-keymgr: Rename RelKeyPath::new to RelKeyPath::arti.Gabriela Moldovan2024-10-082-3/+3
| | | | We're about to add a separate constructor for CTor paths.
* tor-keymgr: Move the checked_op utils out of the arti module.Gabriela Moldovan2024-10-083-10/+16
| | | | We are about to use this for the ctor keystore implementation too.
* tor-keymgr: Rename KeyPathRange to ArtiPathRange (fmt).Gabriela Moldovan2024-10-082-5/+5
|
* tor-keymgr: Rename KeyPathRange to ArtiPathRange.Gabriela Moldovan2024-10-084-8/+9
| | | | | This is only used for representing portions of `ArtiPath`s, so let's rename it accordingly.
* tor-keymgr: Implement KeyPath::matches for CTorPaths.Gabriela Moldovan2024-10-083-14/+38
| | | | | | | `KeyPath::matches` now returns a boolean (because we can't return a matching "range" for `CTorPaths`, because unlike ArtiPaths, they're not represented as `String`s, and do not have variable parts that need to be captured).
* tor-keymgr: Reimagine CTorPath as an enum.Gabriela Moldovan2024-10-084-14/+82
| | | | | | | | | | | | | | | | | | | | | | C Tor's client restricted discovery keys don't have the service hsid encoded in the filename (the hsid of the service each key is associated with is encoded in contents of the key file). This means that given a key specifier like `HsClientDescEncKeypairSpecifier` (which is a wrapper over an HsId), we can't actually compute the relative path of the key in its `KeySpecifier::ctor_path()` implementation. To do so we would need to access the keystore to figure out which path contains the requested HsId, which we can't (and shouldn't!) do from within the `KeySpecifier` impl. This suggests the String newtype (representing a relative path) we previously had is not a good abstraction for `CTorPath`s. Moreover, `CTorPath` are static (they don't have dynamic components like `ArtiPath`), so it makes more sense to model `CTorPath` as an enum. The new `CTorPath::ClientHsDescEncKey(HsId)` variant will be used to instruct the C Tor client keystore to find the file that contains the specified `HsId`, while the `Service` variant will be used for hidden service keys.
* tor-keymgr: Add configuration for C Tor service keystores.Gabriela Moldovan2024-10-082-4/+204
|