<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-keymgr/src/key_specifier.rs, branch arti-v1.4.5</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.5</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.5'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-05-30T13:50:30Z</updated>
<entry>
<title>tor-keymgr: BREAKING: Refactor API: Keystore::list</title>
<updated>2025-05-30T13:50:30Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-05-20T08:28:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5608979813c4465d5299ffb3bcaaa5892807742'/>
<id>urn:sha1:a5608979813c4465d5299ffb3bcaaa5892807742</id>
<content type='text'>
* Change return type `Result&lt;Vec&lt;(KeyPath, KeystoreItemType)&gt;&gt;` if favor
of `Result&lt;Vec&lt;StdResult&lt;(KeyPath, KeystoreItemType), UnrecognizedEntryError&gt;&gt;&gt;`
</content>
</entry>
<entry>
<title>Merge branch '1889-resolve-some-todos' into 'main'</title>
<updated>2025-03-14T11:32:05Z</updated>
<author>
<name>gabi-250</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-03-14T11:32:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7ab7a26de6fe49a382e4fc13e8a12bc0ce1e52e1'/>
<id>urn:sha1:7ab7a26de6fe49a382e4fc13e8a12bc0ce1e52e1</id>
<content type='text'>
tor-keymgr: Resolve TODOs from key_specifier::tests

Closes #1889

See merge request tpo/core/arti!2849</content>
</entry>
<entry>
<title>tor-keymgr: Resolve TODOs from key_specifier::tests</title>
<updated>2025-03-14T11:32:05Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-03-14T11:32:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ad1fe3f7890e31eb4ab99e3e0dc3cc58ef43dda1'/>
<id>urn:sha1:ad1fe3f7890e31eb4ab99e3e0dc3cc58ef43dda1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hscrypto: Implement Display for TimePeriod</title>
<updated>2025-03-13T18:22:40Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-03-13T18:22:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fd21de5b82646524543dd2d5eae34b68fceeb91e'/>
<id>urn:sha1:fd21de5b82646524543dd2d5eae34b68fceeb91e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Upgrade to derive_more 2</title>
<updated>2025-02-26T18:06:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-02-26T17:50:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d4dfbd6e1af1935af8cc4b83831891165da6af51'/>
<id>urn:sha1:d4dfbd6e1af1935af8cc4b83831891165da6af51</id>
<content type='text'>
This took a little refactoring, since derive_more::Foo
no longer re-exports std::ops::Foo.
</content>
</entry>
<entry>
<title>tor-keymgr: Add helper for building certificate ArtiPaths.</title>
<updated>2024-12-04T16:42:06Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-11-22T14:21:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6b75f5f41d27fb49c79e0db419bb7d72cfb658e1'/>
<id>urn:sha1:6b75f5f41d27fb49c79e0db419bb7d72cfb658e1</id>
<content type='text'>
This will be used for looking up certificates in the keystore.
</content>
</entry>
<entry>
<title>tor-keymgr: Add a KeyCertificateSpecifier trait.</title>
<updated>2024-12-04T16:38:44Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-11-20T14:59:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ddbece9b372d06f6d8d666203951c98448173b34'/>
<id>urn:sha1:ddbece9b372d06f6d8d666203951c98448173b34</id>
<content type='text'>
This will be used for defining key certificate specifiers.
</content>
</entry>
<entry>
<title>tor-keymgr: Rename KeyPathRange to ArtiPathRange.</title>
<updated>2024-10-08T13:23:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-25T18:23:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=05066b0ebfc769cb54018d9633646ace70456ee3'/>
<id>urn:sha1:05066b0ebfc769cb54018d9633646ace70456ee3</id>
<content type='text'>
This is only used for representing portions of `ArtiPath`s, so let's
rename it accordingly.
</content>
</entry>
<entry>
<title>tor-keymgr: Implement KeyPath::matches for CTorPaths.</title>
<updated>2024-10-08T13:23:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-25T18:20:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b2170d7d8a680255e389a3600444b50bd9d3a363'/>
<id>urn:sha1:b2170d7d8a680255e389a3600444b50bd9d3a363</id>
<content type='text'>
`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).
</content>
</entry>
<entry>
<title>tor-keymgr: Reimagine CTorPath as an enum.</title>
<updated>2024-10-08T13:23:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-20T15:39:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=971304d31bdb38fd9e6133941d2e021d4bb7dd6d'/>
<id>urn:sha1:971304d31bdb38fd9e6133941d2e021d4bb7dd6d</id>
<content type='text'>
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.
</content>
</entry>
</feed>
