<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-relay, branch arti-v2.5.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.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-06-30T15:30:57Z</updated>
<entry>
<title>Merge branch 'version-bumps'</title>
<updated>2026-06-30T15:30:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-06-30T15:30:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e1f077b83d9a815afd01c546842d087be1debf2d'/>
<id>urn:sha1:e1f077b83d9a815afd01c546842d087be1debf2d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Version bumps for 2.5.0</title>
<updated>2026-06-30T13:42:13Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-06-30T13:42:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=245b03f5a48b4e58f8c84f072920160fc87be500'/>
<id>urn:sha1:245b03f5a48b4e58f8c84f072920160fc87be500</id>
<content type='text'>
Closes #2617.

We've lucked out this time, and it turns out that every one of our
published crates gets a minor bump.  So this was generated with:

```
for cr in $(./maint/list-crates); do
   cargo set-version -p $cr --bump minor
done
```
</content>
</entry>
<entry>
<title>Run cargo sort in arti-relay.</title>
<updated>2026-06-30T12:35:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-06-30T12:35:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4614b1a8211bbc408bce0d59468ae6f67c167719'/>
<id>urn:sha1:4614b1a8211bbc408bce0d59468ae6f67c167719</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti-relay: Make "metrics" experimental</title>
<updated>2026-06-30T12:03:50Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-06-30T12:03:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=89be886e6a56a3e49e4257c90674762c5ebf795b'/>
<id>urn:sha1:89be886e6a56a3e49e4257c90674762c5ebf795b</id>
<content type='text'>
It was both in "metrics" and in "experimental"; I think the latter
was intended.
</content>
</entry>
<entry>
<title>Run "fixup-features".</title>
<updated>2026-06-30T12:03:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-06-30T12:03:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b9c7db0e3a3d3008a9413edd59cde3d805719ac9'/>
<id>urn:sha1:b9c7db0e3a3d3008a9413edd59cde3d805719ac9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti-relay: Link IncomingStreamRequestFilter in RequestFilter</title>
<updated>2026-06-29T13:52:57Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-25T18:00:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1e91ba20bf4a62e8b20d379e89231ff105e33414'/>
<id>urn:sha1:1e91ba20bf4a62e8b20d379e89231ff105e33414</id>
<content type='text'>
Suggested by opara in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4145#note_3430815
</content>
</entry>
<entry>
<title>proto: Pass an IncomingStreamRequestFilter factory to the create handler</title>
<updated>2026-06-29T13:52:56Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-12T11:06:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6b1881af1785c61022a320c40399406e0682d37a'/>
<id>urn:sha1:6b1881af1785c61022a320c40399406e0682d37a</id>
<content type='text'>
This implements what we discussed in
`doc/dev/notes/relay-streams.md` (lines 218-234):

&gt; Currently, to allow incoming stream requests on a circuit,
&gt; you first need to call `RelayCirc::allow_stream_requests()`
&gt; to install a `CmdChecker` and `IncomingStreamRequestFilter`.
&gt; This is not ideal, because `allow_stream_requests()` will need to be
&gt; called unconditionally, on each `RelayCirc`,
&gt; right after it's created in the `CreateHandler` impl
&gt; (which in turn, would mean making `handle_create()` async too,
&gt; because `allow_stream_requests()` is async, which wouldn't be great).
&gt;
&gt; So, the first step here is to rework the `RelayCirc` API to make relay circuits
&gt; be constructable with a list of allowed `RelayCmd`s and `IncomingStreamRequestFilter`
&gt; from the get-go ([#2582]), and to get rid of `allow_stream_requests()`,
&gt; which will enable the `CREATE*` handler to remain non-`async`.
&gt;
&gt; In any case, the `CREATE*` handler will still require some changes,
&gt; because it needs to be initialized with an `IncomingStreamRequestFilter`,

I am not sure using an `IncomingStreamRequestFilter` "factory" is
necessarily the right approach here, but the circuit `Reactor`'s
constructor needs to take an `IncomingStreamRequestFilter`, and
`IncomingStreamRequestFilter` is not `Clone` (and FWIW, I think it's
better if we don't make it `Clone`).

One obvious limitation is that the `IncomingStreamRequestFilter` of the
circuit reactor is fixed for the entire lifetime of the circuit.
In practice, I don't think this is going to be a problem,
because the arti-relay `IncomingStreamRequestFilter` is only going
be used for

  * preventing single-hop exit streams
  * per-circuit rate-limiting.

Both of these checks will require the filter to have access to a recent
`NetDir`, which is straightforward if the filter has an Arc&lt;dyn
NetDirProvider&gt; (as mentioned in doc/dev/notes/relay-streams.md,
`NetDirProvider` has a handy non-async `timely_netdir()` function we can
use). And since these checks are based on consensus params, we don't
really need to ever update an already-built circuit with a new
`IncomingStreamRequestFilter` (because all `IncomingStreamRequestFilter`
will have the ability to obtain a fresh `NetDir` as needed).

Nevertheless, I left a TODO about this, because I expect this type to
change once we figure out all the other pieces needed for #1448.
</content>
</entry>
<entry>
<title>arti-relay: Add an unimplemented stream request filter</title>
<updated>2026-06-29T13:50:49Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-12T10:50:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c474f42085b70d54de5eda4f298d6be0731fabf3'/>
<id>urn:sha1:c474f42085b70d54de5eda4f298d6be0731fabf3</id>
<content type='text'>
This is currently just a placeholder that accepts all stream requests.

It will be fleshed out later, as part of #1448
</content>
</entry>
<entry>
<title>Bump MSRV to 1.91</title>
<updated>2026-06-15T13:18:11Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-06-15T12:59:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e93e0e2f9f42f526a8e1aa64e6ea659ef31dd800'/>
<id>urn:sha1:e93e0e2f9f42f526a8e1aa64e6ea659ef31dd800</id>
<content type='text'>
This commit bumps the MSRV to 1.91 which was released on 2025-10-30.

The Cargo.toml files were updated as follows:
```sh
git ls-files | \
    grep ".*Cargo\.toml$" | \
    xargs sed -i '' 's/^rust-version = "1\.89"$/rust-version = "1\.91"/g'
```

The following files were updated manually:
```
	modified:   .gitlab-ci.yml
	modified:   README.md
	modified:   flake.nix
	modified:   maint/docker-android/Dockerfile
```
</content>
</entry>
<entry>
<title>Merge branch 'clippy-string-slice' into 'main'</title>
<updated>2026-06-10T12:44:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-06-10T12:44:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0400288b1f65ca489a6d27f357331618e132eb1c'/>
<id>urn:sha1:0400288b1f65ca489a6d27f357331618e132eb1c</id>
<content type='text'>
Lint for clippy::string_slice

See merge request tpo/core/arti!4086</content>
</entry>
</feed>
