<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-bytes, branch arti-v1.1.4</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-05-03T12:31:11Z</updated>
<entry>
<title>Increment crate versions.</title>
<updated>2023-05-03T12:31:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-03T12:31:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1904cfc8b9ca5dd0974dc39516a58a57226f123f'/>
<id>urn:sha1:1904cfc8b9ca5dd0974dc39516a58a57226f123f</id>
<content type='text'>
Because of the errorkind bumps, we're calling this a breaking change
in everything lower-level than `arti`.

Generated with:
```
cargo set-version -p tor-basic-utils --bump minor
cargo set-version -p tor-async-utils --bump minor
cargo set-version -p caret --bump minor
cargo set-version -p fs-mistrust --bump minor
cargo set-version -p safelog --bump minor
cargo set-version -p retry-error --bump minor
cargo set-version -p tor-error --bump minor
cargo set-version -p tor-config --bump minor
cargo set-version -p tor-events --bump minor
cargo set-version -p tor-units --bump minor
cargo set-version -p tor-rtcompat --bump minor
cargo set-version -p tor-rtmock --bump minor
cargo set-version -p tor-rpcbase --bump minor
cargo set-version -p tor-llcrypto --bump minor
cargo set-version -p tor-protover --bump minor
cargo set-version -p tor-bytes --bump minor
cargo set-version -p tor-hscrypto --bump minor
cargo set-version -p tor-socksproto --bump minor
cargo set-version -p tor-checkable --bump minor
cargo set-version -p tor-cert --bump minor
cargo set-version -p tor-linkspec --bump minor
cargo set-version -p tor-cell --bump minor
cargo set-version -p tor-proto --bump minor
cargo set-version -p tor-netdoc --bump minor
cargo set-version -p tor-consdiff --bump minor
cargo set-version -p tor-netdir --bump minor
cargo set-version -p tor-congestion --bump minor
cargo set-version -p tor-persist --bump minor
cargo set-version -p tor-chanmgr --bump minor
cargo set-version -p tor-ptmgr --bump minor
cargo set-version -p tor-guardmgr --bump minor
cargo set-version -p tor-circmgr --bump minor
cargo set-version -p tor-dirclient --bump minor
cargo set-version -p tor-dirmgr --bump minor
cargo set-version -p tor-hsclient --bump minor
cargo set-version -p tor-hsservice --bump minor
cargo set-version -p arti-client --bump minor
cargo set-version -p arti-rpcserver --bump minor
cargo set-version -p arti-config --bump minor
cargo set-version -p arti-hyper --bump minor

cargo set-version -p arti --bump patch
cargo set-version -p arti-bench --bump patch
cargo set-version -p arti-testing --bump patch
```
</content>
</entry>
<entry>
<title>Upgrade our hex-literal dependency</title>
<updated>2023-04-13T11:51:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-13T11:51:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4efb423947bd1650b57886f2d1aaa8df12e30ce0'/>
<id>urn:sha1:4efb423947bd1650b57886f2d1aaa8df12e30ce0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Increment MSRV to 1.65 in every crate.</title>
<updated>2023-04-11T19:31:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-11T19:31:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=104d64589db24187c56fd8c7b13fdd9202ecc120'/>
<id>urn:sha1:104d64589db24187c56fd8c7b13fdd9202ecc120</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove semver.md files.</title>
<updated>2023-03-31T13:24:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-31T13:24:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2ab5348ab2193bc3cf493626bbeff51778763597'/>
<id>urn:sha1:2ab5348ab2193bc3cf493626bbeff51778763597</id>
<content type='text'>
</content>
</entry>
<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>
</feed>
