<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti/src/subcommands.rs, branch main</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=main</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-07-31T11:05:12Z</updated>
<entry>
<title>arti: hss: Add `arti hss ctor-migrate`</title>
<updated>2025-07-31T11:05:12Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-07-31T11:05:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=79b7bd60d96f9fe29ac28d3e2827beeab157361e'/>
<id>urn:sha1:79b7bd60d96f9fe29ac28d3e2827beeab157361e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: keys: Add arti keys-raw</title>
<updated>2025-07-14T14:33:56Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-07-10T08:07:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6958b6c89be93c77a68ab8a080a2f313bff02df0'/>
<id>urn:sha1:6958b6c89be93c77a68ab8a080a2f313bff02df0</id>
<content type='text'>
* CLI: Add `keys-raw` and subcommand `remove-by-path`
* arti: Add `arti::subcommand::raw` for the CLI `keys-raw`
* tor-keymgr: Add `ArtiNativeKeystoreError::UnexpectedRawEntry`,
  `ArtiEphemeralKeystoreError::NotSupported`
* tor-keymgr: Add `tor-keymgr::raw` module
* tor-keymgr: Add `Keystore::remove_unchecked`
* tor-keymgr: Change `Keystore::list` to return `KeystoreEntry`
* tor-keymgr: Add field `KeystoreEntry::raw_id`
* doc: Update keys.md
* doc: Add raw.md
* tor-keymgr: BREAKING: `UnrecognizedEntryError::new` associated
  function is now only accessible within the crate `tor-keymgr`
* tor-keymgr: BREAKING: `UnrecognizedEntryId` is renamed to
  `UnrecognizedEntry`
* tor-keymgr: BREAKING: `KeyMgr::list()` and `Keystore::list()`
  now return `Result&lt;Vec&lt;KeystoreEntryResult&lt;KeystoreEntry&gt;&gt;&gt;`
</content>
</entry>
<entry>
<title>arti: Add keys list and keys list-keystores</title>
<updated>2025-06-12T11:16:29Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-06-12T11:16:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d9c4d7cc30d22a80ff4a97bc6588e02774f0062f'/>
<id>urn:sha1:d9c4d7cc30d22a80ff4a97bc6588e02774f0062f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: remove 'relay' subcommand and 'arti-relay' dep</title>
<updated>2024-10-15T19:35:42Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2024-10-15T19:35:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0246c71183595626925dbafbbe2f06e5a0577017'/>
<id>urn:sha1:0246c71183595626925dbafbbe2f06e5a0577017</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: move 'relay' subcommand to 'subcommands::relay' module</title>
<updated>2024-09-25T17:46:07Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2024-09-25T16:48:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d24325e21e674c793f2929bc81168f6f9d2af89b'/>
<id>urn:sha1:d24325e21e674c793f2929bc81168f6f9d2af89b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: Gate the arti hsc subcommand behind a new "hsc" feature.</title>
<updated>2024-09-19T14:29:34Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-19T13:43:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ab41a9d330ed1dbd506c8de8b5e331908ed78b97'/>
<id>urn:sha1:ab41a9d330ed1dbd506c8de8b5e331908ed78b97</id>
<content type='text'>
This new feature is experimental.
</content>
</entry>
<entry>
<title>arti: Add a new module for the proxy subcommand.</title>
<updated>2024-09-12T18:06:18Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-12T15:19:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d92d29fbd69c0bf19628d72c87a231ce73355b8a'/>
<id>urn:sha1:d92d29fbd69c0bf19628d72c87a231ce73355b8a</id>
<content type='text'>
The implementation for `arti proxy` will soon be relocated to this new
module.
</content>
</entry>
<entry>
<title>arti: Gate the hsc subcommand behind the keymgr feature (fmt).</title>
<updated>2024-07-10T14:25:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-07-10T14:25:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1a212998ca5b3e418640471721c5dd3ad78ad49c'/>
<id>urn:sha1:1a212998ca5b3e418640471721c5dd3ad78ad49c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: Gate the hsc subcommand behind the keymgr feature.</title>
<updated>2024-07-10T14:25:00Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-07-10T13:57:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4314bd456e34c4396302e22c83e095d3c048c176'/>
<id>urn:sha1:4314bd456e34c4396302e22c83e095d3c048c176</id>
<content type='text'>
The `arti hsc` subcommand can't run without keymgr support.

Previously, it relied on `tor-keymgr/keymgr` being enabled indirectly by
its dependencies, via the `experimental` feature. We need to be able to
enable this feature in `arti` without relying on `experimental` (because
`arti hsc` will eventually be made non-experimental).

Part of #1487
</content>
</entry>
<entry>
<title>arti: Add an arti hsc subcommand.</title>
<updated>2024-06-27T17:13:52Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-06-17T16:45:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8fc4c063d7076a6e9ffe36f2ee5bf39394fa3113'/>
<id>urn:sha1:8fc4c063d7076a6e9ffe36f2ee5bf39394fa3113</id>
<content type='text'>
This adds an experimental `arti hsc` subcommand for managing client
state and keys. Currently, it only supports the
`prepare-service-discovery-keys` operation described in #1281 and
`doc/dev/notes/client-auth.md`.

A note on terminology: I am referring to services that encrypt the
second layer of their descriptor as running in "restricted discovery"
mode (because they can only be discovered, i.e. have their IPT points
found out, by a set of authorized clients). The corresponding client
"auth" keys, being the keys that enable the client to find out the list
of intro points, pow-params etc. of the service, are referred to as
service "discovery keys".

Alternative names I considered:
  * extra descriptor encryption: accurate, but overly technical. IMO,
    the CLI should be accessible to users who aren't familiar with the
    nitty-gritty of the protocol
  * shielded mode: good, but slightly misleading. Calling it "shielded
    mode" makes it sound like a universally desirable "extra protection"
    that should almost always be enabled (which is not the case). Seeing
    `shielded_mode = off` in the config might be worry operators that
    don't fully understand what "extra descriptor encryption" or
    "shielded mode" means
  * restricted mode: slightly inaccurate. It implies this mechanism is a
    good substitute for conventional service-side authentication, which
    it isn't (because client authorization isn't instantaneous)

Closes #1281
</content>
</entry>
</feed>
