<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirmgr/src/lib.rs, branch tor-dirmgr-v0.5.1</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=tor-dirmgr-v0.5.1</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=tor-dirmgr-v0.5.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-06-23T18:15:42Z</updated>
<entry>
<title>Run maint/add_warning crates/*/src/{lib,main}.rs</title>
<updated>2022-06-23T18:15:42Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-06-23T18:15:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=589c6e52bb49ccfe6c0ad9d18d6b994978e46c6c'/>
<id>urn:sha1:589c6e52bb49ccfe6c0ad9d18d6b994978e46c6c</id>
<content type='text'>
Update all lint blocks
</content>
</entry>
<entry>
<title>Merge branch 'stalled_directory' into 'main'</title>
<updated>2022-06-21T19:13:40Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2022-06-21T19:13:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9b4ba4893e35eecbc3fdcf6b03a1043698851088'/>
<id>urn:sha1:9b4ba4893e35eecbc3fdcf6b03a1043698851088</id>
<content type='text'>
Detect and report stalled directory downloads

Closes #468

See merge request tpo/core/arti!587</content>
</entry>
<entry>
<title>Fix clippy::significant_drop_in_scrutinee warnings</title>
<updated>2022-06-15T15:52:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-14T18:52:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=647d4410bb263499f11f21a82ff6b414140e820d'/>
<id>urn:sha1:647d4410bb263499f11f21a82ff6b414140e820d</id>
<content type='text'>
This is apparently a new warning from clippy nightly, documented in
https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_in_scrutinee .

I'm not in love with the temporary variables that this warning wants
me to introduce, but it does seem like a decent way to avoid some
kinds of deadlock.
</content>
</entry>
<entry>
<title>tor-dirmgr: Make DirStatus non-public.</title>
<updated>2022-06-14T15:02:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-14T15:02:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c74c268c8b6405e51da9d8f581683237366bd90b'/>
<id>urn:sha1:c74c268c8b6405e51da9d8f581683237366bd90b</id>
<content type='text'>
I believe this type was made public in error: No other crate uses it,
and no API exposes it.
</content>
</entry>
<entry>
<title>Add a blockage-reporting mechanism to tor-dirmgr.</title>
<updated>2022-06-14T14:42:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-14T14:42:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e3dced360b6a13df0d111cd96ba6d8730a5a4fbb'/>
<id>urn:sha1:e3dced360b6a13df0d111cd96ba6d8730a5a4fbb</id>
<content type='text'>
The `DirBootstrapStatus` type now exposes a blockage() method to
return an `Option&lt;DirBlockage&gt;`.

The blockage types reported are more low-level than I'd like, but
they are IMO good enough for now: we'll want to get experience with
actual vs hypothetical problems before we refine them.
</content>
</entry>
<entry>
<title>DirMgr: Track errors, stalls, and resets as part of status.</title>
<updated>2022-06-13T17:58:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-13T17:58:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=13c152d2ac853296124b898389e550557dde98cc'/>
<id>urn:sha1:13c152d2ac853296124b898389e550557dde98cc</id>
<content type='text'>
A "reset" happens whenever we have to start a download attempt over
-- either because we ran out of retries, or we found something wrong
with the consensus after fetching certificates.

An "error" happens when we have a recoverable error from one or more
directory sources.

A "stall" happens whenever a round of downloads or cache loads leads
to no change in the status.

We don't yet use this as part of our status reporting.
</content>
</entry>
<entry>
<title>Refactor our logic for distinguishing download attempts</title>
<updated>2022-06-13T17:21:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-13T17:21:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2a2afaa7c277da2b2bfe00b65385eeef840fbbde'/>
<id>urn:sha1:2a2afaa7c277da2b2bfe00b65385eeef840fbbde</id>
<content type='text'>
Previously we used the "if-modified-since" time associated with the
consensus download, and/or the "valid-after" time in the consensus
attempt, to put multiple attempts into sequence, and to tell one
from another.  But that approach was always a kludge, and will soon
get more unreliable as the DirStatus logic gets a bit more complex.

With this commit, we change separate download attempts to be
identified with an AttemptId that increments whenever we decide to
get a different directory from the one we have.  IMO this new code
is _much_ cleaner.
</content>
</entry>
<entry>
<title>Refactor most DirStatus users to use DirProgress.</title>
<updated>2022-06-13T16:22:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-13T16:22:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=68ea880b84c9aedfc276921675f94a257bcc2556'/>
<id>urn:sha1:68ea880b84c9aedfc276921675f94a257bcc2556</id>
<content type='text'>
This is all crate-internal APIs, fortunately.
</content>
</entry>
<entry>
<title>Merge branch 'dormant_directory' into 'main'</title>
<updated>2022-06-13T13:59:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-13T13:59:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d44dd6f44fb6a1831affd6757132b189b4109323'/>
<id>urn:sha1:d44dd6f44fb6a1831affd6757132b189b4109323</id>
<content type='text'>
Use TaskSchedule to sleep in directory bootstrapping

Closes #497

See merge request tpo/core/arti!571</content>
</entry>
<entry>
<title>DirMgr: Use scopeguard crate in place of ad hoc RAII substitutes</title>
<updated>2022-06-13T12:28:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-10T17:54:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2129aee6cdd71556aaa073337efb36dcafa6c67c'/>
<id>urn:sha1:2129aee6cdd71556aaa073337efb36dcafa6c67c</id>
<content type='text'>
</content>
</entry>
</feed>
