<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/relay/channel/responder.rs, 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-19T20:57:29Z</updated>
<entry>
<title>proto: Pass PeerAddr at the channel handshake finish for initiators</title>
<updated>2026-02-19T20:57:29Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-19T15:11:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5bc019e82fdc7c8eac940c1c9d7cbd6227fe6ea6'/>
<id>urn:sha1:5bc019e82fdc7c8eac940c1c9d7cbd6227fe6ea6</id>
<content type='text'>
Responder relay handshake requires the peer address at the very start as
it sends its NETINFO right away.

For initiators, we only need it during the finalization process which is
when the NETINFO is sent and the Channel is created.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Use the PeerAddr accross channel handshake</title>
<updated>2026-02-19T20:57:29Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-16T18:09:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7cbd4d561a0c38043d8b074800ab576bf9770f5a'/>
<id>urn:sha1:7cbd4d561a0c38043d8b074800ab576bf9770f5a</id>
<content type='text'>
This is a large change but it is basically using PeerAddr in the channel
builder through the channel handshake code and into the Channel itself.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>relay: Pass our TLS cert to the responder verify process</title>
<updated>2026-02-12T16:48:14Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-10T17:33:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b473950dbfed900811ef714d5bbae43e7902a4f6'/>
<id>urn:sha1:b473950dbfed900811ef714d5bbae43e7902a4f6</id>
<content type='text'>
For the responder to build the authentication data, it needs its own
certificate of the TLS handshake that it is responding to (as a TLS
server).

This resolves an important TODO(relay) in the code.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Enforce that channel method as unique SocketAddr</title>
<updated>2026-02-12T16:11:07Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-10T20:34:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c07e10684cc8d793d082a2e4c1f6dff8fcd118e0'/>
<id>urn:sha1:c07e10684cc8d793d082a2e4c1f6dff8fcd118e0</id>
<content type='text'>
During the channel handshake, we require the peer IP address for the
canonicity check which requires the exact peer IP we are connected to.

This commit adds a function that enforces this requirement on a
ChannelMethod so anything else results in an error.

It is to basically have stronger guarantee on the channel method we use
in the handshake.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Channel finish() now handles canonicity</title>
<updated>2026-02-12T16:11:07Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-10T20:02:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5dfb1745dd436fae53822448129198d6707cca0b'/>
<id>urn:sha1:5dfb1745dd436fae53822448129198d6707cca0b</id>
<content type='text'>
All handshake pass the NETINFO cell, the advertised addresses (if any)
and the peer address in order to build the Canonicity and build the
channel with it.

In order to pull this off, the "my_addrs" were added to several object
along the NETINFO cell.

We also pass the channel method when connecting (initiator) to a relay
as we need this for this canonicity build.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Relay responder channel allow to be non_exhaustive</title>
<updated>2026-02-09T20:49:37Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-09T20:08:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7beffaedbb19296f0a06168d4e297c38e02aaaa7'/>
<id>urn:sha1:7beffaedbb19296f0a06168d4e297c38e02aaaa7</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Publicly re-export MaybeVerifiableRelayResponderChannel</title>
<updated>2026-02-09T20:49:37Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-05T18:50:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=64c2eca9477874d1a292f799d54163dea869858a'/>
<id>urn:sha1:64c2eca9477874d1a292f799d54163dea869858a</id>
<content type='text'>
This type is needed in the tor-chanmgr crate in order to decide to
verify or not the underlying relay channel.
</content>
</entry>
<entry>
<title>proto: Add missing clock_skew() to unverified channels</title>
<updated>2026-02-04T18:22:17Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-03T16:46:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e811aa049bc8cfcf6901599c10e1307741181780'/>
<id>urn:sha1:e811aa049bc8cfcf6901599c10e1307741181780</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Introduce new relay responder channel types</title>
<updated>2026-02-04T18:22:17Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-03T16:10:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bfd8739237c838319b04290759a4b0e4604a45b8'/>
<id>urn:sha1:bfd8739237c838319b04290759a4b0e4604a45b8</id>
<content type='text'>
Add the unverified, verified, non verifiable flavor types of a responder
channel.

This follow on the previous commit to use the type system for stronger
guarantees.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
</feed>
