<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti/src/subcommands/keys.rs, branch arti-v2.4.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-05-26T16:57:05Z</updated>
<entry>
<title>client: Factor out the "running a client" code into an inner typestate</title>
<updated>2026-05-26T16:57:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-20T15:47:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eba1ad0e0ed1dfc4b793ac5646d147aeabe8bc6d'/>
<id>urn:sha1:eba1ad0e0ed1dfc4b793ac5646d147aeabe8bc6d</id>
<content type='text'>
We'll use this to distinguish "not running" from "running",
in order to make it easier to be sure that non-bootstrapping clients
will definitely not try to connect to the network.
</content>
</entry>
<entry>
<title>keymgr: Remove RawKeystoreEntry</title>
<updated>2026-05-18T15:07:50Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-05-18T13:24:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2cfba1e031f5721cda583d95c03223e517c11612'/>
<id>urn:sha1:2cfba1e031f5721cda583d95c03223e517c11612</id>
<content type='text'>
I think this adds unnecessary indirection, and it's a bit confusing to
have two separate keystore entry types (we have `KeystoreEntry` too).

This type exists just to server as a wrapper over the `RawEntryId` of an
unrecognized keystore entry, and the `KeystoreId` of the keystore it was
found in.

This commit folds `RawKeystoreEntry` into `UnrecognizedEntry`, which was
previously a thin wrapper over `RawKeystoreEntry`.
</content>
</entry>
<entry>
<title>Make all TorClient constructors wrap the TorClient in an Arc.</title>
<updated>2026-05-13T20:44:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-13T13:33:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3cb880f30a37d8757534b9832fccbf00482508a8'/>
<id>urn:sha1:3cb880f30a37d8757534b9832fccbf00482508a8</id>
<content type='text'>
This is part of rationalizing the structure of TorClient so we can
refactor startup logic, and so that RPC code can reason about object
identity.  See #2469.
</content>
</entry>
<entry>
<title>keymgr: Move Unrecognized errors out of KeyPathError</title>
<updated>2026-01-06T15:25:19Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-05T11:07:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0f2b9e7914580e2b0c58936c22f80996781df014'/>
<id>urn:sha1:0f2b9e7914580e2b0c58936c22f80996781df014</id>
<content type='text'>
Out of all the variants in `KeyPathError`, `Unrecognized` is the odd one
out, because unlike the others, which are mainly just lower level
parsing errors, `Unrecognized` is a higher level error constructed in
`KeyMgr::describe()`.

`KeyMgr::describe()` now returns an `Option`, because

  * the failure to describe a user provided `KeyPath` may or may not be
    an error
  * previously, `describe()` would only ever return `Ok` or
    `Err(KeyPathError::Unrecognized)`, which essentially a binary
    result. Also, `describe()` would never return any of the other
    `KeyPathError` kinds, which further suggests `Unrecognized`
    doesn't belong there

The `Unrecognized` variant still exists, but is now part of
`KeystoreCorruptionError`, (returned from
`KeyMgr::validate_entry_integrity()`).
</content>
</entry>
<entry>
<title>arti: Remove no-longer needed helper function</title>
<updated>2026-01-06T15:25:19Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-04T16:51:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c273bda604b2157cba3588f2a8dd2bcdbbc83773'/>
<id>urn:sha1:c273bda604b2157cba3588f2a8dd2bcdbbc83773</id>
<content type='text'>
This folds `display_arti_entry()` into `display_entry()`.
</content>
</entry>
<entry>
<title>arti: Remove special handling for C Tor keys (fmt)</title>
<updated>2026-01-06T15:25:19Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-12-15T17:48:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=29a3d1b8e50119493b5d219c40ca6a9972c48f9e'/>
<id>urn:sha1:29a3d1b8e50119493b5d219c40ca6a9972c48f9e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: Remove special handling for C Tor keys</title>
<updated>2026-01-06T15:25:19Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-12-15T17:48:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1e34e17849be8b25c1434c1397dc9192dd0fead1'/>
<id>urn:sha1:1e34e17849be8b25c1434c1397dc9192dd0fead1</id>
<content type='text'>
This is no longer needed now that `KeyMgr::describe()` works on
`CTorPath`s.

Removing this special handling has the added bonus that the keymgr CLI
output is now uniform for all keystores (before this change, `keys list`
used a slightly different output format for displaying C Tor entries).
The corresponding tests will be updated in a future commit.
</content>
</entry>
<entry>
<title>Merge branch 'torclient-keymgr-accessor' into 'main'</title>
<updated>2025-12-03T19:26:54Z</updated>
<author>
<name>wesleyac</name>
<email>wesleyac@torproject.org</email>
</author>
<published>2025-12-03T19:26:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f75058f04bfec47df65a2bdbec7254c46ba57517'/>
<id>urn:sha1:f75058f04bfec47df65a2bdbec7254c46ba57517</id>
<content type='text'>
Add `KeyMgr` accessor to `TorClient`

See merge request tpo/core/arti!3442</content>
</entry>
<entry>
<title>arti: Add missing subcommand docs</title>
<updated>2025-12-01T12:36:13Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-12-01T11:11:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9003ad28c1f3a82b33d8269e33700082fbbce2a8'/>
<id>urn:sha1:9003ad28c1f3a82b33d8269e33700082fbbce2a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: keys: use `TorClient::keymgr` instead of `InertTorClient::keymgr` in `run_check_integrity`</title>
<updated>2025-11-05T09:33:51Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-11-05T09:20:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a00d1edaf0d15bed098ac99d0f82a58572a0028c'/>
<id>urn:sha1:a00d1edaf0d15bed098ac99d0f82a58572a0028c</id>
<content type='text'>
This change simplifies the signature of `run_check_integrity`.
</content>
</entry>
</feed>
