<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirmgr/src/lib.rs, branch arti-v0.4.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.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-05-19T12:00:41Z</updated>
<entry>
<title>Remove BootstrapAction::Impossible</title>
<updated>2022-05-19T12:00:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-19T12:00:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6aebb18e64f148d6f554ad1bd84e19b0128e121a'/>
<id>urn:sha1:6aebb18e64f148d6f554ad1bd84e19b0128e121a</id>
<content type='text'>
It does nothing that Fatal does not.  Suggested by @eta in review.
</content>
</entry>
<entry>
<title>DirMgr: Unify error return paths</title>
<updated>2022-05-17T16:25:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-17T16:03:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=53ed5f40cfa1ff3b8cb042ee5a9c05e805879335'/>
<id>urn:sha1:53ed5f40cfa1ff3b8cb042ee5a9c05e805879335</id>
<content type='text'>
We no longer have separate return paths for recoverable and fatal
errors; instead, they are merged, and distinguished based on
recovery actions.

Since it is now possible for download() to give an error that should
_not_ destroy the previous state, it takes `&amp;mut Box&lt;dyn DirState&gt;`.
This change unfortunately means that we can no longer call `state =
state.advance()`, but instead have to do some mem::swap junk with
poisoned values.  Any better solution would be a good thing.

Additionally, the reset() and advance() methods can no longer fail.

There is still a separate return path for reset-triggering errors;
I'm about to fix that.
</content>
</entry>
<entry>
<title>DirMgr: Improve display for DocSource</title>
<updated>2022-05-16T16:42:25Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-12T15:40:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f70ad60e6512da656d293b98e870ba21fdc491be'/>
<id>urn:sha1:f70ad60e6512da656d293b98e870ba21fdc491be</id>
<content type='text'>
(Also, implement Display for tor_dirclient::SourceInfo).
</content>
</entry>
<entry>
<title>DirMgr: make DocSource useful by having it include dirserver info.</title>
<updated>2022-05-16T16:42:25Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-12T14:54:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ef2640acfaf9f873ca3de5253aae93b5032e659a'/>
<id>urn:sha1:ef2640acfaf9f873ca3de5253aae93b5032e659a</id>
<content type='text'>
Previously DocSource would tell you whether the document was from
a local store or a cache server, but it wouldn't tell you _which_
server it came from.

This change required adding DocSource as an argument to
DirState::add_from_download.
</content>
</entry>
<entry>
<title>Resolve DOCDOC comments in tor-dirmgr.</title>
<updated>2022-05-12T13:45:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-12T13:45:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=24c7dea38dbc07ca66ccdc4909066962781c76c3'/>
<id>urn:sha1:24c7dea38dbc07ca66ccdc4909066962781c76c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adjust if-modified-since field on the basis of tolerated skew</title>
<updated>2022-05-11T16:36:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-11T16:31:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9e040e78097bfe6a7ee8f89c72c861265221c406'/>
<id>urn:sha1:9e040e78097bfe6a7ee8f89c72c861265221c406</id>
<content type='text'>
If we're happy with a directory from 3 days ago, we should say
"if-modified-since 3 days ago".

This patch is larger than I'd like, since I had to add &amp;DirMgrConfig
as an argument to the functions that make a  consensus request.

Closes #467.
</content>
</entry>
<entry>
<title>Add DirSkewTolerance section to DirMgr configuration.</title>
<updated>2022-05-11T16:11:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-11T14:47:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7dec007d63aa28972249038e16959f26b42bcf87'/>
<id>urn:sha1:7dec007d63aa28972249038e16959f26b42bcf87</id>
<content type='text'>
This new section describes how much variance we accept when it comes
to expired and not-yet-valid directory documents.  (Currently, the
only ones where this matters for are consensus documents and
authority certificates.)  A document that is invalid by no more than
these tolerances is not _live_, but it can still be used.

These tolerances serve two purposes:

 * First, they allow clients to run with a little more clock skew
   than they would tolerate otherwise.
 * Second, they allow clients to survive the situation where the
   authorities are unable to reach a consensus for a day or two.

Compare with Tor's REASONABLY_LIVE_TIME and NETWORKSTATUS_ALLOW_SKEW
constants; also compare with proposal 212.

Closes #412.
</content>
</entry>
<entry>
<title>tor-dirmgr: move apply_netdir_changes() to be a DirMgr method</title>
<updated>2022-05-10T12:29:39Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-05-10T10:35:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=33b2b428bdef243a5dad0bde1eea23e201531292'/>
<id>urn:sha1:33b2b428bdef243a5dad0bde1eea23e201531292</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-dirmgr/state.rs: take an object to get a netdir, not a netdir</title>
<updated>2022-05-10T12:29:39Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-05-09T14:25:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2c28e217dd44558e0d789429faab3d15e88f40d9'/>
<id>urn:sha1:2c28e217dd44558e0d789429faab3d15e88f40d9</id>
<content type='text'>
- Taking a previous netdir directly and keeping it around before we need
  it is a bit of a waste of memory, and also doesn't mesh well with how
  SharedMutArc works.
- To remedy this, introduce a new trait `PreviousNetDir` and have the
  state machines take that instead. (I was a bit tempted to just pass in
  the SharedMutArc directly. Maybe I should've done that.)
</content>
</entry>
<entry>
<title>tor-dirmgr/state.rs: remove GetConsensusState::bodge_new</title>
<updated>2022-05-10T10:50:07Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-05-05T16:09:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=27073a5d2326556709c033ed8d9beb8b50f300ca'/>
<id>urn:sha1:27073a5d2326556709c033ed8d9beb8b50f300ca</id>
<content type='text'>
- (Also fixes up some dirfilter stuff, whoops.)
</content>
</entry>
</feed>
