<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-keymgr/src/keystore.rs, branch arti-v1.1.6</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.6</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.6'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-06-29T21:46:15Z</updated>
<entry>
<title>keymgr: Rename KeyStore to Keystore globally.</title>
<updated>2023-06-29T21:46:15Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-06-29T21:46:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=36606a66ddca9abd1595d13c9397bc812bf24cb5'/>
<id>urn:sha1:36606a66ddca9abd1595d13c9397bc812bf24cb5</id>
<content type='text'>
We've been capitalizing the "s" in "KeyStore" inconsistently. This
`s/KeyStore/Keystore/g` across the codebase.
</content>
</entry>
<entry>
<title>keymgr: Downgrade "TODO hs" to "TODO HSS".</title>
<updated>2023-06-28T15:44:06Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-06-28T15:40:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=609e6ce7c76365ff3142302a771840007dbe70b2'/>
<id>urn:sha1:609e6ce7c76365ff3142302a771840007dbe70b2</id>
<content type='text'>
These TODOs can be deferred for now: we're not declaring the keymgr APIs
stable until we add support for hidden services.
</content>
</entry>
<entry>
<title>keymgr: Downgrade 2 "TODO hs" to "TODO HSS".</title>
<updated>2023-06-22T10:28:24Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-06-22T10:28:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e5aafa129b556af7102d3ec0b040a0281b7526e9'/>
<id>urn:sha1:e5aafa129b556af7102d3ec0b040a0281b7526e9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>keymgr: Remove Error::NotFound, update KeyMgr, KeyStore APIs.</title>
<updated>2023-06-21T15:00:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-06-21T13:54:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f633e41380c884872fddee38f514b7b49cd525a1'/>
<id>urn:sha1:f633e41380c884872fddee38f514b7b49cd525a1</id>
<content type='text'>
This removes the `NotFound` `tor_keymgr::Error` variant. Since `KeyMgr`
and `KeyStore` users will need to be able to distinguish between "not
found" errors and other I/O errors, this also changes the return types
of the `get()` and `remove()` functions of `KeyStore` and `KeyMgr`,
which now return `Ok(None)` instead of `Error::NotFound`.

This makes the `KeyStore` API consistent with `KeyMgr::get`, which
already has a return type of `Result&lt;Option&lt;K&gt;&gt;` (rather than
`Result&lt;K&gt;`).

This also prepares us for #901, which will make key store errors
opaque. Without this change:
  * we'd have to create a `struct NotFoundError;` error type. Its
    `HasKind` impl would need to return a new
    `ErrorKind::KeyStoreErrorNotFound` `ErrorKind` variant
  * callers would have to match the `error_kind()` of the error to
    figure out whether  the key simply can't be found
    (`ErrorKind::KeyStoreErrorNotFound`), or if something went wrong
    (any other `ErrorKind`).

Given the above, I think `Result&lt;Option&lt;()&gt;&gt;` makes for a more ergonomic
API.

Part of #901
</content>
</entry>
<entry>
<title>keymgr: Add TODO regarding KeyStore rename.</title>
<updated>2023-06-15T17:16:34Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-06-14T17:41:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=60e2b51f3d1d8c3ab9c21df7ecd308e4065ef1f4'/>
<id>urn:sha1:60e2b51f3d1d8c3ab9c21df7ecd308e4065ef1f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>keymgr: Introduce ToEncodableKey to simplify lookups.</title>
<updated>2023-06-15T17:15:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-06-01T09:53:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=64c24dca66518be933bb54ef4bd8d18776838c2c'/>
<id>urn:sha1:64c24dca66518be933bb54ef4bd8d18776838c2c</id>
<content type='text'>
This means `KeyMgr` users don't need to specify the underlying key type
(e.g. `ed25519::Keypair`) when retrieving keys. Instead, they can just
specify the type required (as long as it implements `ToEncodableKey`),
e.g. `HsClientIntroAuthKeypair`.
</content>
</entry>
<entry>
<title>keymgr: Add ArtiNativeKeyStore implementation skeleton.</title>
<updated>2023-06-15T17:15:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-05-30T15:08:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a2d0ee63ccf44eefdd71bdbc6a95bbb5a4ec2f38'/>
<id>urn:sha1:a2d0ee63ccf44eefdd71bdbc6a95bbb5a4ec2f38</id>
<content type='text'>
This adds implementation stubs for `ArtiNativeKeyStore`, and introduces
the traits needed to make the `KeyStore` APIs work.
</content>
</entry>
</feed>
