<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/client/reactor, branch arti-v1.9.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.9.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.9.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-12-10T16:04:26Z</updated>
<entry>
<title>proto: Rename CircuitAction and cie to CircuitEvent</title>
<updated>2025-12-10T16:04:26Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-10T15:20:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7e69f0b2d31acfad14c3d046e89f8633626785f8'/>
<id>urn:sha1:7e69f0b2d31acfad14c3d046e89f8633626785f8</id>
<content type='text'>
This mirrors also the relay reactor. We've introduced the ProtoViolation
into a previous commit which is not an action but rather an "event" that
happened on a circuit.

And so, better semantic. No behavior change.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Rename Circuit{Action/Event}::Shutdown to ProtoViolation</title>
<updated>2025-12-10T16:04:26Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-10T14:24:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1c97ec8836f227209e8dbc19253afcbe1f9e2610'/>
<id>urn:sha1:1c97ec8836f227209e8dbc19253afcbe1f9e2610</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Add TODO in client reactor for bad cell</title>
<updated>2025-12-10T16:04:26Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-09T15:06:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d83f860282020e535a50ebb183fe27e41b2d5830'/>
<id>urn:sha1:d83f860282020e535a50ebb183fe27e41b2d5830</id>
<content type='text'>
Because of https://gitlab.torproject.org/tpo/core/torspec/-/issues/385

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Client circuit reactor now handles AnyChanMsg</title>
<updated>2025-12-10T16:03:12Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-08T19:16:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d5ad6142db84d917f0035060f92678da3ba98ee1'/>
<id>urn:sha1:d5ad6142db84d917f0035060f92678da3ba98ee1</id>
<content type='text'>
This commit removes the CircuitRx* based solely on the client circuit
message and moves it into the top level of the crate so all reactors can
use them.

The client reactor then upon receiving the message, it converts the
AnyChanMsg into a ClientCircChanMsg. On error, this leads to a shutdown
of the entire reactor due to a fatal error.

In order to pull this off, we added a CircuitAction::Shutdown that is
handled as a priority.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Move ClientCircChanMsg into client module</title>
<updated>2025-12-10T16:03:11Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-08T18:15:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f3b6759079b571a6c3052adb9d1079df875bdf50'/>
<id>urn:sha1:f3b6759079b571a6c3052adb9d1079df875bdf50</id>
<content type='text'>
Next commit will also move the Relay specific set into the relay module.
These two sets are becoming specific to the reactor as the circuit
reactor communication channel will use AnyChanMsg instead.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'relay-streams2' into 'main'</title>
<updated>2025-12-02T20:08:50Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-02T20:08:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=88f06d6a4464bc4d9c129a7e15f847aa004e9403'/>
<id>urn:sha1:88f06d6a4464bc4d9c129a7e15f847aa004e9403</id>
<content type='text'>
proto: Start handling incoming streams in the relay reactor

See merge request tpo/core/arti!3487</content>
</entry>
<entry>
<title>proto: Allow unstable_name_collisions in several places</title>
<updated>2025-12-01T10:53:23Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-12-01T10:52:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dd4a8fa6e06d3ff55ca8b5a60c4598684305aae9'/>
<id>urn:sha1:dd4a8fa6e06d3ff55ca8b5a60c4598684305aae9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Appropriately gate STREAM_READER_BUFFER to satisfy clippy</title>
<updated>2025-11-24T17:03:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-11-20T14:25:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dba1982fc36577861ab8bb889f9e2db61e7317e8'/>
<id>urn:sha1:dba1982fc36577861ab8bb889f9e2db61e7317e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Deduplicate msg_streamid()</title>
<updated>2025-11-24T17:03:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-11-19T18:28:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e1d9c7ee1315953f7f2b68b653dda2ce39f2197e'/>
<id>urn:sha1:e1d9c7ee1315953f7f2b68b653dda2ce39f2197e</id>
<content type='text'>
Initially I wanted to turn `msg_streamid()` into a method on
`UnparsedRelayMsg`, but I ultimately decided against it, because it
feels like it doesn't belong there (even though intuitively, I would've
expected it to handle the mismatch between stream ID and cell command
internally). This is because all the `UnparsedRelayMsg` methods return
`tor_bytes::Result`, and do not actually do any validation beyond some
length checks on the various fields.
</content>
</entry>
<entry>
<title>proto: Move a couple of stream-related constants to stream mod</title>
<updated>2025-11-24T17:03:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-11-17T19:26:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b46dc590b816ecc0f4d4941bbf194433f49524d2'/>
<id>urn:sha1:b46dc590b816ecc0f4d4941bbf194433f49524d2</id>
<content type='text'>
</content>
</entry>
</feed>
