<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-circmgr/src/usage.rs, branch arti-v1.4.6</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.6</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.6'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-05-20T19:22:08Z</updated>
<entry>
<title>circmgr: Propagate Option&lt;HsCircKind&gt; down to path selection functions</title>
<updated>2025-05-20T19:22:08Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-05-20T14:37:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5527ff8949600d05442daf667fa314a9eeb5ddf2'/>
<id>urn:sha1:5527ff8949600d05442daf667fa314a9eeb5ddf2</id>
<content type='text'>
We'll need this in order to build paths that are specifically
for client rend circuits.  I thought of using a boolean here,
but that had potential to get ugly in the future.
</content>
</entry>
<entry>
<title>tor-circmgr: Post-renaming documentation fixes.</title>
<updated>2024-10-24T14:04:43Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-11T16:09:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1c88c0b6984d797b8001b14a4f780994d86f8765'/>
<id>urn:sha1:1c88c0b6984d797b8001b14a4f780994d86f8765</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-circmgr: s/stub/stem throughout.</title>
<updated>2024-10-24T14:04:43Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-11T16:03:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=37c8c4c4f5486402d23d7f80726a943030218f6a'/>
<id>urn:sha1:37c8c4c4f5486402d23d7f80726a943030218f6a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-circmgr: s/HsCircStubKind/HsCircStemKind.</title>
<updated>2024-10-24T14:04:43Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-11T15:55:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a78585a8a97ae197dd2f038dab0970b5bed99a25'/>
<id>urn:sha1:a78585a8a97ae197dd2f038dab0970b5bed99a25</id>
<content type='text'>
As per #1479
</content>
</entry>
<entry>
<title>tor-circmgr: Remove AbstractSpec and FakeSpec.</title>
<updated>2024-09-16T14:57:33Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2024-09-11T17:36:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a7d7933ffe86dd0f85f58f219860cd3e576aafdf'/>
<id>urn:sha1:a7d7933ffe86dd0f85f58f219860cd3e576aafdf</id>
<content type='text'>
AbstractSpec and FakeSpec actually make testing more difficult, since
they prevent using FakeBuilder in code that relies on the concrete
TargetCircUsage and SupportedCircUsage types. Removing them means
FakeBuilder can be used in more places, and also means that the test
code is closer to the real code, since TargetCircUsage and
SupportedCircUsage are now exercised directly in more tests.

This did require making one change to a test, which I think was
previously testing behaviour that was true for FakeSpec but not for the
real code:

The mgr::test::isolated test previously asserted that, in the case where
three circuits were requested, two with isolation and one without, the
non-isolated circuit would be shared with one of the isolated circuits.

This was allowed by the FakeSpec::supports function. However, in the
actual code, the path is as follows:

* AbstractCircMgr::get_or_launch
* AbstractCircMgr::prepare_action
* CircList::find_open
* AbstractSpec::find_supported
* abstract_spec_find_supported
* OpenEntry::supports
* SupportedCircUsage::supports
* StreamIsolation::compatible_same_type

StreamIsolation::compatible_same_type checks owner_type, which is
always zero for non-isolated streams and always non-zero for isolated
streams, meaning that a isolated stream will never be compatible with a
non-isolated stream. The seems like desirable behaviour, so I simply
modified the test to make four connections, two isolated and two not,
and checked that the isolated streams never share any circuits, and that
the two non-isolated streams use the same circuit. As far as I can tell,
this is the intended behaviour in the existing code.
</content>
</entry>
<entry>
<title>tor-netdir: Allow access to the `ConsensusBuilder` when building test netdirs.</title>
<updated>2024-09-09T17:26:37Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-09-05T15:42:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b2b75302ab095bccdc7ccecb627e4648a3ae9419'/>
<id>urn:sha1:b2b75302ab095bccdc7ccecb627e4648a3ae9419</id>
<content type='text'>
This allows us to set SRVs for example (needed because by default, the
test `NetDir` is built from a consensus that doesn't contain any SRVs).
</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-circmg: prepare tests for runtime requirement</title>
<updated>2024-08-12T22:54:22Z</updated>
<author>
<name>Steven Engler</name>
<email>smengler3@gmail.com</email>
</author>
<published>2024-08-12T22:26:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7f13bce5a12e3edbfb6f58d758673a2336ad20ee'/>
<id>urn:sha1:7f13bce5a12e3edbfb6f58d758673a2336ad20ee</id>
<content type='text'>
This wraps some unit tests with `tor_rtcompat::test_with_all_runtimes!`.
This is its own commit to get the indentation changes out of the way and
declutter the following commit.
</content>
</entry>
<entry>
<title>tor-guardmgr: Store whether we're running an onion svc.</title>
<updated>2024-04-11T14:10:02Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-04-08T17:46:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=196bf92724f23d0d155efa9b555dadee8257a475'/>
<id>urn:sha1:196bf92724f23d0d155efa9b555dadee8257a475</id>
<content type='text'>
The `VanguardMgr` needs to know whether arti is running as an onion
service or not, in order to figure out which of the `vanguards_enabled`
and `vanguards_hs_service` modes to use.
</content>
</entry>
<entry>
<title>tor-guardmgr: Give VanguardMgr a handle to the runtime (fmt).</title>
<updated>2024-04-05T16:17:41Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-04-05T11:16:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bdaf3f64f9c1ab028cd8d734e7d4d98b2c4890fe'/>
<id>urn:sha1:bdaf3f64f9c1ab028cd8d734e7d4d98b2c4890fe</id>
<content type='text'>
</content>
</entry>
</feed>
