<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/tunnel/reactor, branch arti-v1.4.1</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.1</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-02-26T11:25:44Z</updated>
<entry>
<title>tor-proto: Add _mut suffix to functions returning mutable circs.</title>
<updated>2025-02-26T11:25:44Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-26T11:24:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6d39a4a6f56905d1fb982d1d494a3f01536436ce'/>
<id>urn:sha1:6d39a4a6f56905d1fb982d1d494a3f01536436ce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Add TODO about removing CtrlMsg::SendSendme.</title>
<updated>2025-02-26T11:21:00Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-26T11:20:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ae11f4ce371da77560a558b9b7dafb922f3320c0'/>
<id>urn:sha1:ae11f4ce371da77560a558b9b7dafb922f3320c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Make the reactor shut down when all the legs close.</title>
<updated>2025-02-26T11:12:05Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-26T11:12:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9ab6638829629e9162ceb490d0fa49d12d7b7da4'/>
<id>urn:sha1:9ab6638829629e9162ceb490d0fa49d12d7b7da4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Rename Circuit variable to circ.</title>
<updated>2025-02-26T11:01:12Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-26T11:01:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b4ba338dced3144eae6b90ee9bbac18e04fff4ca'/>
<id>urn:sha1:b4ba338dced3144eae6b90ee9bbac18e04fff4ca</id>
<content type='text'>
It used to be a Reactor, but the `reactor` variable name no longer makes
sense.
</content>
</entry>
<entry>
<title>tor-proto: Avoid using Reactor in the circuit extender.</title>
<updated>2025-02-26T10:59:27Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-26T10:59:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=838fe06848b4e3d287dd6e446216c801e909f229'/>
<id>urn:sha1:838fe06848b4e3d287dd6e446216c801e909f229</id>
<content type='text'>
This helps us get rid of some unnecessary error handling.

Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2804#note_3165058
</content>
</entry>
<entry>
<title>tor-proto: Forbid CtrlMsg::Extend* on multipath tunnels.</title>
<updated>2025-02-25T11:19:18Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-25T11:19:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=df2777f41bac175f7693a3c17069a4d4c39f4974'/>
<id>urn:sha1:df2777f41bac175f7693a3c17069a4d4c39f4974</id>
<content type='text'>
We definitely don't want to ever allow this.
</content>
</entry>
<entry>
<title>tor-proto: Avoid panicking on double CtrlMsg::Create.</title>
<updated>2025-02-25T11:14:57Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-25T11:10:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3d32f94cb992664dfb97dab0b792da6126282720'/>
<id>urn:sha1:3d32f94cb992664dfb97dab0b792da6126282720</id>
<content type='text'>
Previously, sending two `CtrlMsg::Create` to the reactor would cause it
to panic. This makes it so that the double `Create` just leads to the
caller receiving an error response via the completion channel.

Note: this was not triggerable via the network, only via the tor-proto
API. Moreover, the panic was unreachable from the public client API,
because the `PendingClientCirc`/`ClientCirc` typestate makes it
impossible to send a second `Create` (the `PendingClientCirc` becomes
`ClientCirc` after the `Create` completes, and `PendingClientCirc`
doesn't have an API for sending `Create` control messages to the
reactor).
</content>
</entry>
<entry>
<title>tor-proto: Add some more conflux-related TODOs.</title>
<updated>2025-02-25T11:14:57Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-20T17:23:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d12a9a18fa41984ba16199c5c850e0effdaf89c4'/>
<id>urn:sha1:d12a9a18fa41984ba16199c5c850e0effdaf89c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Use a ConfluxSet in the circuit reactor.</title>
<updated>2025-02-25T11:14:57Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-12T12:04:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=84266aca8fc1ebfec6f618af5ce7415e10f084a1'/>
<id>urn:sha1:84266aca8fc1ebfec6f618af5ce7415e10f084a1</id>
<content type='text'>
This is the first step toward supporting traffic splitting in the
circuit reactor.

While the logic has changed slightly to support handling circuits
instead of just one, the reactor still only supports `ConfluxSet`s of
size 1, so this should effectively be a no-op. In the future, this code
will be extended to support the conflux-specific cells and to implement
the conflux proto.

The code uses `ConfluxSet::primary_leg()` and `ConfluxSet::single_leg()`
somewhat interchangeably. This is not *currently* a problem
because`primary_leg()` is the same as `single_leg()` for single path
tunnels, but we will need to adjust some of these call sites when we add
support for multipath tunnels (I have left a `TODO(conflux)` for every
dubious call site).

This commit also makes `CtrlMsg::FirstHopClockSkew` fallible: if the
reactor is multipath, it will return `Err(Bug(..))` to the caller (this
error is returned to the caller over the `answer` channel; it does *not*
shut down the reactor)
</content>
</entry>
<entry>
<title>tor-proto: Add a ConfluxSet type.</title>
<updated>2025-02-25T10:51:40Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-12T12:04:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5096a0f90533fe4f0824b9e6e1c18b4778466624'/>
<id>urn:sha1:5096a0f90533fe4f0824b9e6e1c18b4778466624</id>
<content type='text'>
</content>
</entry>
</feed>
