<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-guardmgr/src, 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-24T19:09:00Z</updated>
<entry>
<title>Allow use of RetainMut, since we do not require Rust 1.61 yet.</title>
<updated>2022-05-24T19:09:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-24T19:09:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=460117f2b015435a2b34be102ead148f8ad0bd2c'/>
<id>urn:sha1:460117f2b015435a2b34be102ead148f8ad0bd2c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>impl_standard_builder: Test the Deserialize impl</title>
<updated>2022-05-12T17:50:26Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-12T09:36:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=86a3e006d3de3832ad0254ca95a01e78e080e843'/>
<id>urn:sha1:86a3e006d3de3832ad0254ca95a01e78e080e843</id>
<content type='text'>
Test the Deserialize impl of every config struct.

This detects bugs like the one fixed in !502.

The macro now becomes more complex because it needs to take options.
Right now this tt-munching option parser is overkill, but this
leave space for further options in the future.
</content>
</entry>
<entry>
<title>Rename impl_standard_builder from impl_default_via_builder</title>
<updated>2022-05-12T14:59:13Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-12T14:58:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c1c6f2b376827c4ebb13bc08456f8355717d15e5'/>
<id>urn:sha1:c1c6f2b376827c4ebb13bc08456f8355717d15e5</id>
<content type='text'>
I have Plans for this macro.  In particular:

 * I have a wip branch which tests that the Builder can be
   deserialised from an empty config (ie, that config reading
   of a config with a blank section for this item works).

 * I think we should autogenerate $Config::builder(),
   and promote that, rather than $ConfigBuilder::default().
   This macro could do that.
</content>
</entry>
<entry>
<title>No longer derive Default on three structs which derive Builder</title>
<updated>2022-05-11T17:27:15Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-11T16:32:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7909a51ff4101dafbe2a0c2f5d4a7b6a7236eb51'/>
<id>urn:sha1:7909a51ff4101dafbe2a0c2f5d4a7b6a7236eb51</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>Merge branch 'socket-addr-list-builder' into 'main'</title>
<updated>2022-05-04T18:13:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2022-05-04T18:13:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a334f17262e80620cfffa3c2ec5f50d4ea49a22f'/>
<id>urn:sha1:a334f17262e80620cfffa3c2ec5f50d4ea49a22f</id>
<content type='text'>
FallbackDir: orports: Introduce and use VecBuilder

See merge request tpo/core/arti!474</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>FallbackDir: Do orport validation after autogenerated build</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:05:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cc394ca9b9460878867e94fd43bd22bee88da37f'/>
<id>urn:sha1:cc394ca9b9460878867e94fd43bd22bee88da37f</id>
<content type='text'>
This avoids it having to recapitulate defaulting logic.
</content>
</entry>
<entry>
<title>FallbackDir: Do not consider defaulted-empty orport list to be valid</title>
<updated>2022-05-04T16:18:55Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-26T14:55:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6791758d0bca8c13aa4d7a569470f606bfeb653e'/>
<id>urn:sha1:6791758d0bca8c13aa4d7a569470f606bfeb653e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>GuardUsage: restrictions: Use list builder</title>
<updated>2022-05-04T15:16:38Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-26T15:34:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=015db3d78d04969971d7254b1a839c5693cb2720'/>
<id>urn:sha1:015db3d78d04969971d7254b1a839c5693cb2720</id>
<content type='text'>
Although these do not appear in the config, it does have a builder.
It seems sensible to get rid of this ad-hoc list manipulation site,
and replace it with our standard list builder API.

define_list_builder_helper requires that the builder element type be
Deserialize.  Currently GuardUsageRestriction is a transparent, public
enum, so we aren't really exposing anything.

We could introduce GuardUsageRestrictionBuilder now, but
since it's not in the config and thereofore only in the public API of
the lower crates, we can definitely put that off.
</content>
</entry>
</feed>
