<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/examples/gsoc2023, branch arti-v1.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-v1.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-18T16:09:04Z</updated>
<entry>
<title>proto: Move the `stream` module under `client` (breaking).</title>
<updated>2025-08-18T16:09:04Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-08-18T15:52:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=702e7276898d3f31e22033c5b64fea91703f3701'/>
<id>urn:sha1:702e7276898d3f31e22033c5b64fea91703f3701</id>
<content type='text'>
The `stream` module is client-specific, for the most part, so I am
moving it under `client`. Later on, we will factor out the parts that
can be shared with the relay implementation.

Note: this is a breaking change as the deleted `stream` module was
`pub`. We could've kept the module and reexported from it the public
types from `tor_proto::client::stream`, but I think it's better to have
this `client` namespacing, because it makes the separation between the
client and relay parts clearer.
</content>
</entry>
<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>obfs4-checker: do not enable tor-proto/experimental.</title>
<updated>2025-08-06T15:55:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T15:55:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a2d06cf94f2d09077bb86f1b7b62e7e22c4a34f1'/>
<id>urn:sha1:a2d06cf94f2d09077bb86f1b7b62e7e22c4a34f1</id>
<content type='text'>
1. In general, it is always wrong to unconditionally depend on
   "experimental".  Instead, a crate should depend on the particular
   experimental features it needs (if any).

2. obfs4-checker does not appear to need tor-proto/experimental
   any longer.
</content>
</entry>
<entry>
<title>proto: abolish path_ref() in favor of all_paths().</title>
<updated>2025-08-05T18:23:02Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-07-18T17:28:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2610fe21fc394f4cdb6cd1a91ba9d2ad72aadb01'/>
<id>urn:sha1:2610fe21fc394f4cdb6cd1a91ba9d2ad72aadb01</id>
<content type='text'>
Until now, we've been using `ClientCirc::path_ref()` to get the *only*
path of a circuit. Now that `ClientCirc` is a handle to a tunnel reactor
(which may or may not be multi-path), we need to decide for each call
site of `path_ref()`, if we actually want *all* paths in the tunnel, or
if we expect the tunnel to be single-path and thus want the *only* path
in the tunnel.

I've added two new APIs to address this: `all_paths()`, for getting all
the paths in the tunnel, and `single_path()` for getting the only path
in the tunnel, or an error if the tunnel is single-path.
</content>
</entry>
<entry>
<title>arti-client: Use the new Tunnel interface</title>
<updated>2025-08-05T18:23:02Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-06-17T19:35:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=46bdd7b8e049aeb479cdae4571d650555e2fc1ff'/>
<id>urn:sha1:46bdd7b8e049aeb479cdae4571d650555e2fc1ff</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>Typo fixes (automatic and hand-verified)</title>
<updated>2025-07-09T16:27:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-07-09T16:27:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fd24caa9959a4e9a04ad10cc047975b8566a884b'/>
<id>urn:sha1:fd24caa9959a4e9a04ad10cc047975b8566a884b</id>
<content type='text'>
Made with https://crates.io/crates/typos-cli
</content>
</entry>
<entry>
<title>examples, fixup-features: use inline vars in format string</title>
<updated>2025-05-29T14:21:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-05-21T14:04:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9c7fe185eac90b75ce3c0d4c58be53e7882e4025'/>
<id>urn:sha1:9c7fe185eac90b75ce3c0d4c58be53e7882e4025</id>
<content type='text'>
Nightly clippy now suggests this.
</content>
</entry>
<entry>
<title>./maint/cargo_sort: Run cargo-sort on the entire workspace.</title>
<updated>2025-05-27T13:32:26Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-05-23T13:54:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=03885fdbf4ea19b9215e05cc557372758359f44d'/>
<id>urn:sha1:03885fdbf4ea19b9215e05cc557372758359f44d</id>
<content type='text'>
The [latest version] of `cargo-sort` is more opinionated than the
previous one, and is now causing the `rust-checks` job to fail on
`main`.

This commit applies the fixes needed to satisfy the new `cargo-sort`
rules. These changes were generated by running `cargo sort --workspace`
several times, until `cargo sort --check --workspace` finally succeeded
(it couldn't fix all the errors in one go, for some reason).

I have omitted the changes `cargo-sort` made to the top-level
`Cargo.toml`, to preserve the topological ordering of the workspace
members.

Closes #2014

[latest version]: https://github.com/DevinR528/cargo-sort/blob/f066ae80e5e6f5c1d8f0e2b8099461dcb97d9656/changelog.md#200
</content>
</entry>
<entry>
<title>tor-proto: Update the TunnelMutableState when a circuit is removed.</title>
<updated>2025-05-15T16:33:33Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-05-09T17:21:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=52c01e2e51206510ae6709a7c456d4af2ab466af'/>
<id>urn:sha1:52c01e2e51206510ae6709a7c456d4af2ab466af</id>
<content type='text'>
This is messy, because `ClientCirc::{path_ref, n_hops, ..}` become
fallible (we can't unwrap the result, because when a circuit is closed,
its state gets removed from the `TunnelSharedState`, but its
`ClientCirc` handle continues to exist, so any attempt to retrieve the
state will result in an `Err`).
</content>
</entry>
<entry>
<title>tor-proto: Remove deprecated DataStream API.</title>
<updated>2025-02-13T17:51:00Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-02-13T17:33:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d478e5e7d368773a5198a5bbe4d6d4ba7bb0da04'/>
<id>urn:sha1:d478e5e7d368773a5198a5bbe4d6d4ba7bb0da04</id>
<content type='text'>
Reducing `ClientCirc` proliferation will make our lives easier when
implementing !2790.
</content>
</entry>
</feed>
