<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/circuit, branch arti-v1.1.2</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.2</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.2'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-02-27T13:14:15Z</updated>
<entry>
<title>proto: Tweak documentation and names around CmdChecker.</title>
<updated>2023-02-27T13:14:15Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-27T13:14:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=07473ed1fc110b8b48ef02bb288b1f50085dfa06'/>
<id>urn:sha1:07473ed1fc110b8b48ef02bb288b1f50085dfa06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Rename end_received.</title>
<updated>2023-02-17T16:56:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-17T16:56:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=814563dfd6a3c8c4a7b97e5698f8d45550dc7c91'/>
<id>urn:sha1:814563dfd6a3c8c4a7b97e5698f8d45550dc7c91</id>
<content type='text'>
It can now indicate _any_ cell that means we can forget about a stream.
</content>
</entry>
<entry>
<title>Use CmdChecker in our stream handling code.</title>
<updated>2023-02-17T16:52:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-17T16:52:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d81a9c9aadd43b93f9855aa33801fb5a926bf3b5'/>
<id>urn:sha1:d81a9c9aadd43b93f9855aa33801fb5a926bf3b5</id>
<content type='text'>
This change makes sure that open streams and half-closed streams
have the same stream-type-dependent state machines with respect to
which cells are acceptable.

Fixes #774.

Fixes #769.
</content>
</entry>
<entry>
<title>tor-proto: Add a TODO about simplifying a common pattern.</title>
<updated>2023-02-15T15:51:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-15T15:51:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=19c0dd153ad957fc108c59f578facbfc3e562d2a'/>
<id>urn:sha1:19c0dd153ad957fc108c59f578facbfc3e562d2a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Push stream message parsing into the stream objects.</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T22:48:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=41b50b6c56debc1eeb644d65b2738645bf98fce7'/>
<id>urn:sha1:41b50b6c56debc1eeb644d65b2738645bf98fce7</id>
<content type='text'>
This closes #525, and ensures, at last, that we don't parse any
message that we wouldn't accept.
</content>
</entry>
<entry>
<title>tor-proto: Defer parsing of messages send to half-closed streams</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T22:19:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=58c3b8276c9c5dc4f2b51089ad0a45cf54d82476'/>
<id>urn:sha1:58c3b8276c9c5dc4f2b51089ad0a45cf54d82476</id>
<content type='text'>
This includes a partial solution for #769, but also turned up
another bug (#774) while I was working on it.  I'll close them both
once I have a real solution.
</content>
</entry>
<entry>
<title>tor-proto: stop reactor (and kill circuit) if meta handler fails</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T21:48:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bd0f6f5adf79b68621277c8fc13db1b021d493c5'/>
<id>urn:sha1:bd0f6f5adf79b68621277c8fc13db1b021d493c5</id>
<content type='text'>
If the meta handler reports an error, then the circuit has violated
its protocol, and needs to be shut down.

Fixes #773.
</content>
</entry>
<entry>
<title>tor-proto: defer meta-cell parsing to the last moment.</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T21:46:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2e483124cbff320cfabe1dcf4e8ad2398804f2ac'/>
<id>urn:sha1:2e483124cbff320cfabe1dcf4e8ad2398804f2ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Use UnparsedRelayCell to start deferring cell processing.</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T19:50:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0765243f5e7f6073866e8f624757665fa6e3303b'/>
<id>urn:sha1:0765243f5e7f6073866e8f624757665fa6e3303b</id>
<content type='text'>
In general, we want to avoid parsing these cells until we are
fairly sure that they are something we would accept.
</content>
</entry>
<entry>
<title>tor-cell: Refactor relay cells to copy much less</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T02:19:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ca3b33a1afc58b84cc7a39ea3845a82f17cee0da'/>
<id>urn:sha1:ca3b33a1afc58b84cc7a39ea3845a82f17cee0da</id>
<content type='text'>
We now manipulate raw relay cell bodies as (an alias for)
`Box&lt;[u8;509]&gt;` rather than as (an alias for) `[u8;509]`.  This
enables us to do much less copying.  It will become more important
soon, as we defer parsing relay cell bodies even longer.

Related to #7.

We also use SliceWriter to avoid allocating a Vec&lt;&gt; for every relay
message we want to encode, and instead encode directly into the
cell.
</content>
</entry>
</feed>
