<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-circmgr/src/path/dirpath.rs, branch arti-v0.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-v0.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-06-24T13:23:38Z</updated>
<entry>
<title>clippy: Consolidate many lints in maint/add_warning</title>
<updated>2022-06-24T13:23:38Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-06-24T12:24:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=23c352b96bf07c981bb396fa34ce83e512ada0b2'/>
<id>urn:sha1:23c352b96bf07c981bb396fa34ce83e512ada0b2</id>
<content type='text'>
Found these by disabling the nightly dbg macro special case.  Now, we
have a mechanism for globally adding suppressions to tests, we can use
that instead.
</content>
</entry>
<entry>
<title>tor-netdir: testnet: Make construct_netdir infallible (rustfmt)</title>
<updated>2022-06-13T13:26:32Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-06-13T13:26:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3e035927f20e88fa01f3b82649daa08551c4fda6'/>
<id>urn:sha1:3e035927f20e88fa01f3b82649daa08551c4fda6</id>
<content type='text'>
Run rustfmt.  Separate commit to make review of the substantive commit
easier.
</content>
</entry>
<entry>
<title>tor-netdir: testnet: Make construct_netdir infallible</title>
<updated>2022-06-13T13:25:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-06-13T13:25:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7d223ac9e6c6d998d51a2d66baaeddea086dca37'/>
<id>urn:sha1:7d223ac9e6c6d998d51a2d66baaeddea086dca37</id>
<content type='text'>
This is a *lot* of unwraps.  The function takes no parameters and
is used only for testing.  It ought to be infallible.
</content>
</entry>
<entry>
<title>Use testing_rng() in tests throughout our crates.</title>
<updated>2022-06-02T18:56:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-02T17:31:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=967ea67b7dfc158f29cf449eb09bac89acdee46b'/>
<id>urn:sha1:967ea67b7dfc158f29cf449eb09bac89acdee46b</id>
<content type='text'>
This only affects uses of thread_rng(), and affects them all more or
less indiscriminately.  One test does not work with
ARTI_TEST_PRNG=deterministic; the next commit will fix it.
</content>
</entry>
<entry>
<title>FallbackDir: Use VecBuilder for orports</title>
<updated>2022-05-04T16:18:55Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-26T15:20:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4ad4cae4180981856676f675e32117b683518f4e'/>
<id>urn:sha1:4ad4cae4180981856676f675e32117b683518f4e</id>
<content type='text'>
And drop the ad-hoc orport() method.  This brings FallbackDir's
orports field in line with our list builder API.

The general semver note in "configuation" seems to cover most of this.
</content>
</entry>
<entry>
<title>DirPathBuilder::pick_path: re-order match cases for clarity.</title>
<updated>2022-03-30T14:40:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-29T12:39:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=951b800988ee00048be36a9abf5bcf60eeb19f96'/>
<id>urn:sha1:951b800988ee00048be36a9abf5bcf60eeb19f96</id>
<content type='text'>
</content>
</entry>
<entry>
<title>circmgr: Use guard-manager's view of the fallbacks when possible.</title>
<updated>2022-03-30T14:39:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T20:56:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ed6389acc7c872854984ae1ea38dbda6542f48cb'/>
<id>urn:sha1:ed6389acc7c872854984ae1ea38dbda6542f48cb</id>
<content type='text'>
If we're building a path with the guard manager involved, we now ask
the guard manager to pick our first hop no matter what.  We only
pick from the fallback list ourselves if we're using the API with no
guard manager.

This causes some follow-on changes where we have to remember an
OwnedChanTarget object in a TorPath we've built, and where we gain
the ability to say we're building a path "from nothing extra at
all."  Those are all internal to the crate, though.

Closes #220, by making sure that we use our guards to get a fresh
netdir (if we can) before falling back to any fallbacks, even if our
consensus is old.

Compilation should be fixed in the next commit.
</content>
</entry>
<entry>
<title>Turn FallbackList into a real type, and store one in GuardMgr.</title>
<updated>2022-03-30T14:39:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T20:44:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9da43189f36b19681d10b78ef982c52c929b4573'/>
<id>urn:sha1:9da43189f36b19681d10b78ef982c52c929b4573</id>
<content type='text'>
The guard manager is responsible for handing out the first hops of
tor circuits, keeping track of their successes and failures, and
remembering their states.  Given that, it makes sense to store this
information here.  It is not yet used; I'll be fixing that in
upcoming commits.

Arguably, this information no longer belongs in the directory
manager: I've added a todo about moving it.

This commit will break compilation on its own in a couple of places;
subsequent commits will fix it up.
</content>
</entry>
<entry>
<title>Move fallback.rs into guardmgr.</title>
<updated>2022-03-30T14:34:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T17:38:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=80b65c3a4d4108c6b4b0cb91722f89c8e5859b7d'/>
<id>urn:sha1:80b65c3a4d4108c6b4b0cb91722f89c8e5859b7d</id>
<content type='text'>
This is the logical place for it, I think: the GuardMgr's job is to
pick the first hop for a circuit depending on remembered status for
possible first hops.  Making this change will let us streamline the
code that interacts with these objects.
</content>
</entry>
<entry>
<title>circmgr: Change API for using FallbackDirs</title>
<updated>2022-03-21T13:06:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-17T13:33:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d778a922255a75e36baa5296451e9982045ac777'/>
<id>urn:sha1:d778a922255a75e36baa5296451e9982045ac777</id>
<content type='text'>
It'll soon more convenient to pass in FallbackDirs as a slice of
references, rather than just a slice of FallbackDirs: I'm going to
be changing how we handle these in tor-dirmgr.
</content>
</entry>
</feed>
