<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel/reactor.rs, branch arti-v0.0.4</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-01-13T13:12:29Z</updated>
<entry>
<title>chanmgr: get rid of Arc around Channel</title>
<updated>2022-01-13T13:12:29Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2022-01-13T13:12:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9b723cba53852ecd3505c0cabc42ca3b5d31ad34'/>
<id>urn:sha1:9b723cba53852ecd3505c0cabc42ca3b5d31ad34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-circmgr: Don't clone parameters in create_chantarget()</title>
<updated>2021-12-26T01:22:38Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2021-12-26T01:22:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=383843f0d7d7c0b1f9b75c115fb4bf4a09496dfa'/>
<id>urn:sha1:383843f0d7d7c0b1f9b75c115fb4bf4a09496dfa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Replace XXXs with references to arti#269</title>
<updated>2021-12-20T15:56:24Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-20T15:56:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6303a71d58849d0bdbd21022eda6fb079ae151e5'/>
<id>urn:sha1:6303a71d58849d0bdbd21022eda6fb079ae151e5</id>
<content type='text'>
These will require thought; should we ignore them, act on them, or
continue to  treat them as internal errors?
</content>
</entry>
<entry>
<title>Mark a test as #[ignore]</title>
<updated>2021-11-29T16:10:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-11-29T16:08:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=efe165acf3e7467ef31ebe6765c710d4d8c9322b'/>
<id>urn:sha1:efe165acf3e7467ef31ebe6765c710d4d8c9322b</id>
<content type='text'>
This test seems unreliable on CI: we've got to disable them for now
so that we have a working CI system.  The CI failure is #238; the
ticket to repair them is #244.
</content>
</entry>
<entry>
<title>add semicolons if nothing returned</title>
<updated>2021-11-25T13:20:37Z</updated>
<author>
<name>Daniel Eades</name>
<email>danieleades@hotmail.com</email>
</author>
<published>2021-11-25T13:14:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=db16d13df4779ac61005050dfe5ce05e3d5a1b5d'/>
<id>urn:sha1:db16d13df4779ac61005050dfe5ce05e3d5a1b5d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove a couple more eprintln! calls.</title>
<updated>2021-11-23T22:40:13Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-11-23T22:40:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=54de7f5cfd82eb04e1e119d1734eee2d6ee1176d'/>
<id>urn:sha1:54de7f5cfd82eb04e1e119d1734eee2d6ee1176d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make unreliable tor-proto tests more reliable (arti#238).</title>
<updated>2021-11-18T16:06:53Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-11-18T15:40:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=075e663dcd740727ea6832581a38dc6ab0a36d53'/>
<id>urn:sha1:075e663dcd740727ea6832581a38dc6ab0a36d53</id>
<content type='text'>
The `bad_extend_*` failures were caused by bad test code in
`bad_extend_test_impl` that used `futures::join!`; this meant that the
reactor could receive the `Extended2` cell before it actually got the
`ExtendNtor` request, which caused it to get (quite rightly) confused
and close the circuit. Spawning a background thread which has a short
delay before sending the `Extended2` cell seems to have alleviated this
problem.

`new_circ_create_failure` is similar; I think the reactor was getting
dropped before it had a chance to flush out its `CreateFast` cell
properly, because it had already gotten the result back (since the test
code sends it indiscriminately). This was "fixed" in much the same
manner as the other test: making it wait a bit before sending the result
cell back.

There seem to be other tests that use `futures::join!` (like
`begindir`?), and use similarly erroneous patterns; I haven't gotten any
to fail reliably enough to be able to debug them, though.
</content>
</entry>
<entry>
<title>tor-proto: Use tor-rtcompat macros for testing, not tokio.</title>
<updated>2021-11-15T17:57:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-11-15T17:55:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f92ad644c90480cd6ea738201119ce1e9fd40d8e'/>
<id>urn:sha1:f92ad644c90480cd6ea738201119ce1e9fd40d8e</id>
<content type='text'>
Closes #222.
</content>
</entry>
<entry>
<title>A few more eprintln!() removals that I missed.</title>
<updated>2021-11-13T16:22:08Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-11-13T16:22:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c6d188869f18c3446f800fe93c37356790187ca7'/>
<id>urn:sha1:c6d188869f18c3446f800fe93c37356790187ca7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Get rid of unbounded stream sender, and RawCellStream</title>
<updated>2021-11-12T15:04:27Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-11-11T17:44:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c559754116678866eabe525f5b189b50cc78b5cc'/>
<id>urn:sha1:c559754116678866eabe525f5b189b50cc78b5cc</id>
<content type='text'>
Previously, the reactor would use an `UnboundedSender` to send things to
the `RawCellStream`, in order that the reactor wouldn't block if you
failed to read from the latter. This is bad, though, since it means
people can just run us out of memory by sending lots of things.

To fix this, we make the new `StreamReader` type (which does the reading
parts from `RawCellStream`) keep track of the stream's receive window
and issue SENDMEs once *it* has consumed enough data to require it, thus
meaning that we shouldn't get sent enough data to fill the channel
between reactor and `StreamReader` (and, if we do, that's someone trying
to flood us, and we abort the circuit).

As hinted to above, the `RawCellStream` was removed and its reading
functionalities replaced by `StreamReader`; its writing functionalities
are handled by `StreamTarget` anyway, so we just give out one of those
for the write end. This now means we don't need any mutexes!

note: this commit introduces a known issue, arti#230
</content>
</entry>
</feed>
