<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-config/src, branch arti-v2.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-v2.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-05-27T12:05:52Z</updated>
<entry>
<title>config: Simplify ConfigurationTree::merge_from to take &amp;mut self.</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-21T14:28:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=54c99e93b5d9cd0a3e1cfb66c249c7aeeba2ecce'/>
<id>urn:sha1:54c99e93b5d9cd0a3e1cfb66c249c7aeeba2ecce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Apply 3 suggestion(s) to 2 file(s)</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-21T14:20:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=69db75387c44326411c729eaab5126de4d6e7b07'/>
<id>urn:sha1:69db75387c44326411c729eaab5126de4d6e7b07</id>
<content type='text'>
Co-authored-by: gabi-250 &lt;gabi@torproject.org&gt;</content>
</entry>
<entry>
<title>config: Update doctests to use Deftly, and to pass</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-19T14:44:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8d62f53b0a8f676ece49360184ab094d8dc0edb5'/>
<id>urn:sha1:8d62f53b0a8f676ece49360184ab094d8dc0edb5</id>
<content type='text'>
Some of the tests used derive(Builder), which is not current
practice for our configuration.

Additionally, they didn't implement the requisite ConfigBuilder
logic to pass with the other changes in this branch.
</content>
</entry>
<entry>
<title>Give resolve_return_results options to control output_tree.</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-19T13:25:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8559c5df2c487df7f882ca762ea70faef7450414'/>
<id>urn:sha1:8559c5df2c487df7f882ca762ea70faef7450414</id>
<content type='text'>
I've left the options here as booleans, but moved them into a
struct.  (IMO, booleans are at their riskiest when they are passed
as function arguments, and much less risky when they are used as
struct fields.)
</content>
</entry>
<entry>
<title>config: Add an `output_tree` to our resolver methods.</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-18T19:29:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f9478b994ce908a952e55bf71beea824f61adcc4'/>
<id>urn:sha1:f9478b994ce908a952e55bf71beea824f61adcc4</id>
<content type='text'>
This functionality exposes the part of the configuration tree that
was actually used, along with any defaulted values.  RPC will want
this.
</content>
</entry>
<entry>
<title>config: Add a dd(TorConfig) attribute to override apply_defaults().</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-18T15:44:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=021ee4be56bba1f927edc20cfb1c3404e610ba2b'/>
<id>urn:sha1:021ee4be56bba1f927edc20cfb1c3404e610ba2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>config: Add a method to fill in a builder with unset defaults</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-18T14:13:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f1df3d1c8d83fd63d484cccf0bf45534f0369761'/>
<id>urn:sha1:f1df3d1c8d83fd63d484cccf0bf45534f0369761</id>
<content type='text'>
This new method modifies a builder by replacing any unset values
that have a default with that default.  We're using this method
so that we can re-serialize a builder into a `ConfigurationTree`
with all of its default values included.

In all cases, `b.apply_defaults()?; b.build()` should produce
the same output as `b.build()`.

The interesting parts of this commit are in tor_config::load
and tor_config::derive.  The rest of this commit just adds
`apply_defaults` to other builders that _aren't_ made with
`derive_deftly(TorConfig)`.
</content>
</entry>
<entry>
<title>config: Implement Builder for ListBuilders and MapBuilders.</title>
<updated>2026-05-27T12:05:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-18T12:50:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3f349864d55760a57a47db3cc326be4cc9c90383'/>
<id>urn:sha1:3f349864d55760a57a47db3cc326be4cc9c90383</id>
<content type='text'>
This isn't strictly necessary, but it helps for consistency.
</content>
</entry>
<entry>
<title>dd(TorConfig): change the order of default vs magic</title>
<updated>2026-05-27T12:05:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-17T23:49:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0fdf73cc2f88256fb6613d9ecc005a4d1f1217f5'/>
<id>urn:sha1:0fdf73cc2f88256fb6613d9ecc005a4d1f1217f5</id>
<content type='text'>
This affects the automatic builder code made by our
derive_deftly macro.  It is only relevant (for now)
in the case of the `NonZero&lt;&gt;` types and their special handling.

Previously, when a builder contained Option&lt;U&gt;,
and we wanted to generate a configuration holding T,
we would _first_ apply a transformation from Option&lt;U&gt; to Option&lt;T&gt;
and _second_ unwrap the result or apply a default.

Now, we _first_ convert from Option&lt;U&gt; to U by applying a default,
and only _then_ perform any necessary conversion from U and T.

This is only relevant in the case where U and T are different.
It simplifies writing the defaults for `NonZero` options,
and will significantly simplify the logic for setting builder defaults.
</content>
</entry>
<entry>
<title>config: Fix documentation of ResolutionResults</title>
<updated>2026-05-27T12:05:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-18T14:19:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1e28b26543f6d6e89e75db9345146a8e90be9cf8'/>
<id>urn:sha1:1e28b26543f6d6e89e75db9345146a8e90be9cf8</id>
<content type='text'>
It previously referred to a function that didn't exist.
</content>
</entry>
</feed>
