<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cell/src/relaycell/extend.rs, branch arti-v1.7.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.7.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.7.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-07T15:28:36Z</updated>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
First, run

```
git grep -l "^edition =" |
    xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```

Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.

Third, run cargo fmt again.
</content>
</entry>
<entry>
<title>tor-cell: Check strictly-ascending property more efficiently</title>
<updated>2025-08-06T00:44:46Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T00:44:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ab75b509ffdbb2e826ad14c04d65894d8be17b43'/>
<id>urn:sha1:ab75b509ffdbb2e826ad14c04d65894d8be17b43</id>
<content type='text'>
I had been planning to use `[]::is_sorted` here, once we had
MSRV &gt;= 1.82, but it turns out that we wanted strictly ascending
sequence, whereas `is_sorted` checks for a non-descreasing sequence.
</content>
</entry>
<entry>
<title>cell: Teach extlist definition macro to make conditional extensions</title>
<updated>2025-05-07T12:44:59Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-05-01T14:01:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=747938fc2a478163d872b16ad2ec554609ecbd50'/>
<id>urn:sha1:747938fc2a478163d872b16ad2ec554609ecbd50</id>
<content type='text'>
We need the macro to propagate only certain #[meta] values
to all places where a case is used.
</content>
</entry>
<entry>
<title>cell: Implement SubprotocolRequest extension from prop346.</title>
<updated>2025-05-07T12:44:59Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-30T18:50:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3d797b598300b297e86ab50be5b8fef45c74044b'/>
<id>urn:sha1:3d797b598300b297e86ab50be5b8fef45c74044b</id>
<content type='text'>
Part of #1945.
</content>
</entry>
<entry>
<title>cell: Unify HS-ntor and ntor-v3 extensions.</title>
<updated>2025-05-07T12:44:59Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-30T17:43:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ac9ed4d14de91a9a5a74ac55f8341e4f866d9a89'/>
<id>urn:sha1:ac9ed4d14de91a9a5a74ac55f8341e4f866d9a89</id>
<content type='text'>
Implements proposal 358.

Closes #1946.
</content>
</entry>
<entry>
<title>cell,proto: Split request/response extensions into seprate types</title>
<updated>2025-05-07T12:44:59Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-30T17:27:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ff9c3478d2aac678e4ad27712fd65b1ce296d423'/>
<id>urn:sha1:ff9c3478d2aac678e4ad27712fd65b1ce296d423</id>
<content type='text'>
Implements part of proposal 358.
</content>
</entry>
<entry>
<title>cell: Use ExtList to implement CircRequestExt.</title>
<updated>2025-05-07T12:42:55Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-30T17:08:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=21c657158b10b56f70a99332240751067405dd9d'/>
<id>urn:sha1:21c657158b10b56f70a99332240751067405dd9d</id>
<content type='text'>
This required some renaming, so that the types and their codes matched.
</content>
</entry>
<entry>
<title>Rename NtorV3Extension to CircRequestExt</title>
<updated>2025-05-07T12:41:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-30T16:05:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=70aab0213f42b14ff8dfa02c22a2cf615709ed9c'/>
<id>urn:sha1:70aab0213f42b14ff8dfa02c22a2cf615709ed9c</id>
<content type='text'>
This type will, because of prop358, be shared by ntorv3,
hs-ntor, and probably other future handshakes.

There will also be a CircResponseExt type.
</content>
</entry>
<entry>
<title>NtorV3Extension set encoding/decoding: include n_extensions</title>
<updated>2023-12-07T15:45:45Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-11-29T15:55:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cea4c505d8088f91cbe6b2884a9d54acafd80081'/>
<id>urn:sha1:cea4c505d8088f91cbe6b2884a9d54acafd80081</id>
<content type='text'>
An encoded set of extensions in the ntorv3 handshake includes a header
with the number of extensions. This change adds that header.

It also changes `write_many_onto` to take a slice instead of an
iterator, since we need to know the number of extensions up-front. In
principle we could take a clonable iterator instead and use
Iterator::count, but it's probably not worth the extra complexity.
</content>
</entry>
<entry>
<title>Change tor_bytes::Error::BadMessage to a Cow.</title>
<updated>2023-02-09T15:20:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-08T13:51:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=48ab7b0463aaada172a426ad4b20a63d7f44cb84'/>
<id>urn:sha1:48ab7b0463aaada172a426ad4b20a63d7f44cb84</id>
<content type='text'>
Actually, to avoid making a breaking change, I'm deprecating
BadMessage and creating a new InvalidMessage variant that takes a
Cow.  This way I don't need to track every crate that re-exposes
tor_bytes::Error and call this a breaking change in those.

Making this change will allow tor_bytes errors to be much more
helpful.
</content>
</entry>
</feed>
