<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-netdoc/src/parse2/poc/netstatus.rs, 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:43:10Z</updated>
<entry>
<title>tor-netdoc: introduce VoteStatusConsensus and VoteStatusVote</title>
<updated>2026-05-27T12:43:10Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-05-12T20:00:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=785e7cd9676de48a9102bf314aa11f29b9972717'/>
<id>urn:sha1:785e7cd9676de48a9102bf314aa11f29b9972717</id>
<content type='text'>
Replacing poc's.  The new define_fixed_string macro is really helping
here.
</content>
</entry>
<entry>
<title>tor-netdoc: NetworkStatusVersionItem, replacing poc's tuple</title>
<updated>2026-05-27T12:43:10Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-05-12T20:20:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bfa47db273bede961d4ac14426fb3e4c0c5f48a2'/>
<id>urn:sha1:bfa47db273bede961d4ac14426fb3e4c0c5f48a2</id>
<content type='text'>
Defining a struct gives us a place to hang the documentation, and
avoids an accidentally-exhaustive tuple.
</content>
</entry>
<entry>
<title>tor-netdoc: NetworkStatusVersion, replacing poc's with FixedString</title>
<updated>2026-05-27T12:43:09Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-05-12T19:33:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ae3016c5d8f2a8d1fed3beebb1af17d10b58c3d5'/>
<id>urn:sha1:ae3016c5d8f2a8d1fed3beebb1af17d10b58c3d5</id>
<content type='text'>
</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: Fix signature of hash_slice_for_verification</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:30:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=038c01aa4ba8501b8d107a27ccfd577ccf3a4ac4'/>
<id>urn:sha1:038c01aa4ba8501b8d107a27ccfd577ccf3a4ac4</id>
<content type='text'>
In order to handle marked vs unmarked SHA1 correctly, it needs the
original DigestAlgoInSignature.

The only call site is in poc's verification code.
</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-netdoc: Promote hash_slice_for_verification to prod</title>
<updated>2026-04-29T16:40:54Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-29T16:15:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8bcf8d44f085f268ae21c1c69cb1cf026dd27dee'/>
<id>urn:sha1:8bcf8d44f085f268ae21c1c69cb1cf026dd27dee</id>
<content type='text'>
This function is not right, yet.  We're going to fix it later.

Review with --color-moved.
</content>
</entry>
<entry>
<title>tor-netdoc: Introduce DirectorySignaturesHashesAccu::update_from</title>
<updated>2026-04-29T16:40:54Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-29T16:08:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5aa7b82f5ec8469981226ff7dcfebb39fb846013'/>
<id>urn:sha1:5aa7b82f5ec8469981226ff7dcfebb39fb846013</id>
<content type='text'>
This now contains the hashing code that was in poc.

In poc it was entangled with the signature type, mostly because once
upon a time the hash was inside the signature.

In the real code we can make it a standalone method.  It takes
DigestAlgoInSignature so that it will be able to handle the explicit
vs implicit sha1 anomaly correctly - but it can't do that yet because
the necessary field doesn't exist yet.

Also, we are going to want to make it a bit lazier - preserve the
MR-blocking todo for that.

A handful of lines are being actually moved verbatim,
so --color-moved may help a bit.
</content>
</entry>
<entry>
<title>tor-netdoc: Promote poc's DirectorySignaturesHashesAccu to prod</title>
<updated>2026-04-29T16:33:39Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-29T15:53:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ea5d42d936c841836dfda5050ec905be517b919b'/>
<id>urn:sha1:ea5d42d936c841836dfda5050ec905be517b919b</id>
<content type='text'>
There are definitely some things wrong with this, but they all have
MR-blocking TODOs so we can promote this type now.

Largely code motion.  Review with --color-moved.
</content>
</entry>
<entry>
<title>tor-netdoc: Make some items temporarily pub(crate)</title>
<updated>2026-04-29T16:33:39Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-29T14:38:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d46bbe7bb4cbb27cff6f2198b0de06941968401d'/>
<id>urn:sha1:d46bbe7bb4cbb27cff6f2198b0de06941968401d</id>
<content type='text'>
</content>
</entry>
</feed>
