<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-hsservice/src, branch arti-v2.5.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.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-06-17T13:38:44Z</updated>
<entry>
<title>proto: Add crate-level exports for two extra stream types (fmt)</title>
<updated>2026-06-17T13:38:44Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-17T13:31:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d305c6c0a201703ce14fbcfdce1864aeda9cc8dc'/>
<id>urn:sha1:d305c6c0a201703ce14fbcfdce1864aeda9cc8dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>maint: Run maint/add_warning to deny string slices</title>
<updated>2026-06-09T15:36:01Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-06-09T15:36:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9f5752a77fb57052c06ead0eeae606831f1e8e97'/>
<id>urn:sha1:9f5752a77fb57052c06ead0eeae606831f1e8e97</id>
<content type='text'>
This commit executes maint/add_warning with the just added change to
deny string slices except in tests.

I recommend auditing this by checking out the previous commit followed
by running the script yourself and then verifying that the diff is
identical to this commit.

This commit makes cargo clippy fail.  We will add exceptions in the next
commit.
</content>
</entry>
<entry>
<title>metrics: Add descriptions and units for existing metrics.</title>
<updated>2026-06-02T14:56:19Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-05-26T20:41:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0afbc45bb2903ca06ba15851393e6fbd347e2b92'/>
<id>urn:sha1:0afbc45bb2903ca06ba15851393e6fbd347e2b92</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>hsservice: Set the current random value for the custom netdir</title>
<updated>2026-05-21T15:55:18Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-05-21T15:00:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ac13f3a453135c8d6509f0e093aba42cfd6ac696'/>
<id>urn:sha1:ac13f3a453135c8d6509f0e093aba42cfd6ac696</id>
<content type='text'>
This test was supposed to set both the current and the previous SRV in the
test netdir, but was actually only setting the previous one.

With the new SRV fixes from ee07c441909b41d5fbbfbffae310e954a69db478,
all the hsservice tests using this netdir were panicking on an
`.unwrap()`, because the SRV for the "previous" TP could not be found,
which is actually what you'd expect to happen, given that the netdir was
built with only one SRV. The reason the tests weren't failing before is,
funnily enough, because of the bug in SRV calculation that is fixed in
ee07c441909b41d5fbbfbffae310e954a69db478:

In `tor-netdir`, the `extract_srvs()` function (correctly) only returned
a single SRV from the consensus (the "previous one", set with
`bld.shared_rand_prev()` in the test), but the `find_params_for_time()`
was wrongly matching up that same SRV with multiple time periods. This
happened because the old implementation was computing the "previous SRV"
validity interval as:

  * ts_begin = `[start_of_day_containing(consensus_ts) - ONE_DAY`
  * ts_end = `ts_begin + srv_interval`

And because the test SRV interval is 288h(!), and the test TP length is
only 24h, the validity period of the previous SRV (incorrectly) covered
two TPs (both the previous and the current). So as a result, the test
was "successfully" getting back the same SRV for both the previous and
the current TP.

The bug was introduced in the commit that originally added the hsservice
tests: 279842526591918e25ca97e6392f211a50192396
</content>
</entry>
<entry>
<title>Upgrade rand crates to 0.10.</title>
<updated>2026-05-12T20:55:43Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-05-07T20:06:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a18167928901d8c88cd1cdd87346de8ad1ee42a2'/>
<id>urn:sha1:a18167928901d8c88cd1cdd87346de8ad1ee42a2</id>
<content type='text'>
When the circ-padding feature is enabled, we use maybenot, which does
not yet support rand 0.10. In the meantime, enabling this feature pulls
in rand 0.9. This is not ideal, but should be okay as a temporary
situation.

This also replaces the use of ReseedingRng (which was removed in 0.10)
with the reseeding_rng crate. This is somewhat less performant, but it
should be okay.
</content>
</entry>
<entry>
<title>dirclient, hsservice: Use Arc&lt;str&gt; for hsdesc publishing.</title>
<updated>2026-05-12T12:10:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-25T21:30:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=176fcd170d2a9adc38ff82e42a5167a940e47268'/>
<id>urn:sha1:176fcd170d2a9adc38ff82e42a5167a940e47268</id>
<content type='text'>
This saves a little memory, but the technique will help save more
memory for other uploads.
</content>
</entry>
<entry>
<title>tor-dirclient: Avoid copying bytes that we want to POST.</title>
<updated>2026-05-12T12:10:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-25T21:13:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1f6d57019a4b2a1e5955e6b89e066d58718902d5'/>
<id>urn:sha1:1f6d57019a4b2a1e5955e6b89e066d58718902d5</id>
<content type='text'>
This required a change to the hsservice tests, which previously
assumed that we'd perform one write per request.
</content>
</entry>
<entry>
<title>hsservice, llcrypto, SecurityResponse: use cfg({true,false})</title>
<updated>2026-05-07T12:08:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-04T13:45:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0c4ed480afc9a96b37db9630c7ee3185a69fa999'/>
<id>urn:sha1:0c4ed480afc9a96b37db9630c7ee3185a69fa999</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hsclient, hsservice: Use unquoted paths in ctor_path attr</title>
<updated>2026-04-16T09:22:54Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-04-15T13:13:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ddddac1f5be762cdb954114f130aad8e6915ecba'/>
<id>urn:sha1:ddddac1f5be762cdb954114f130aad8e6915ecba</id>
<content type='text'>
</content>
</entry>
</feed>
