<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/stream, branch arti-v1.1.11</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.11</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.11'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-11-15T18:21:11Z</updated>
<entry>
<title>Send less information in onion service BEGIN messages</title>
<updated>2023-11-15T18:21:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-15T18:19:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=23492cc2423f2ab0611a390cfa2ad49a3bd81d6d'/>
<id>urn:sha1:23492cc2423f2ab0611a390cfa2ad49a3bd81d6d</id>
<content type='text'>
While looking for differences, we found that C tor always
omits the flags and the hostname from a BEGIN message sent on an
onion service circuit.  In torspec!179, we specified that behavior.
This patch brings arti into conformance.

Closes #1077.
</content>
</entry>
<entry>
<title>Convert StreamId to NonZeroU16</title>
<updated>2023-10-25T20:34:55Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-10-23T22:57:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=48d95b8be53177d34012c53dd84ed888ebfb5cc8'/>
<id>urn:sha1:48d95b8be53177d34012c53dd84ed888ebfb5cc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Revise the behavior of IncomingStream::discard().</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:30:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1b2a4de2eb6a11157879cb53839eaee9e658ba4d'/>
<id>urn:sha1:1b2a4de2eb6a11157879cb53839eaee9e658ba4d</id>
<content type='text'>
Because dropping a `StreamTarget` causes the circuit reactor to send
an End, the previous do-nothing implementation of `discard()` wasn't
sufficient to cause the request to be ignored without sending an
End.

This commit modifies our "close pending stream" behavior to only
optionally send an End message.  To avoid confusion, I'm using a new
`CloseStreamBehavior` enum rather than an `Option&lt;End&gt;`, since we
had previously used `None` in some cases to indicate a default
(misc) end message.
</content>
</entry>
<entry>
<title>IncomingStream:: flatten IncomingStreamInner.</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:18:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d51927c7ad3d0523b533acaa467ac2a083854e0f'/>
<id>urn:sha1:d51927c7ad3d0523b533acaa467ac2a083854e0f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>IncomingStream: Remove state.</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:16:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=394dda704d3832d7cb5f97f1f98c0bb6c903bf85'/>
<id>urn:sha1:394dda704d3832d7cb5f97f1f98c0bb6c903bf85</id>
<content type='text'>
Now that every state-change function consumes the IncomingStream,
there is no longer any reason to keep track of an internal state
enum.
</content>
</entry>
<entry>
<title>Note a bug in IncomingStream::discard.</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:14:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d67be6e8f51c9c4a6b9f814c3613e4c7ecc03d24'/>
<id>urn:sha1:d67be6e8f51c9c4a6b9f814c3613e4c7ecc03d24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove IncomingStreamInner from its Option.</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:12:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0ae389d5b3a67c9dd6d802b06e1950533f7ed7e3'/>
<id>urn:sha1:0ae389d5b3a67c9dd6d802b06e1950533f7ed7e3</id>
<content type='text'>
Now that IncomingStream doesn't implement Drop, we can just
destructure it.
</content>
</entry>
<entry>
<title>Remove impl Drop from IncomingStream</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:07:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1e5a44f97b9cc067e0a99d95b7ae554661bd80f8'/>
<id>urn:sha1:1e5a44f97b9cc067e0a99d95b7ae554661bd80f8</id>
<content type='text'>
Since dropping a StreamTarget will send an End, we don't need
to call reject_internal in this case.
</content>
</entry>
<entry>
<title>proto: Make StreamTarget::close() misuse less likely.</title>
<updated>2023-10-17T12:41:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-17T12:39:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=308a27f0ac25c4608fd08d7c68fd1c5b305a8428'/>
<id>urn:sha1:308a27f0ac25c4608fd08d7c68fd1c5b305a8428</id>
<content type='text'>
It turns out that we can make `IncomingStream::reject()` consume
self, thus making it impossible to hit the double-close error
from outside the `tor-proto` crate.

Also, we rename `StreamTarget::close()` to `close_pending()` to
better reflect its limited applicability.
</content>
</entry>
<entry>
<title>proto::stream::incoming: Use bit-array representation for command list</title>
<updated>2023-10-12T16:23:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-12T13:56:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bffc68b2eafe323a4cb7fa130a93ff238f0a4b16'/>
<id>urn:sha1:bffc68b2eafe323a4cb7fa130a93ff238f0a4b16</id>
<content type='text'>
This should be smaller and faster than vec, and save some
allocations.  It could also avoid a tiny sidechannel.
</content>
</entry>
</feed>
