<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti/src/subcommands, branch arti-v2.1.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.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-02-19T17:01:09Z</updated>
<entry>
<title>arti: Extract responsibility for port listing.</title>
<updated>2026-02-19T17:01:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-02-16T17:46:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ddb2075d6b0461bea53f6576d630c8099954629a'/>
<id>urn:sha1:ddb2075d6b0461bea53f6576d630c8099954629a</id>
<content type='text'>
Instead of doing this when we construct the listeners, we can do it
in a separate method, to simplify the return type.
</content>
</entry>
<entry>
<title>arti: Refactor socks proxy launcher function.</title>
<updated>2026-02-19T16:58:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-02-16T16:01:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bf470e75a750ebf683b9c9c5d841d6532c74ae5a'/>
<id>urn:sha1:bf470e75a750ebf683b9c9c5d841d6532c74ae5a</id>
<content type='text'>
Part of #2301.
</content>
</entry>
<entry>
<title>arti: Refactor dns proxy launcher function.</title>
<updated>2026-02-19T16:58:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-02-16T16:01:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4849c1cd5afbebf9a7e20cefac03bd808f94edbe'/>
<id>urn:sha1:4849c1cd5afbebf9a7e20cefac03bd808f94edbe</id>
<content type='text'>
Part of #2301.
</content>
</entry>
<entry>
<title>arti: improve error message for invalid socks/dns port</title>
<updated>2026-02-02T19:00:16Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-02-02T19:00:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8a45ea2ebeecee4ec0b74da1e6ba3babb7b1a40f'/>
<id>urn:sha1:8a45ea2ebeecee4ec0b74da1e6ba3babb7b1a40f</id>
<content type='text'>
Uses the standard clap error messages, for example:

```text
$ cargo run -p arti -- proxy -p 123a
error: invalid value '123a' for '-p &lt;PORT&gt;': invalid digit found in string

For more information, try '--help'.
```
</content>
</entry>
<entry>
<title>arti: remove deprecated `proxy.dns_port` config option</title>
<updated>2026-01-30T02:36:23Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-01-30T01:58:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=33a382d3fff65ef8ad7980cb1a613b94d2b28e83'/>
<id>urn:sha1:33a382d3fff65ef8ad7980cb1a613b94d2b28e83</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: remove deprecated `proxy.socks_port` config option</title>
<updated>2026-01-30T02:35:25Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-01-30T01:48:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5f2ce9c6f1c6fa05a7d55bd761d8ed42fcc25b34'/>
<id>urn:sha1:5f2ce9c6f1c6fa05a7d55bd761d8ed42fcc25b34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: reword+reformat warning message</title>
<updated>2026-01-30T01:38:14Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-01-30T01:38:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=44c03655dea1c6049768db01ff25c1beb93ed1ca'/>
<id>urn:sha1:44c03655dea1c6049768db01ff25c1beb93ed1ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti: Do not panic when invalid ports are given as arguments to proxy</title>
<updated>2026-01-30T00:22:24Z</updated>
<author>
<name>Niel Duysters</name>
<email>contact@ndvibes.com</email>
</author>
<published>2026-01-30T00:22:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3c8367f23ed66286f70dc804b11fa27064236dad'/>
<id>urn:sha1:3c8367f23ed66286f70dc804b11fa27064236dad</id>
<content type='text'>
Use anyhow::Context to wrap error in useful message.
</content>
</entry>
<entry>
<title>keymgr: Make CTorPath more like the client/service specifiers</title>
<updated>2026-01-06T15:25:20Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-06T10:43:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=71178a54dc8c3c3ed75b14ecbca3197feb22accc'/>
<id>urn:sha1:71178a54dc8c3c3ed75b14ecbca3197feb22accc</id>
<content type='text'>
This will make it easier to see the correspondence between CTorPaths
and the HS client/service key specifiers.

Initially, I was hoping this would make it easier to write a d-d macro
that automatically derives a `CTorPath` variant (e.g.
`HsClientDescEncKeypair`) from the KeySpecifier type name
(`HsClientDescEncKeypairSpecifier`), but alas, I don't think d-d can
"chop off" name suffixes ("Specifier", in this case).
`from_ctor_path()`/`ctor_path()` implementations for converting
`CTorPath`s to and from key specifiers.
</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>
</feed>
