<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-bytes, branch tor-llcrypto-v0.4.4</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=tor-llcrypto-v0.4.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=tor-llcrypto-v0.4.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-03-31T12:24:39Z</updated>
<entry>
<title>Bump patchlevel on crates with non-breaking changes</title>
<updated>2023-03-31T12:24:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-31T12:24:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a81ab391ae9cc3b48cf08cf1b911f1b4cfa8be76'/>
<id>urn:sha1:a81ab391ae9cc3b48cf08cf1b911f1b4cfa8be76</id>
<content type='text'>
For these crates, the changes are nontrivial, so we
_do_ bump the versions on which their dependent crates depend.

Fortunately, since they are all pre-1.0, we don't need to
distinguish semver-additions from other changes.  (Except for arti,
which _is_ post-1.0, but gets a patchlevel bump anyway.)

These are unstable crates with breaking changes:

```
tor-hscrypto
tor-hsclient
```

These have new or extended APIs:

```
safelog
tor-bytes
tor-cell
tor-linkspec
tor-llcrypto
tor-proto
tor-cert
arti-client
```

These have new unstable APIs or features:
```
tor-netdoc
tor-circmgr (also broke some unstable APIs)
arti (is post-1.0)
```

These have bugfixes only:
```
caret
tor-dirmgr
```
</content>
</entry>
<entry>
<title>Serval rustdoc link fixes.</title>
<updated>2023-03-08T19:21:33Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-07T12:48:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7da5d7a8d7df3428b89d0fcf6f3bef1a4850db61'/>
<id>urn:sha1:7da5d7a8d7df3428b89d0fcf6f3bef1a4850db61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-bytes: Add take_rest and read_nested_* to fuzzer.</title>
<updated>2023-03-06T17:39:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-06T17:39:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9cc09f97a9df01e4a7ac48f42a1bcce5d4d80310'/>
<id>urn:sha1:9cc09f97a9df01e4a7ac48f42a1bcce5d4d80310</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-bytes: defend against misuse of extract_n().</title>
<updated>2023-03-06T17:33:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-06T17:33:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dab21bc6243a382e1881fe05e561686bf6c474a9'/>
<id>urn:sha1:dab21bc6243a382e1881fe05e561686bf6c474a9</id>
<content type='text'>
Previously, if somebody wrote this code, an attacker could easily
use it to cause an OOM panic:

```
let n = r.take_u64();
let items: Vec&lt;Foo&gt; = r.extract_n(n as usize)?;
```

The first line of defense here is not to write protocols like that:
we don't actually _have_ any 32-bit counters in our protocol
AFAICT.

The second line of defense is to pre-check `n` for reasonableness
before calling `extract_n`.

Here we add a third line of defense: whereas previously we would do
`Vec::with_capacity(n)` in `extract_n`, we now allocate an initial
capacity of `min(n, r.remaining())`.  This ensures that the size of
the allocation can't exceed the remaining length of the message,
which (for our cell types at least) should prevent it from
overflowing or running OOM.
</content>
</entry>
<entry>
<title>tor-bytes: Clarify that Cursor is not a good thing, and could be neater.</title>
<updated>2023-03-01T16:21:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-01T16:21:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b36082255b47330dd1bc3b615c320869cc9bd76d'/>
<id>urn:sha1:b36082255b47330dd1bc3b615c320869cc9bd76d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>clarify results of misusing cursors</title>
<updated>2023-03-01T15:57:14Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2023-03-01T15:57:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bab32c603844683352a230aa4c312a851262c54b'/>
<id>urn:sha1:bab32c603844683352a230aa4c312a851262c54b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-bytes: impl Readable and Writeable for CtByteArray.</title>
<updated>2023-02-28T16:23:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-28T14:43:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0f88c5131f26f6f56aa0878c44127f232bd652dd'/>
<id>urn:sha1:0f88c5131f26f6f56aa0878c44127f232bd652dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-bytes: Add cursor functionality to Reader</title>
<updated>2023-02-28T16:23:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-27T19:33:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0bf1ae70ba06b512c63f73b84d1b357baa4a65d9'/>
<id>urn:sha1:0bf1ae70ba06b512c63f73b84d1b357baa4a65d9</id>
<content type='text'>
We'll use this to implement signature and MAC checking for
EstablishIntro cells.
</content>
</entry>
<entry>
<title>Remove semver.md files now that 1.1.2 is out.</title>
<updated>2023-02-28T15:06:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-28T15:06:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=886faa96b3c0e42ba066ddc5de73209b10ce58da'/>
<id>urn:sha1:886faa96b3c0e42ba066ddc5de73209b10ce58da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Patchlevel bumps for remaining changed crates.</title>
<updated>2023-02-28T12:13:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-28T12:13:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f41449d0bd9a2db5f72dd9941fb897e5cd9b922d'/>
<id>urn:sha1:f41449d0bd9a2db5f72dd9941fb897e5cd9b922d</id>
<content type='text'>
These crates have had small code changes, but no API additions:

tor-config
tor-socksproto
tor-cert
tor-chanmgr
tor-ptmgr
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
arti
tor-hsservice
tor-congestion

These crates have had API extensions:

fs-mistrust
tor-llcrypto
tor-bytes
tor-checkable
tor-linkspec
tor-netdoc
tor-persist
arti-client
</content>
</entry>
</feed>
