<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel/handshake.rs, branch arti-v1.5.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.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-27T15:04:24Z</updated>
<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>
<entry>
<title>proto: Return AUTHORIZE, VPADDING and VERSIONS at handshake</title>
<updated>2025-08-21T15:07:32Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-08-20T19:46:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b758a3e844cdec9d78dc02237bb99d534ab1bfb7'/>
<id>urn:sha1:b758a3e844cdec9d78dc02237bb99d534ab1bfb7</id>
<content type='text'>
When starting a handshake, we were only expecting a VERSIONS which is
not what the protocol say. An AUTHORIZE and VPADDING can arrive before a
VERSIONS.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Rename OutboundClientHandshake</title>
<updated>2025-08-20T17:22:16Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-10-03T13:21:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=483752317e321a2a9c945fcc6dead30081f401e6'/>
<id>urn:sha1:483752317e321a2a9c945fcc6dead30081f401e6</id>
<content type='text'>
Use the specification terminology which is also the same for
ChannelType.

Part of #1597

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Make the OutboundClientHandshake use new cell handler</title>
<updated>2025-08-20T17:22:16Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-10-03T13:16:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8d52396e8f6e68859508e1f8fbef7a62458857bc'/>
<id>urn:sha1:8d52396e8f6e68859508e1f8fbef7a62458857bc</id>
<content type='text'>
Use the ChannelFrame&lt;&gt; for the entirety of the outbound client handshake
that is the ClientInitiator channel type.

With this change, the codec.rs code is not needed anymore along its
CodecError as well which has been normalized onto the crate::Error
instead in order to simplify error handling and avoid duplication of
error types.

Unit tests have been modified to reflect this change of what can be done
with a channel frame. Also renamed to focus on client behavior.

Part of #1597

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Add ChannelType enum</title>
<updated>2025-08-20T16:41:03Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-09-30T18:37:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ff4b08075d3d1799dd5ce785f0a8d0b87a140163'/>
<id>urn:sha1:ff4b08075d3d1799dd5ce785f0a8d0b87a140163</id>
<content type='text'>
The ChannelType indicates the type of channel in order to dictate which
message is allowed on it. The value use the Initiator and Responder
terminology from tor-spec documents.

At this commit, we only have client channel meaning the
"ClientInitiator" type.

In future commits, the channel type will be used by the channel reactor
to restrict which message is allowed or not.

Part of #1597

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
First, run

```
git grep -l "^edition =" |
    xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```

Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.

Third, run cargo fmt again.
</content>
</entry>
<entry>
<title>tor-proto: Log channel, circuit, stream identifiers as structured fields.</title>
<updated>2025-06-12T18:02:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-06-12T15:16:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a50fe9c8471bfe026ff5a0ce39355258fc335fe0'/>
<id>urn:sha1:a50fe9c8471bfe026ff5a0ce39355258fc335fe0</id>
<content type='text'>
This changes the `tor-proto` logs to not be prefixed with a
channel/circuit/stream ID, but rather to have these IDs attached to the
log as structured fields.

This change is in preparation for the switch to using `TunnelId`s in the
tunnel reactor instead of circuit `UniqId`s. The reason for the change
to use structured fields is because future logs will likely need to log
the `UniqId`s of the circuits in a tunnel, which will need to either be
formatted somehow in the logs, or logged as a structured field (the
latter seems like the better option, hence this preparatory change).

IMO we should favor structured fields over formatted strings in the
logs in general, but that is a bigger project, so I am only doing a
spot fix for now.
</content>
</entry>
<entry>
<title>tor-proto: remove `use asynchronous_codec as futures_codec`</title>
<updated>2025-02-06T16:43:27Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2025-02-06T16:43:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4c45faf700ae3043cf0961407ccdb686de847ac8'/>
<id>urn:sha1:4c45faf700ae3043cf0961407ccdb686de847ac8</id>
<content type='text'>
Closes #1690.
</content>
</entry>
<entry>
<title>tor-proto: Pass a StreamOps handle to the channel reactor.</title>
<updated>2025-01-15T13:49:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-01-08T11:15:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7bf3db2d40d4548380cd7dbd4331ac018303528c'/>
<id>urn:sha1:7bf3db2d40d4548380cd7dbd4331ac018303528c</id>
<content type='text'>
</content>
</entry>
</feed>
