<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cell/src, branch arti-v2.1.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.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-02-16T15:22:24Z</updated>
<entry>
<title>Allow clippy::collapsible_if to trigger</title>
<updated>2026-02-16T15:22:24Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-09T11:49:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ade1d59e8e44c93b6ee447b72a2948a9652ec44e'/>
<id>urn:sha1:ade1d59e8e44c93b6ee447b72a2948a9652ec44e</id>
<content type='text'>
`clippy::collapsible_if` started triggering after bumping the MSRV to
1.88.

Since this triggers from a lot of places, and since there even are a
couple of instances where we explicitly allow `clippy::collapsible_ifs`,
I've opened #2342 for deciding what to do about it.
</content>
</entry>
<entry>
<title>proto: Implement a Canonicity struct</title>
<updated>2026-02-12T16:11:07Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-02-10T19:04:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a2a06e96313d4833bf173a8c71f989e4f2016ef9'/>
<id>urn:sha1:a2a06e96313d4833bf173a8c71f989e4f2016ef9</id>
<content type='text'>
This struct will be put in a Channel and derived from the received
NETINFO cell.

This follows the C-tor implementation for which we have two indicator of
canonicity:

1. Peer is canonical: the address they advertise in the NETINFO cell
   matches the one we see on the TCP connection.

2. Canonical to peer: the peer sees us as canonical.

Those flag will get used to select "the best" channel.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>cell: Add an accessor for the linkspecs of an EXTEND2</title>
<updated>2026-02-05T16:00:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-28T18:58:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=714a3171665588ff42c8d50d385883e8e705c362'/>
<id>urn:sha1:714a3171665588ff42c8d50d385883e8e705c362</id>
<content type='text'>
</content>
</entry>
<entry>
<title>maint/add_warning: Run script to add new warning</title>
<updated>2026-01-27T18:05:36Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-27T18:05:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a98faf72eb06b47700faeeac5a8a0dd0fc29b584'/>
<id>urn:sha1:a98faf72eb06b47700faeeac5a8a0dd0fc29b584</id>
<content type='text'>
This adds the lint to all our crates.
</content>
</entry>
<entry>
<title>proto: Authenticate a relay channel</title>
<updated>2026-01-22T16:16:44Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-01-15T16:23:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=33e82e5a3a03e7d0a91d018b5e2d68edaf1c8441'/>
<id>urn:sha1:33e82e5a3a03e7d0a91d018b5e2d68edaf1c8441</id>
<content type='text'>
This commit is a bit loaded but it is coherent.

First, we set Eq and PartialEq to the channel message Authenticate so we
can compare it with the one we expected.

Second, the AuthenticationCell enum is introduced to store either an
AUTH_CHALLENGE or an AUTHENTICATE since one side of the handshake can
only have one. This allows us to store one or the other in
UnverifiedRelayChannel.

Depending on what we have, the authentication process is different as it
dictates which side we are on (initiator vs responder). Keep in mind
that the handshake code enforces receiving a AUTH_CHALLENGE along side
CERTS. And same goes for AUTHENTICATE which means that if we have an
AUTH_CHALLENGE in the UnverifiedRelayChannel, it is certain that the
other side wants to authenticate and we are the initiator.

Finally, the sending of CERTS and AUTHENTICATE by the initiator is now
in UnverifiedRelayChannel::check() done right after verifying the
channel CERTS and holding a "VerifiedChannel" object.

This means that the last piece, sending the `NETINFO` by the initiator
will be done in the check() but in a future commit. This leaves the
VerifiableChannel::finish() to send nothing and only finalize the
channel with the NETINFO (canonicity).

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>Remove unnecessary `doc(cfg(...))` attributes</title>
<updated>2025-12-05T02:40:50Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2025-11-01T23:25:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=26b40cb08b6b715ee80e2b9084810e07512a85c6'/>
<id>urn:sha1:26b40cb08b6b715ee80e2b9084810e07512a85c6</id>
<content type='text'>
Fixes part of #2193.

(Edits from nickm: I selected the cases here that I could verify
were correct from immediate context.)

Edited-by: Nick Mathewson &lt;nickm@torproject.org&gt;
</content>
</entry>
<entry>
<title>cell: Add missing docs to internal macro</title>
<updated>2025-12-01T10:48:14Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-12-01T10:48:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=126cbe96fbaf2b9ee180b927b9facb0b116bb3e7'/>
<id>urn:sha1:126cbe96fbaf2b9ee180b927b9facb0b116bb3e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'bug2172' into 'main'</title>
<updated>2025-11-24T15:09:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-11-24T15:09:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bc7eba2f2418ed31ddabe2f957786685d73abbda'/>
<id>urn:sha1:bc7eba2f2418ed31ddabe2f957786685d73abbda</id>
<content type='text'>
tor-llcrypto: Stop deriving Deref in CtByteArray

Closes #2172

See merge request tpo/core/arti!3432</content>
</entry>
<entry>
<title>tor-llcrypto: Stop deriving Deref in CtByteArray</title>
<updated>2025-11-24T15:08:59Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2025-11-24T15:08:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dbd5bb8ba1f4e7903685c638766d73ba6cb07b06'/>
<id>urn:sha1:dbd5bb8ba1f4e7903685c638766d73ba6cb07b06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix name of clippy lint to unchecked_time_subtraction (2)</title>
<updated>2025-11-06T11:28:22Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-11-06T11:23:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff'/>
<id>urn:sha1:a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff</id>
<content type='text'>
Run maint/add_warning
</content>
</entry>
</feed>
