<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cell/src/relaycell/udp.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>2025-04-16T14:58:49Z</updated>
<entry>
<title>cell, proto: Use correct Data sizes for v1 relay cells</title>
<updated>2025-04-16T14:58:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-11T01:57:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=497e5f1acd27c2c316c3f5bbf7158c9516fef159'/>
<id>urn:sha1:497e5f1acd27c2c316c3f5bbf7158c9516fef159</id>
<content type='text'>
Since v1 cells have a longer tag, they can fit less data into a
single cell.  Ah well, that's the cost of improved security.

The code in data.rs is a little wonky, in that it currently requires
its buffer to be exactly the maximum size for a data cell.  We have
a TODO about fixing that in the future, but for now I've moved it to
use a boxed slice rather than a boxed array.

Part of #1944.
</content>
</entry>
<entry>
<title>Note some places where we need updates for #1944.</title>
<updated>2025-04-16T14:58:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-09T16:35:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=015b39ffe90b652c25cd9c932899bf017c4e740d'/>
<id>urn:sha1:015b39ffe90b652c25cd9c932899bf017c4e740d</id>
<content type='text'>
(Also note a couple of other CGO-related issues)
</content>
</entry>
<entry>
<title>Some HasMemoryCost impls in tor-cell</title>
<updated>2024-10-02T18:11:26Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-09-23T10:51:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=23550d1b0ec0241acdd9b336b41d817eddff59f4'/>
<id>urn:sha1:23550d1b0ec0241acdd9b336b41d817eddff59f4</id>
<content type='text'>
</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>
<entry>
<title>tor-cell: Have restrict_msg add conversion functions.</title>
<updated>2023-02-09T15:20:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-07T22:35:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e832cbd29c2a81449e097961a86b6ef75db3dfc3'/>
<id>urn:sha1:e832cbd29c2a81449e097961a86b6ef75db3dfc3</id>
<content type='text'>
Every FooMsg type now implements Into&lt;AnyFooMsg&gt;, and
TryFrom&lt;FooMsg&gt;.

Additionally, it now implements From&lt;X&gt; for every distinct type that
it supports.  This last part lets us discard a bunch of code.

Unfortunately, I needed some downright hackish trickery in order to
get these macros to avoid generating `From&lt;AnyFooMsg&gt; for AnyFooMsg`
and conflicting with the blanket implementation.

The trickery to deal with RelayEarly and Relay being the same type
was not necessarily worth it; I will be separating them and removing
said trickery in the next commit.
</content>
</entry>
<entry>
<title>tor-cell: Rename RelayMsg and RelayCell-related  types.</title>
<updated>2023-02-07T21:03:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-07T14:18:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d63d7926bd5e94f4129dd1a44e696728125a6c4a'/>
<id>urn:sha1:d63d7926bd5e94f4129dd1a44e696728125a6c4a</id>
<content type='text'>
Thanks to rust-analyzer for making this simple.
</content>
</entry>
<entry>
<title>tor-cell: Make Body and MsgClass traits more uniform.</title>
<updated>2023-02-07T21:03:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-06T16:58:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=afd5232430578f47a242cd33d1efaebae9a4a117'/>
<id>urn:sha1:afd5232430578f47a242cd33d1efaebae9a4a117</id>
<content type='text'>
Doing this will make it much easier to implement a macro that
generates restricted instances of the Msg types (for #525).

The Body change is a breaking change.  I don't think anybody else
implements Body, but in theory they could.
</content>
</entry>
<entry>
<title>tor-cell: Stop using write_infallible</title>
<updated>2022-07-11T15:18:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-09T18:21:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=44314f5076fae075101a8c0cba9de0e7214b5fff'/>
<id>urn:sha1:44314f5076fae075101a8c0cba9de0e7214b5fff</id>
<content type='text'>
Also, stop using "expect" and "assert!" to check for errors.
</content>
</entry>
<entry>
<title>tor-cell: Make encoding method signatures fallible.</title>
<updated>2022-07-11T15:18:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-09T17:15:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a0a88643f8a6972d2664ea4268d21d596d0e3c56'/>
<id>urn:sha1:a0a88643f8a6972d2664ea4268d21d596d0e3c56</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Convert each write_onto_infallible implementation into write_onto.</title>
<updated>2022-07-11T15:18:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-08T15:37:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8810af7f6522d43408e30d04d21c4ec6102d73b3'/>
<id>urn:sha1:8810af7f6522d43408e30d04d21c4ec6102d73b3</id>
<content type='text'>
</content>
</entry>
</feed>
