<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirmgr/src/state.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-25T12:58:37Z</updated>
<entry>
<title>DirMgr:: Remove Error::NoChange as redundant.</title>
<updated>2022-05-25T12:58:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-25T12:58:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0caa5bcba5c3be8aca2fb90331a830d1a22f5e22'/>
<id>urn:sha1:0caa5bcba5c3be8aca2fb90331a830d1a22f5e22</id>
<content type='text'>
Now that the relevant functions now report changed/not-changed
status via a boolean out-parameter (see !527), there's no reason to
have a separate NoChanged error case.

Closes #484.
</content>
</entry>
<entry>
<title>Merge branch 'bug482' into 'main'</title>
<updated>2022-05-24T19:33:42Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-05-24T19:33:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=608d0cbcc25c7576173312d33569de7468449ad6'/>
<id>urn:sha1:608d0cbcc25c7576173312d33569de7468449ad6</id>
<content type='text'>
DirMgr: Stop load-from-cache process when there is no change.

Closes #482

See merge request tpo/core/arti!527</content>
</entry>
<entry>
<title>fs-mistrust: make Mistrust have a corresponding Builder type.</title>
<updated>2022-05-24T14:54:02Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-18T17:26:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=95200383b52d1644d4de357c2a8a50d91fdc1021'/>
<id>urn:sha1:95200383b52d1644d4de357c2a8a50d91fdc1021</id>
<content type='text'>
This is an approximately minimal revision to get Builder in place;
subsequent commits will clean up the API.
</content>
</entry>
<entry>
<title>DirMgr: Stop load-from-cache process when there is no change.</title>
<updated>2022-05-24T12:50:20Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-24T12:50:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8e15c97f56f19ff63cb208f1832827860ad56925'/>
<id>urn:sha1:8e15c97f56f19ff63cb208f1832827860ad56925</id>
<content type='text'>
Previously in !511 I had introduced a bug where, if there was an
error more serious than "no change", that error would keep us from
noticing that we had no change, and we'd loop until the safety
counter ran out.  Then we'd panic.

This commit fixes the bug by reintroducing the `changed` boolean --
this time as an outparam for the add_from_* methods.

Fixes #482.
</content>
</entry>
<entry>
<title>Fix compilation with Rust 1.56.</title>
<updated>2022-05-17T18:58:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-17T18:58:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c70916c0d986e71894778e17483d039788d6e553'/>
<id>urn:sha1:c70916c0d986e71894778e17483d039788d6e553</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DirMgr: Remove blocking_error return path.</title>
<updated>2022-05-17T16:25:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-17T16:18:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5de1b9319559bd0381af49f125e12c19269b5f87'/>
<id>urn:sha1:5de1b9319559bd0381af49f125e12c19269b5f87</id>
<content type='text'>
</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: Remove special handling of "changed" boolean</title>
<updated>2022-05-17T14:16:15Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-17T14:16:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d7a3fd2c1787f97e0abf25986109add9f2ee9f06'/>
<id>urn:sha1:d7a3fd2c1787f97e0abf25986109add9f2ee9f06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DirMgr: Start refactoring error handling.</title>
<updated>2022-05-17T13:52:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-17T13:46:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6bacf3b303b4f94b0eaf4132c83225c8675e035c'/>
<id>urn:sha1:6bacf3b303b4f94b0eaf4132c83225c8675e035c</id>
<content type='text'>
This commit adds a couple of new error types that we will soon want
to distinguish, and a new way of classifying errors.  These are not
yet all used.
</content>
</entry>
<entry>
<title>Give an error if the cache violates If-Modified-Since.</title>
<updated>2022-05-16T16:49:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-13T20:10:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e37e37a31c27499839fde25739df69ad65b9f0aa'/>
<id>urn:sha1:e37e37a31c27499839fde25739df69ad65b9f0aa</id>
<content type='text'>
This should be sufficient to detect several kinds of nefariousness
that we'd previously overlooked.
</content>
</entry>
</feed>
