<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirmgr/src/bootstrap.rs, branch arti-v0.3.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.3.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.3.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-04-25T17:06:26Z</updated>
<entry>
<title>squash! Bump every crate's edition to 2021.</title>
<updated>2022-04-25T17:06:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-25T16:40:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f6bc6bdc431fa36de70a167eea777dcf3f60bf2'/>
<id>urn:sha1:2f6bc6bdc431fa36de70a167eea777dcf3f60bf2</id>
<content type='text'>
Remove all `use` statements for `TryFrom` and `TryInto`.  These are
now redundant in Rust 2021.
</content>
</entry>
<entry>
<title>Treat expired/not-yet-valid directory objects as Errors.</title>
<updated>2022-04-05T19:54:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-05T19:54:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d05022dea4186b39647b077b0850e6c25f39dc41'/>
<id>urn:sha1:d05022dea4186b39647b077b0850e6c25f39dc41</id>
<content type='text'>
Doing this will make us treat caches that send us these objects as
not-working, and close circuits to them instead of trying over and
over.

The case where we add a document from the cache requires special
handling: it isn't actually a error to find an expired document in
our cache (unless the passage of time itself is erroneous, which is
a debatable proposition at best).

Fixes #431.
</content>
</entry>
<entry>
<title>dirmgr: Use a different idiom in retry loop</title>
<updated>2022-03-31T12:07:50Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-31T12:07:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c5e5fc155396c121f512572057ff73e1d0d97122'/>
<id>urn:sha1:c5e5fc155396c121f512572057ff73e1d0d97122</id>
<content type='text'>
Replace the next delay field immediately rather than taking it and
_then_ setting it.  This way, it's never in an incorrect state.
</content>
</entry>
<entry>
<title>dirmgr: fix bugs in algorithm for retrying downloads</title>
<updated>2022-03-30T17:56:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-30T17:56:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6e8c982ab5dabf67fffecf99a53755e1488ee404'/>
<id>urn:sha1:6e8c982ab5dabf67fffecf99a53755e1488ee404</id>
<content type='text'>
The previous algorithm had two flaws:

  * It would wait even after the final attempt, when there were no
    more retries to do.
  * It would fail to wait between attempts if an error occurred.

This refactoring fixes both of these issues, and adds some comments.
</content>
</entry>
<entry>
<title>Add status tracking to FallbackDir.</title>
<updated>2022-03-30T14:39:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T23:19:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bfb2353a8f627b189e104e606b3284fdfaa6d98b'/>
<id>urn:sha1:bfb2353a8f627b189e104e606b3284fdfaa6d98b</id>
<content type='text'>
We do this by creating a new FallbackSet type that includes status
information, and updating the GuardMgr APIs to record success and
failure about it when appropriate.  We can use this to mark
FallbackDirs retriable (or not).

With this change, FallbackDir is now stored internally as a Guard in
the GuardMgr crate.  That's fine: the FallbackDir type really only
matters for configuration.
</content>
</entry>
<entry>
<title>dirmgr: do not pass fallbacks to the CircMgr.</title>
<updated>2022-03-30T14:39:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T21:00:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e48f4f3a93a04562423e3ad4955d4586de28acd4'/>
<id>urn:sha1:e48f4f3a93a04562423e3ad4955d4586de28acd4</id>
<content type='text'>
This is the final step in allowing the CircMgr to use the GuardMgr's
view of the fallbacks.

Compilation is restored and tests pass.
</content>
</entry>
<entry>
<title>Remove allow(clippy::disallowed_methods) lint.</title>
<updated>2022-03-30T12:55:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-30T12:55:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=700e491813f84d76446193aef7121a329b774717'/>
<id>urn:sha1:700e491813f84d76446193aef7121a329b774717</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'no-system-time' into 'main'</title>
<updated>2022-03-30T12:44:25Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-03-30T12:44:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fd081742fa13e8464ad46123d83617165587d4f4'/>
<id>urn:sha1:fd081742fa13e8464ad46123d83617165587d4f4</id>
<content type='text'>
Don't use SystemTime::now()

Closes #306

See merge request tpo/core/arti!365</content>
</entry>
<entry>
<title>dirmgr: Note errors and inform the circmgr about them.</title>
<updated>2022-03-21T14:27:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-21T12:59:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1ec0ed45c8acd787bbc4878c9b6b160ea6db1160'/>
<id>urn:sha1:1ec0ed45c8acd787bbc4878c9b6b160ea6db1160</id>
<content type='text'>
Some error types indicate that the guard has failed as a dircache.
We should treat these errors as signs to close the circuit, and to
mark the guard as having failed.
</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>
