<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirserver/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-10T14:42:10Z</updated>
<entry>
<title>tor-netdoc: authcert: use TimerangeBound for UnverifiedAuthCert::verify (fmt)</title>
<updated>2026-06-10T14:42:10Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-06-04T12:13:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b6e5b60f02eb6c523a42ee3bc726b8dc6a8b94b0'/>
<id>urn:sha1:b6e5b60f02eb6c523a42ee3bc726b8dc6a8b94b0</id>
<content type='text'>
Precisely the result of rustfmt.
</content>
</entry>
<entry>
<title>tor-netdoc: authcert: use TimerangeBound for UnverifiedAuthCert::verify</title>
<updated>2026-06-10T14:42:10Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-06-04T12:10:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ccac99474f98ef197a7dfc48930c2c67662e7991'/>
<id>urn:sha1:ccac99474f98ef197a7dfc48930c2c67662e7991</id>
<content type='text'>
TimerangeBound is reasonably nice and this will fit in better when we
want to verify votes.

Adjust the one non-test call site (in tor-dirserver) using .and_then.

In the tests:

 * Where we expected success, call .check_valid_at and add another .unwrap().
 * Where we expected signature verification failure, delete the time parameters.
 * Where we expected timeliness failure, call .check_valid_at and map the error.
 * With nontrivial tolerance, add calls to `extend_[pre_]tolerance`.
</content>
</entry>
<entry>
<title>everywhere: Add #[allow(clippy::string_slice)]</title>
<updated>2026-06-09T16:02:36Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-06-09T16:00:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d0af4abbd7b371f1eade609202a730cd9a1c21d3'/>
<id>urn:sha1:d0af4abbd7b371f1eade609202a730cd9a1c21d3</id>
<content type='text'>
This commit adds #[allow(clippy::string_slice)] to all functions in the
code where string slices are used, alongside a TODO comment.

We do this add the function header to have it consistent, as things like
expression based allow's are still experimental.
</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>tor-netdoc: Rename NetdocUnverified trait to NetdocParseableUnverified</title>
<updated>2026-06-02T10:39:51Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-06-02T10:32:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9b014fc0c02be35576fde6cb927e7c9645b5f827'/>
<id>urn:sha1:9b014fc0c02be35576fde6cb927e7c9645b5f827</id>
<content type='text'>
The NetdocParseableUnverified derive macro implements this
trait (amongst other things).  Traits and derive macros should have
aligned names.

This is only used for parsing, so let's keep the "Parseable" part of
the name.

I don't think the effort of deprecated alias, for downstream
compatibility, is worth it, our compatibility policy notwithstanding.
</content>
</entry>
<entry>
<title>Merge branch 'directory-signature-3' into 'main'</title>
<updated>2026-05-13T07:33:35Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-05-13T07:33:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5bcb784c89a9ff17e547313e4999bf7e737ed16'/>
<id>urn:sha1:a5bcb784c89a9ff17e547313e4999bf7e737ed16</id>
<content type='text'>
tor-netdoc: Sort out netstatus signatures

See merge request tpo/core/arti!3937</content>
</entry>
<entry>
<title>tor-netdoc: Apply deferred rustfmt churn</title>
<updated>2026-04-29T17:48:03Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-29T17:24:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1153b25ffc98ec8cddf61fc5c03f0a896587bce7'/>
<id>urn:sha1:1153b25ffc98ec8cddf61fc5c03f0a896587bce7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-netdoc: Abolish poc's netstatus signature type</title>
<updated>2026-04-29T17:48:03Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-29T16:15:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f33cdcf44c4654e7043f7e93baa05eb7318ab005'/>
<id>urn:sha1:f33cdcf44c4654e7043f7e93baa05eb7318ab005</id>
<content type='text'>
Use prod's Signature instead.

This gets rid of:

 * The old parsing code.  We have a new approach based on
   ItemValueParseable, KeywordOrString and and DigestAlgoInSignature.

 * The duplicate DirectorySignaturesHashesAccu and its temporary conversions.

poc's verify_timeless function needs a little adjustment for the new
struct layout.
</content>
</entry>
<entry>
<title>tor-dirserver: Fix for missing_extra_infos() for NULL</title>
<updated>2026-04-28T16:27:56Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-04-28T08:09:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=67c4e02d595fed7ce3afc06e43f2577244b67ff4'/>
<id>urn:sha1:67c4e02d595fed7ce3afc06e43f2577244b67ff4</id>
<content type='text'>
If extra-infos is set to NULL, which might be the case for micro
descriptors or even router descriptors because the field is optional
there, this SQL query fails because it cannot LEFT JOIN
server.extra_unsigned_sha1 when this field is NULL.

To fix this, we simply add an additional clause to the WHERE statement
that filters such rows out.
</content>
</entry>
<entry>
<title>tor-dirserver: Make fingerprint optional in router_descriptor</title>
<updated>2026-04-28T16:27:44Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-04-23T15:30:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=86f129e1ae01cac52912d3fbb1a0fef320d52ce7'/>
<id>urn:sha1:86f129e1ae01cac52912d3fbb1a0fef320d52ce7</id>
<content type='text'>
This commit changes the schema to make the fingerprint optional.
Reason for this is, that microdescriptors are also stored in this table
and microdescriptors only contain an OPTIONAL onion-key, meaning it may
not always be possible to determine this value from a microdescriptor,
thereby making it silly to require it here.
</content>
</entry>
</feed>
