<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirmgr/src/config.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-11T16:11:30Z</updated>
<entry>
<title>tor-dirmgr: update status reporting to consider skew tolerance</title>
<updated>2022-05-11T16:11:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-11T16:09:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=db8bdbf9245c65cac79178fae731d1569de872ee'/>
<id>urn:sha1:db8bdbf9245c65cac79178fae731d1569de872ee</id>
<content type='text'>
In our status reporting code, we consider an
expired-but-still-usable directory still bootstrapped, but not 100%
bootstrapped.
</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>Update tor-dirmgr to use fs-mistrust.</title>
<updated>2022-05-09T18:40:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-03T17:08:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=20a85061b6c7c5a88b98497aabdf986cd6a462df'/>
<id>urn:sha1:20a85061b6c7c5a88b98497aabdf986cd6a462df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>config derive attrs: Make builders serde, and validated structs not</title>
<updated>2022-05-05T09:35:52Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-04T16:45:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d47e94b45993162fece0d1bdfa4d3da0407a4861'/>
<id>urn:sha1:d47e94b45993162fece0d1bdfa4d3da0407a4861</id>
<content type='text'>
 * Builders additionally derive: Debug, Serialize, Deserialize.

 * Validated structs no longer derive: Serialize, Deserialize
   and all related attributes deleted.

 * As a consequence, all the `#[serde(deny_unknown_fields)]`
   are gone.  That means that right now unknown fields are totally
   ignored.  This is good for compatibility but poor for useability.
   Doing something better here is arti#417, in progress.

 * As a consequence, delete tor_dirmgr::retry::default_parallelism.
   (The default value was already duplicated into a builder attr.)
</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>Change builder list API</title>
<updated>2022-05-04T12:50:10Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-04T12:32:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4bca91271558d950092fb1ac51c1316655d293cb'/>
<id>urn:sha1:4bca91271558d950092fb1ac51c1316655d293cb</id>
<content type='text'>
The new API is (roughly) as discussed in
  https://gitlab.torproject.org/tpo/core/arti/-/issues/451

This is quite a large commit and it is not convenient to split it up.
It contains the following changes:

 * Redo the list builder and accessor macros implemnetation,
   including docs and tests.

 * Change uses of define_list_config_builder.  In each case:
   - Move the docs about the default value to the containing field.
   - Remove the other docs (which were just recapitulations, and
     are now not needed since the ListBuilder is no longer public).
   - Rewmove or replace `pub` in the define_list_builder_helper call,
     so that the builder is no longer public.
   - Change the main macro call site to use define_list_builder_helper.
   - Add a call to define_list_builder_accessors.

 * Make the module `list_builder` pub so that we have somewhere to
   put the overview documentation.

 * Consequential changes:
   - Change `outer.inner().replace(X)` to `outer.set_inner(X)`
   - Consequential changes to imports (`use` statements).
</content>
</entry>
<entry>
<title>Rename NetworkConfig.fallback_caches</title>
<updated>2022-05-04T12:41:39Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-03T14:28:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ff624f6081cc339d12b82c7a753bfdfdf88f93ed'/>
<id>urn:sha1:ff624f6081cc339d12b82c7a753bfdfdf88f93ed</id>
<content type='text'>
Previously this field was differently named to its serde and to its
accessors.  We are about to introduce a macro_rules macro which will
provide list accessors and we don't want that macro to have a field
renaming feature.

So stop renaming the field.
</content>
</entry>
<entry>
<title>DirMgrConfig: Remove unnecessary accessors</title>
<updated>2022-04-26T14:32:20Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-26T14:26:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=72eaa9fc30e00137e1ddfaa0ab99731d8a6ae705'/>
<id>urn:sha1:72eaa9fc30e00137e1ddfaa0ab99731d8a6ae705</id>
<content type='text'>
These fields are pub.

Retain two convenience accessor functions that access sub-fields of
network.
</content>
</entry>
<entry>
<title>DirMgrConfig: Rename two fields that contained a _config</title>
<updated>2022-04-26T14:29:33Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-26T14:28:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=20d61dd4d4adeb900ce0eb2e46e695221c805c15'/>
<id>urn:sha1:20d61dd4d4adeb900ce0eb2e46e695221c805c15</id>
<content type='text'>
This entire struct is config.  This is otiose.
</content>
</entry>
<entry>
<title>DownloadSchedule: Abolish accessors in DownloadScheduleConfig</title>
<updated>2022-04-26T14:16:32Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-26T14:09:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cb303cefb3a87ba657f527cc721195940e79b21b'/>
<id>urn:sha1:cb303cefb3a87ba657f527cc721195940e79b21b</id>
<content type='text'>
We can just make the fields pub(crate).
</content>
</entry>
</feed>
