<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel, branch arti-v2.2.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.2.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-03-26T19:20:16Z</updated>
<entry>
<title>tor-proto: Port to web-time-compat</title>
<updated>2026-03-26T19:20:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-03-26T14:33:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=11f365738ade6ba75eedee83d7d19f8877da7d65'/>
<id>urn:sha1:11f365738ade6ba75eedee83d7d19f8877da7d65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2026-03-24T16:04:08Z</updated>
<author>
<name>Tobias Stoeckmann</name>
<email>tobias@stoeckmann.org</email>
</author>
<published>2026-03-24T16:04:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1fb2b8dd4aee7c943ce90d6631be473f2a296fe6'/>
<id>urn:sha1:1fb2b8dd4aee7c943ce90d6631be473f2a296fe6</id>
<content type='text'>
Typos found with codespell
</content>
</entry>
<entry>
<title>proto: The relay signing key signs the auth cert</title>
<updated>2026-03-19T20:31:09Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-19T18:28:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=737594d4c5e01f989adc7620b1559e128b7302cf'/>
<id>urn:sha1:737594d4c5e01f989adc7620b1559e128b7302cf</id>
<content type='text'>
In other words kp_relaysign_ed.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-proto: fix the relay initiator's SLOG digest</title>
<updated>2026-03-19T20:31:09Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-03-05T00:13:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0515e9b8c93126a60d824a54c710bb79e298a62b'/>
<id>urn:sha1:0515e9b8c93126a60d824a54c710bb79e298a62b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: improve chan send/recv-log error messages</title>
<updated>2026-03-19T20:31:09Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-03-04T23:55:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=34d55b7e0ecab71005a2b156199a162ec21fcd89'/>
<id>urn:sha1:34d55b7e0ecab71005a2b156199a162ec21fcd89</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Set the link protocol outside the recv VERSIONS helper</title>
<updated>2026-03-19T20:31:09Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-11T17:11:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=24413da7004f4a89b4e9afde4036398693cce52d'/>
<id>urn:sha1:24413da7004f4a89b4e9afde4036398693cce52d</id>
<content type='text'>
It used to work for an initiator to set the link protocol once a
VERSIONS is received because initiator send their VERSIONS before. This
failed with responders because a responder channel sends their VERSIONS
after receiving one from the initiator.

This reverse logic means that the channel cell handler was transitionned
to the Handshake state before a responder was able to send a VERSIONS
cell leading to a failure because VERSIONS cell aren't allowed at the
Handshake state.

To fix this, the send/recv or recv/send is now explicit per channel type
and once this is done and successful, the link protocol is set. A
`set_link_protocol()` is added to the ChannelBaseHandshake trait so it
can be used to set the cell handler.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Fix unit tests</title>
<updated>2026-03-19T20:31:09Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-04T20:02:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=de21b900b0dd5b1333b2804856781e85d4329598'/>
<id>urn:sha1:de21b900b0dd5b1333b2804856781e85d4329598</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Improve logging in channel handshake</title>
<updated>2026-03-19T20:31:09Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-04T19:53:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bef722c9cabcb125d5c8781fd189a13bad7b204e'/>
<id>urn:sha1:bef722c9cabcb125d5c8781fd189a13bad7b204e</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Add specialized build functions for ChannelAuthenticationData</title>
<updated>2026-03-19T20:31:09Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-04T18:49:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4ccca38289e4ab92bb4c56b5cfd30faf00348926'/>
<id>urn:sha1:4ccca38289e4ab92bb4c56b5cfd30faf00348926</id>
<content type='text'>
The initiator and responder are quite different. Building an
AUTHENTICATE cell is delicate and so this change differenticates clearly
between the two.

This allows us to remove the peer_cert_digest from an UnverifiedChannel
which is only something that makes sense for an initiator.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: New UnverifiedInitiatorChannel</title>
<updated>2026-03-19T20:31:09Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-04T18:28:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2539784719e15f1e545dd3617f3bdbc4236883c2'/>
<id>urn:sha1:2539784719e15f1e545dd3617f3bdbc4236883c2</id>
<content type='text'>
Both client and relay specialized channel now use it as their inner base
channel so they can use the same common verify() function since it is
the same validation for both.

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