<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-circmgr/src/path.rs, 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-07T22:05:38Z</updated>
<entry>
<title>circmgr: Don't count channel negotiation towards circuit built time.</title>
<updated>2025-08-07T22:05:38Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-07T22:05:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f36b696837a4fe78b5fa6a9df90cb3786ea8b3e1'/>
<id>urn:sha1:f36b696837a4fe78b5fa6a9df90cb3786ea8b3e1</id>
<content type='text'>
This is important, since some circuits require us to negotiate a new
channel, and some don't: by adding this variability, we can easily
learn a timeout based on pre-existing channels to our guards, but
then later time out if it takes a while to open a TLS connection.

This is a possible solution to part of #2079, a bug where we "learn"
a circuit timeout that is too low for us to satisfy.
</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>relay-selection: Add FamilyRules to exclude_relays_in_same_family.</title>
<updated>2025-02-25T14:29:50Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-02-10T20:51:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5ce84e59b6031416a7d404d20c3a2efce0ec5f2a'/>
<id>urn:sha1:5ce84e59b6031416a7d404d20c3a2efce0ec5f2a</id>
<content type='text'>
When we're trying to exclude relays by family,
we need to know which lists to look at.
This information ultimately comes from the network parameters.

We could avoid this change if we just told clients
"look at all family information all the time",
but that's not what the proposal says.

This is a breaking change.
</content>
</entry>
<entry>
<title>tor-circmgr: removed unused "chosen exit" functionality</title>
<updated>2024-08-15T17:54:58Z</updated>
<author>
<name>Steven Engler</name>
<email>smengler3@gmail.com</email>
</author>
<published>2024-08-15T15:32:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e03a2b6cc1f9ee07404c6ac0cd736fc4eba86a99'/>
<id>urn:sha1:e03a2b6cc1f9ee07404c6ac0cd736fc4eba86a99</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-circmgr: fix flaky `path::exitpath::test::by_ports` test</title>
<updated>2024-08-13T18:44:24Z</updated>
<author>
<name>Steven Engler</name>
<email>smengler3@gmail.com</email>
</author>
<published>2024-08-13T18:10:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e0b7f6582283e8cdb721b2df23e99257e4191eb0'/>
<id>urn:sha1:e0b7f6582283e8cdb721b2df23e99257e4191eb0</id>
<content type='text'>
The `path::exitpath::test::by_ports` test sometimes failed now that the
test is using a `GuardMgr` since `select_guard`, when given a chosen
exit, only ensures that the guard and chosen exit are not in the same
family. It does not ensure that the guard and exit do not share an
extended family. This commit relaxes an assertion in the test.

```text
thread 'path::exitpath::test::by_ports' panicked at crates/tor-circmgr/src/path/exitpath.rs:295:9:
assertion failed: r1.can_share_circuit(r3, subnet_config)
```

This "chosen exit" functionality isn't actually being used anywhere
(`ExitPathBuilderInner::ChosenExit` is only ever constructed in tests).
</content>
</entry>
<entry>
<title>tor-circmgr: make `GuardMgr` mandatory</title>
<updated>2024-08-13T00:21:53Z</updated>
<author>
<name>Steven Engler</name>
<email>smengler3@gmail.com</email>
</author>
<published>2024-08-13T00:09:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=acf1e81bb8621ec322ebd56b89c47c28958d3bfb'/>
<id>urn:sha1:acf1e81bb8621ec322ebd56b89c47c28958d3bfb</id>
<content type='text'>
Functions that took `Option&lt;&amp;GuardMgr&gt;` now take only `&amp;GuardMgr`.

Three unit tests were removed that covered behaviour when no guard
manager was set.
</content>
</entry>
<entry>
<title>tor-circmgr: Add a TODO about an unused restriction.</title>
<updated>2024-06-20T12:12:55Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-06-11T13:49:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=838f4c7b0545273c17c8d55a6bd5de18f237fff9'/>
<id>urn:sha1:838f4c7b0545273c17c8d55a6bd5de18f237fff9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-circmgr: If the path is invalid, display the offending hops in the error.</title>
<updated>2024-06-03T19:05:31Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-06-03T18:32:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8597aed6fd22971d2cee2803e7903a7e83f469b0'/>
<id>urn:sha1:8597aed6fd22971d2cee2803e7903a7e83f469b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-circmgr: Ensure pick_path() builds paths with unique hops (fmt).</title>
<updated>2024-06-03T19:05:31Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-06-03T17:18:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=458ed2dbd6a86ac763618afb9299bc88a0b14377'/>
<id>urn:sha1:458ed2dbd6a86ac763618afb9299bc88a0b14377</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-circmgr: Ensure pick_path() builds paths with unique hops.</title>
<updated>2024-06-03T19:05:31Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-06-03T16:43:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=84d5f5a8ba8b15fd7c42160038f97087ca9d5ea5'/>
<id>urn:sha1:84d5f5a8ba8b15fd7c42160038f97087ca9d5ea5</id>
<content type='text'>
We now return an internal error if the path we've just built contains
the same hop in multiple positions.
</content>
</entry>
</feed>
