<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel/handshake.rs, branch arti-v1.6.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.6.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.6.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-09-24T19:23:32Z</updated>
<entry>
<title>opentelemetry: Add some instrument macros.</title>
<updated>2025-09-24T19:23:32Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-09-16T13:25:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e21ebd3793d497429ba7c8c437b346a9a2833407'/>
<id>urn:sha1:e21ebd3793d497429ba7c8c437b346a9a2833407</id>
<content type='text'>
I've added these in places that are useful for the debugging that I've
been doing.
</content>
</entry>
<entry>
<title>proto: Move is_authenticating() into the base initiator handshake trait</title>
<updated>2025-09-02T15:43:31Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-28T13:02:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f98c38d843b6e377e310052ce8ae33249b2a6712'/>
<id>urn:sha1:f98c38d843b6e377e310052ce8ae33249b2a6712</id>
<content type='text'>
Initiator always know if they will authenticate or not. Responder is
different as a relay doesn't know until the end of the handshake if it
is responding to a relay or a client.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Various channel handshake fixes</title>
<updated>2025-09-02T15:43:31Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-27T15:40:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=08d4b498350ab01433eefc76141bd78a324a1b7f'/>
<id>urn:sha1:08d4b498350ab01433eefc76141bd78a324a1b7f</id>
<content type='text'>
These are following the review of MR 3182. They are put in a single
commit because the git absorb has a large amount of conflicts on rebase
and this commit allows the reviewers to see what happened.

The base branch was rebased on main due to the need for 3184.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Fix unit tests after changes</title>
<updated>2025-09-02T15:43:31Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-26T16:58:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98b2e7c91b1f246329ad637b5042143b95dfbd65'/>
<id>urn:sha1:98b2e7c91b1f246329ad637b5042143b95dfbd65</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Add a helper to calculate the handshake clock skew</title>
<updated>2025-09-02T15:43:31Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-26T14:06:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ec1a0690d9beb6420f3029f94ec992482ff7aa4c'/>
<id>urn:sha1:ec1a0690d9beb6420f3029f94ec992482ff7aa4c</id>
<content type='text'>
In the spirit of avoidin code duplication.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Add a channel initiator handshake base trait</title>
<updated>2025-09-02T15:43:31Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-26T14:05:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5ef399d773d2da0b681f7ab186369d4bb0ba1c3a'/>
<id>urn:sha1:5ef399d773d2da0b681f7ab186369d4bb0ba1c3a</id>
<content type='text'>
All initiator handshake will implement this in order to get access to
the helper function to receive the relay responder cells.

Relay will implement this in future commits.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Introduce a ChannelBaseHandshake trait</title>
<updated>2025-09-02T15:43:31Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-26T13:57:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2312720e5786d647c557a52a7742c31696aeccb7'/>
<id>urn:sha1:2312720e5786d647c557a52a7742c31696aeccb7</id>
<content type='text'>
Client and relay handhsake share a lot of code because they both
send/recv the same cells, just handles them differently for
verification.

This is the base trait for all handshake implementing basic getters and
VERSIONS cell handling.

This will allow the RelayInitiatorHandshake and RelayResponderHandshake
to use this common code.

See, traits are fun. Win-win-win.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Put in a ChannelFrame&lt;T&gt; into the client handshake</title>
<updated>2025-09-02T15:43:31Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-26T13:53:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8d856bfbe6b838b33d7181c686b8cac3adcab502'/>
<id>urn:sha1:8d856bfbe6b838b33d7181c686b8cac3adcab502</id>
<content type='text'>
The ClientInitiatorHandshake holds a "tls" sink but the very first thing
we do is transform it to a ChannelFrame&lt;T&gt;. Instead, just store the
frame to the object directly so we can then use a channel frame
uniformily accross its lifetime.

This will be useful for the future refactoring paving the way for relay
channel authentication.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Only allow VERSIONS cell for the new handshake state</title>
<updated>2025-08-27T15:04:24Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-26T17:03:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=afe97476d39bfb3db7387ed073e4bad350ea3c7e'/>
<id>urn:sha1:afe97476d39bfb3db7387ed073e4bad350ea3c7e</id>
<content type='text'>
Due to this, it is not possible to get a VPADDING before because it
requires a link protocol version to decideon the encoding:

https://gitlab.torproject.org/tpo/core/torspec/-/issues/366

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Remove the AUTHORIZE as a parsable cell</title>
<updated>2025-08-21T15:59:37Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-21T14:52:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eabd0c0bfe703337e338403949721ce57c87f32e'/>
<id>urn:sha1:eabd0c0bfe703337e338403949721ce57c87f32e</id>
<content type='text'>
The AUTHORIZE cell command is simply reserved but not defined. The tor
specification, at this point in time, is allowing such cell before the
handshake starts but it is very unclear on what ordering is allowed nor
how many can are allowed.

C-tor silents drop them like VPADDING and so clearly unused. Instead of
dealing with it, simply remove its support but keeping its reserved
number.

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