<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-chanmgr/src/mgr.rs, branch arti-v2.4.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-05-04T15:02:41Z</updated>
<entry>
<title>tor-chanmgr: Notify waiters when a launch is cancelled</title>
<updated>2026-05-04T15:02:41Z</updated>
<author>
<name>Boris Nagaev</name>
<email>bnagaev@gmail.com</email>
</author>
<published>2026-05-04T03:03:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bd631e1bbbf0ea7f099d02216966c1f077b4fb90'/>
<id>urn:sha1:bd631e1bbbf0ea7f099d02216966c1f077b4fb90</id>
<content type='text'>
If a future that owns a pending channel launch is dropped after
publishing the pending entry, other waiters can see the oneshot sender
disappear and report "channel build task disappeared" as an
internal bug.

Fix this by tying pending-entry cleanup and waiter notification
together. Once we take responsibility for a pending launch, every exit
path now removes or upgrades the pending entry and notifies waiters with
the observed result. Cancellation reports RequestCancelled, while
post-build failures keep their original error instead of turning into
the internal bug or retrying the launch owner.

Add regression tests that cover both successive dropped launch-owner
futures and a failure while installing a newly built channel, so
waiters see the expected error in each case.
</content>
</entry>
<entry>
<title>relay: Pass advertise SocketAddr to channel builder instead of IpAddr</title>
<updated>2026-04-09T15:54:35Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-31T15:10:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8ab7b5b1ec1d89a2f2f66b63e14d6dba11393728'/>
<id>urn:sha1:8ab7b5b1ec1d89a2f2f66b63e14d6dba11393728</id>
<content type='text'>
This trickles down to the tor-proto channel handshake code. But, the
real need is in the channel builder in order to validate the outbound
channel target.

Fixes #2440

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Rename RelayIdentities to RelayChannelAuthMaterial</title>
<updated>2026-03-30T15:00:18Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-24T16:30:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2fc98dbd6953078f968300666dda7728d5dc99db'/>
<id>urn:sha1:2fc98dbd6953078f968300666dda7728d5dc99db</id>
<content type='text'>
This object contains a melting pot of public keys, private keys and
certificates.

Rename it to reflect that it is channel authentication material and not
"identities.

https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3791#note_3374454

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-proto: change channel selection fns to take `HasChanMethod`</title>
<updated>2026-02-25T16:48:46Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-02-25T16:48:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=93feaca16067238913aabc6d0068fdcbb96f71f8'/>
<id>urn:sha1:93feaca16067238913aabc6d0068fdcbb96f71f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chanmgr: Responder relay channel now use the builder my_addrs</title>
<updated>2026-02-24T21:02:35Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-24T18:10:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cf30a925f51cab7672b894f28c72f4fccd7716cc'/>
<id>urn:sha1:cf30a925f51cab7672b894f28c72f4fccd7716cc</id>
<content type='text'>
No need to pass from the arti relay binary our addresses when handling
an incoming channel, use the one in the channel builder that an
initiator channel uses.
</content>
</entry>
<entry>
<title>chanmgr: Store our relay addresses in the builder</title>
<updated>2026-02-24T21:02:33Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-24T17:58:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=790190252707cb5c763b7be7d97a3036aeeedac1'/>
<id>urn:sha1:790190252707cb5c763b7be7d97a3036aeeedac1</id>
<content type='text'>
We need those addresses when we build a relay channel in order to send
them into our NETINFO cell.

This adds the `with_my_addrs()` on the `ChanMgrConfig` object. Next
commit will make arti-relay use it.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>chanmgr: Add a set_relay_identities() to update the RelayIdentities</title>
<updated>2026-02-24T17:34:18Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-24T15:28:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=393a0624d7fa20bdb6d3faa856346475860158ce'/>
<id>urn:sha1:393a0624d7fa20bdb6d3faa856346475860158ce</id>
<content type='text'>
The arti-relay crate rotates the keys at regular interval which we need
to give to the ChanMgr to update its builder.

This function boldly replace the default factory with the new identities
including the TLS acceptor can pick up the new key.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'chan-target-addr' into 'main'</title>
<updated>2026-02-16T13:48:38Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-16T13:48:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e47a7281429cedbacf9fb2b985f35cffc38a11d3'/>
<id>urn:sha1:e47a7281429cedbacf9fb2b985f35cffc38a11d3</id>
<content type='text'>
tor-chanmgr: Add additional `get_or_launch()` tests and update doc comment

Closes #2344

See merge request tpo/core/arti!3676</content>
</entry>
<entry>
<title>Merge branch 'channel-canonical' into 'main'</title>
<updated>2026-02-12T16:44:37Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-12T16:44:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9306eeccc1284f6487372629b1b273cbbbd7d0f6'/>
<id>urn:sha1:9306eeccc1284f6487372629b1b273cbbbd7d0f6</id>
<content type='text'>
Implement channel canonicity

See merge request tpo/core/arti!3668</content>
</entry>
<entry>
<title>tor-chanmgr: add `get_or_launch()` tests using different addrs</title>
<updated>2026-02-12T16:29:06Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-02-11T00:17:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5a1c7fe2ebebad5d4910e1f9378822e746b06acb'/>
<id>urn:sha1:5a1c7fe2ebebad5d4910e1f9378822e746b06acb</id>
<content type='text'>
When there are two channel requests with the same identities and
different socket addresses, we return the same channel.
</content>
</entry>
</feed>
