summaryrefslogtreecommitdiff
path: root/crates/tor-keymgr/semver.md
Commit message (Collapse)AuthorAgeFilesLines
* tor-keymgr: Note some breaking changes in semver.md.Gabriela Moldovan2024-12-041-0/+3
|
* Remove semver.md files post-release.Gabriela Moldovan2024-12-021-1/+0
|
* tor-keymgr: Remove a couple of dummy KeyMgr functions.Gabriela Moldovan2024-11-141-0/+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).
* Remove obsolete semver files post 1.3.0 releaseIan Jackson2024-10-311-8/+0
|
* tor-keymgr: Rename KeyPathRange to ArtiPathRange.Gabriela Moldovan2024-10-081-0/+1
| | | | | 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-081-0/+1
| | | | | | | `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-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | 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: Move config/arti.rs to config.rsGabriela Moldovan2024-10-081-0/+4
| | | | | | | | The config will soon contain secondary C Tor keystore configuration too, so the `arti` namespacing is about to stop making sense. I recommend reviewing this commit using `git diff --color-moved=zebra --ignore-space-change`
* Remove semver.md files from 1.2.8Nick Mathewson2024-09-301-3/+0
|
* tor-keymgr: Add back ArtiKeystoreConfig::is_enabled().Gabriela Moldovan2024-09-231-1/+0
| | | | | I am adding `is_enabled()` back because I plan to un-deprecate the `enabled` setting.
* tor-keymgr: Rename the primary keystore for clarity.Gabriela Moldovan2024-09-231-0/+2
| | | | | | | | | | Previously, arti's primary keystore was referred to as its "default" keystore. However, "default" is inaccurate here: there is no way to meaningfully override this "default" (the "default" store acts as the main keystore). Throughout the codebase, we query all keystores for keys (including the secondary ones), but only ever write to the default/primary keystore. This is OK for now, because it enables us to have one mutable keystore, and multiple secondary, read-only stores.
* tor-keymgr: added support for specifying keystore kind to ArtiKeystoreConfigMorgan2024-09-201-0/+1
|
* tor-keymgr: renamed ArtiNativeKeystoreConfig to ArtiKeystoreConfigMorgan2024-09-201-0/+1
|
* Remove semver.md files post-release.Nick Mathewson2024-08-011-1/+0
|
* Update to derive-deftly 0.12.1Ian Jackson2024-06-171-0/+1
| | | | | | * Bump in Cargo.toml * Deal with `${Xmeta as ...}` incompatible change, by always specifying an `as`, and changing `as tokens`.
* Remove semver.md files from arti 1.2.0 release.Gabriela Moldovan2024-03-041-16/+0
|
* tor-keymgr: Note removal of dummy KeyMgrBuilderError in semver.md.Gabriela Moldovan2024-02-281-0/+1
|
* arti, arti-client, tor-keymgr: Remove keystore dir configuration.Gabriela Moldovan2024-02-211-0/+1
| | | | Closes #1202
* tor-keymgr: Make InvalidKeyPathComponentValue public.Gabriela Moldovan2024-02-191-0/+1
| | | | | It appears within the public API (it is the error type returned from `KeySpecifierComponent`), so let's make it public.
* tor-keymgr: Include the ArtiPath in InvalidKeyPathComponentValue.Gabriela Moldovan2024-02-191-0/+1
| | | | | | The offending `ArtiPath` should be included in the error. Part of #1115
* tor-keymgr: Rename {to,from}_component to {to,from}_slug.Gabriela Moldovan2024-02-191-0/+1
| | | | | | | | | Originally, these functions converted to and from `ArtiPathComponent`. In !1931, we replaced `ArtiPathComponent` with `Slug` without renaming the conversion functions. Since we're converting to and from `Slug` now, I think it makes sense to rename them too. Part of #1115
* tor-keymgr: Replace KeyMgr::get_with_type with KeyMgr::get_entry.Gabriela Moldovan2024-02-191-0/+2
| | | | Part of #1271
* tor-keymgr: Rename KeyMgr::remove_with_type to KeyMgr::remove_entry.Gabriela Moldovan2024-02-191-1/+2
| | | | Part of #1271
* tor-keymgr: Make KeyMgr::remove_with_type take a KeystoreEntry.Gabriela Moldovan2024-02-191-0/+1
| | | | | | | NB: `KeyMgr::remove_with_type` will need to be renamed to `KeyMgr::remove_entry`. Part of #1271
* tor-keymgr: Make KeyMgr::list_matching return `KeystoreEntry`s.Gabriela Moldovan2024-02-191-0/+1
| | | | Part of #1271
* tor-keymgr: Add KeystoreEntry.Gabriela Moldovan2024-02-191-0/+1
| | | | | | | | | | This type will soon replace `(KeyPath, KeyType)` in `KeyMgr::list_matching`. The KeystoreEntry documentation mentions a couple of functions that don't exist right now (they will be added in a subsequent commit). Part of #1271
* tor-keymgr: Make KeyMgr::remove return the removed key.Gabriela Moldovan2024-02-051-0/+1
| | | | Part of #1115
* tor-keymgr: Make KeyMgr::insert return the old key.Gabriela Moldovan2024-02-051-0/+1
| | | | Part of #1115
* tor-keymgr: Rename KeyInfoExtractor to KeyPathInfoExtractor.Gabriela Moldovan2024-02-051-0/+2
| | | | | | This trait extracts a `KeyPathInfo`, not a `KeyInfo`. Part of #1115
* tor-keymgr: Derive getters for KeyPathInfo.Gabriela Moldovan2024-02-051-0/+1
| | | | Part of #1115
* Remove all semver.md files to start a fresh release roundIan Jackson2024-02-051-4/+0
|
* tor-keymgr: Add error variant for when a key shouldn't exist.Gabriela Moldovan2024-02-011-0/+1
| | | | | | | This will be returned by `KeyMgr::generate` if the key to be generated already exists and `overwrite` is `false`. Part of #1074
* tor-keymgr: Abolish ArtiPathComponent.Gabriela Moldovan2024-01-311-0/+1
| | | | | | `ArtiPathComponent`s are really just `Slugs`. Part of #1193, #1092
* tor-keymgr: Abolish ArtiNativeKeystoreConfig::expand_keystore_dir.Gabriela Moldovan2024-01-101-0/+2
| | | | | | This resolves a `TODO HSS` in arti-client. Part of #1187
* Remove semver.md files now that 1.1.9 is out.Nick Mathewson2023-10-021-6/+0
|
* tor-keymgr: Add (experimental) notices to semver.mdGabriela Moldovan2023-09-251-6/+6
|
* tor-hsclient, arti-client, tor-keymgr, tor-netdoc: Use a keypair instead of ↵Gabriela Moldovan2023-09-251-0/+6
| | | | | | | | | | | | | StaticSecret. Previously, when retrieving `KS_hsc_desc_enc` keys (or any other x25519 keys) from the keystore, the keymgr would discard the public part of the key (SSH private keys contain the public part of the key too). Instead of discarding the public key and returning just the `StaticSecret`, the keymgr now returns a `StaticKeypair`. This makes the x25519 `EncodableKey`/`ToEncodableKey` implementation consistent with the ed25519 one (which retrieves key pairs rather than "unescorted" secrets).
* Remove semver.md now that 1.1.8 is out.Nick Mathewson2023-09-051-9/+0
|
* tor-keymgr, tor-hsservice: deser for ArtiPathComponent and HsNicknameIan Jackson2023-08-231-0/+1
|
* tor-keymgr: Improve ArtiPathComponent a bitIan Jackson2023-08-231-0/+3
| | | | And add a TODO about the error type.
* tor-keymgr: Re-export ssh-key.Gabriela Moldovan2023-08-161-0/+2
| | | | | | | | | | The `KeypairData` type from [ssh-key] at some point leaked into the keymgr API (via the `EncodableKey` trait). Instead of re-exporting just `KeypairData`, let's re-export the entire `ssh_key` crate (`EncodableKey` implementors would need additional types from `ssh_key` to construct a `KeypairData` object anyway). [ssh-key]: https://crates.io/crates/ssh-key
* keymgr: Remove KeyType::to_ssh_format.Gabriela Moldovan2023-08-021-0/+1
| | | | | | | | This function isn't actually needed (it's not the responsibility of `KeyType` to encode keys). This commit also rewrites `ArtiNativeKeystore::insert` to use the new `as_ssh_keypair_data` function instead of `to_ssh_format`.
* keymgr: Replace EncodableKey::to_bytes() with SSH-specific function.Gabriela Moldovan2023-08-021-0/+2
| | | | | | | | | | | The `EncodableKey::to_bytes` function didn't make much sense, because not all keys have a canonical byte representation. This commit replaces `EncodableKey::to_bytes` with `EncodableKey::as_ssh_keypair_data`. In the future, `EncodableKey` will grow functions for encoding keys in other storage formats too. Closes #965
* Remove semver.md files now that 1.1.7 is out.Nick Mathewson2023-08-011-18/+0
|
* keymgr: Add KeyMgr::generate() for generating new keys.Gabriela Moldovan2023-07-241-0/+1
|
* keymgr: Add function for generating EncodableKeys.Gabriela Moldovan2023-07-241-0/+2
|
* keymgr: Add a Keystore::contains accessor.Gabriela Moldovan2023-07-241-1/+1
|
* Revert "keymgr: Require callers to be explicit about which keystore to get ↵Gabriela Moldovan2023-07-211-1/+1
| | | | | | | | | keys from." This reverts commit 38a6c74c7894dc96b16c9039cacc2a4023977b05. This also updates some tests to make them compile with the reverted version of the code.
* keymgr: Require callers to be explicit about where to remove keys from.Gabriela Moldovan2023-07-201-1/+1
| | | | | As with `KeyMgr::insert`, only `KeystoreSelector::Id` and `KeystoreSelector::Default` are supported.
* keymgr: Add EncodableKey::to_bytes for encoding keys.Gabriela Moldovan2023-07-201-0/+1
| | | | We'll need this to implement `Keystore::insert`.