<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirserver/src/mirror, 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>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: Store precisely one descriptor hash in schema</title>
<updated>2026-04-27T15:46:58Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-04-14T08:49:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0b07bd3ee6a19af1025c02c52971a9071b937620'/>
<id>urn:sha1:0b07bd3ee6a19af1025c02c52971a9071b937620</id>
<content type='text'>
This commit modifies the consensus_router_descriptor_member table in the
database schema, removing the NOT NULL constraint on unsigned_sha1 and
unsigned_sha2 by replacing it with a new CHECK constraint that checks
that either one of them is set but not both.

The reason for this is as follows: We are going to use this table to
compute the queue of missing descriptors, which means that we can only
populate this table with the data we know from the consensus.  The
consensus however tells us only one of those hashes, namely sha1 in the
case of a consensus-ns and sha2 in the case of a consensus-md.

In other words: This commit can also be seen as an effort to change the
design of the operation in such a way that the queue is obtained
directly from the database and not computed at the start during state
transition.
</content>
</entry>
<entry>
<title>tor-netdoc: Rename `AuthCertUnverified::verify_self_signed`</title>
<updated>2026-03-31T12:41:59Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-03-30T10:13:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c7a6c82f4511e002ee7b937c3881ff3f286a1120'/>
<id>urn:sha1:c7a6c82f4511e002ee7b937c3881ff3f286a1120</id>
<content type='text'>
This method verifies all the signatures, and checks that the signing
authority is in the provided list.  Anyway, authcerts aren't really
self-signed: they're a signature by KS_auth_id_rsa on
KP_auth_sign_rsa.

Note that there is also a `verify_selfcert` method which does only
some of the checks, and has some code duplication.  That will be
cleaned up later.
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2026-03-24T16:04:08Z</updated>
<author>
<name>Tobias Stoeckmann</name>
<email>tobias@stoeckmann.org</email>
</author>
<published>2026-03-24T16:04:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1fb2b8dd4aee7c943ce90d6631be473f2a296fe6'/>
<id>urn:sha1:1fb2b8dd4aee7c943ce90d6631be473f2a296fe6</id>
<content type='text'>
Typos found with codespell
</content>
</entry>
</feed>
