<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirserver/src/mirror/operation.rs, branch arti-v2.3.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.3.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.3.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-04-27T15:46:58Z</updated>
<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>
<entry>
<title>tor-dirserver: Avoid using NetdocParseable for consensuses</title>
<updated>2026-03-19T10:37:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-03-11T13:26:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8667d8562ac40df206c5cd70d74ba58911d78671'/>
<id>urn:sha1:8667d8562ac40df206c5cd70d74ba58911d78671</id>
<content type='text'>
We want to stop deriving NetdocParseable directly for body structs.

Doing so reveals a call site here in tor-dirmirror where a consensus
is parsed and the body data used, but without verifying the
signatures.

Do this explicitly with the hoop-jumping which is going to become
deliberately unavoidable.  Add a TODO comment because I'm not sure we
have decided explicitloy that this is OK.
</content>
</entry>
<entry>
<title>tor-dirserver: Avoid using NetdocParseable for consensuses (prep)</title>
<updated>2026-03-19T10:37:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-03-11T13:25:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3891ddd1d2a28f1a41a6e2dfc9f48d032b700a86'/>
<id>urn:sha1:3891ddd1d2a28f1a41a6e2dfc9f48d032b700a86</id>
<content type='text'>
Formatting changes which make the next commit more readable.
</content>
</entry>
<entry>
<title>tor-netdoc: parse2: Introduce SignatureData struct</title>
<updated>2026-03-19T10:37:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-03-03T19:24:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=399c09200a008b02f4a9551fed22032feacf198d'/>
<id>urn:sha1:399c09200a008b02f4a9551fed22032feacf198d</id>
<content type='text'>
This is going to contain body information, and the hashes, too.
</content>
</entry>
<entry>
<title>tor-dirserver: Require AuthCerts to make progress</title>
<updated>2026-03-09T09:04:39Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-03-04T17:00:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=49c36ce0ba67bc95814c843932727f346dacd417'/>
<id>urn:sha1:49c36ce0ba67bc95814c843932727f346dacd417</id>
<content type='text'>
This commit changes the functionality of the AuthCerts state to only
report a success when at least a single certificate was included in the
response.
</content>
</entry>
<entry>
<title>tor-dirserver: Move POC to own module</title>
<updated>2026-03-09T08:31:28Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-03-02T11:20:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2752d529bf9cf54f5a6d4f75f4da85c38cc8b752'/>
<id>urn:sha1:2752d529bf9cf54f5a6d4f75f4da85c38cc8b752</id>
<content type='text'>
This commit moves dirserver POC code to an own module to semantically
indicate it is not production ready.
</content>
</entry>
<entry>
<title>tor-dirserver: Document stream drop</title>
<updated>2026-03-09T08:31:28Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-03-02T11:15:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f1f5de93420f28756b0b04e5c5b3bd95ce511775'/>
<id>urn:sha1:f1f5de93420f28756b0b04e5c5b3bd95ce511775</id>
<content type='text'>
This commit documents why we drop the HTTP TCP stream and why this is
fine, namely because this is compliant HTTP/1.0 behavior where there is
no connection reuse.
</content>
</entry>
<entry>
<title>tor-dirserver: Link to discussion regarding TODO</title>
<updated>2026-03-09T08:31:28Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-03-02T10:56:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ef79a79f4151bdc3b3d83b4b460e52cc3ba1da31'/>
<id>urn:sha1:ef79a79f4151bdc3b3d83b4b460e52cc3ba1da31</id>
<content type='text'>
This commit links the discussion for the TODO for the dirmirror's
handling of forward compatibility with netdocs.
</content>
</entry>
</feed>
