<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-netdoc/src/parse2.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-04-28T13:58:19Z</updated>
<entry>
<title>tor-netdoc: Un-gate "plain-consensus" cargo feature</title>
<updated>2026-04-28T13:58:19Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-28T13:08:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=36d175b2728385c46067e421934f9262d0b8057e'/>
<id>urn:sha1:36d175b2728385c46067e421934f9262d0b8057e</id>
<content type='text'>
As per #2492.
</content>
</entry>
<entry>
<title>tor-netdoc: Gate authcert/encoded.rs and poc behind incomplete and plain-consensus</title>
<updated>2026-04-23T15:32:06Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-23T14:48:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a37a1511e15cb7c2838d63f6417809a2ddc44f6e'/>
<id>urn:sha1:a37a1511e15cb7c2838d63f6417809a2ddc44f6e</id>
<content type='text'>
"incomplete" is correct since encoded authcert depends on votes.

"plain-consensus" is going backwards, but stripping "plain-consensus"
gates from everything will be very intrusive.
</content>
</entry>
<entry>
<title>tor-netdoc: Move raw_data_object to new container module</title>
<updated>2026-04-01T11:18:14Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-03-26T12:23:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=178293033011d1cb7f3ce471d652dd15e5d831c0'/>
<id>urn:sha1:178293033011d1cb7f3ce471d652dd15e5d831c0</id>
<content type='text'>
This will allow us to use it for encoding as well as parsing.
</content>
</entry>
<entry>
<title>tor-netdoc: Apply deferred rustfmt churn to imports</title>
<updated>2026-03-19T10:37:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-03-11T12:59:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9427eca66096a2a333fafb360532a3679dc52fd9'/>
<id>urn:sha1:9427eca66096a2a333fafb360532a3679dc52fd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-netdoc: parse2: Don't impl NetdocParseable for bodies of signed docs</title>
<updated>2026-03-19T10:37:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-03-11T12:24:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5e5dc10f0f4d477bf0e8e4d2197610c149a59541'/>
<id>urn:sha1:5e5dc10f0f4d477bf0e8e4d2197610c149a59541</id>
<content type='text'>
Such an impl is a footgun.  Explain this in docs &amp; comments.
</content>
</entry>
<entry>
<title>tor-netdoc: parse2: Unify top-level derive as NetdocUParseablenverified</title>
<updated>2026-03-19T10:37:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-03-09T17:48:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=575261d3f0c6f537640ecbe810396aac35652de2'/>
<id>urn:sha1:575261d3f0c6f537640ecbe810396aac35652de2</id>
<content type='text'>
Replace the two separate NetdocParseable and NetdocUnverified derives,
for toplevel signed documents, with a single derive.

This makes the derive API simpler.  It will also make it reasonably
possible to avoid deriving NetdocParseable directly for body structs.
Such impls are a security hazard!

In detail:
 * Rename NetdocUnverified to NetdocParseableUnverified
 * Have it use $IMPL_NETDOC_PARSEABLE from the NetdocParseable deftly
   module so that it derives NetdocParseable for the body.
   (We'll change this later in the series.)
 * Adjust the docs and all call sites.
</content>
</entry>
<entry>
<title>tor-netdoc: parse2: Move hash out of signature items</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:06:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=aefa48e251f514a2cdbcb9e4a26292438b74af68'/>
<id>urn:sha1:aefa48e251f514a2cdbcb9e4a26292438b74af68</id>
<content type='text'>
During encoding, including these hashes in the signature items makes
no sense.  The hashes are an *input* to the signature items, but not
part of them.

Move the hashes out of the items.  Instead, provide each signatures
section type with a hash accumulator type, in which the hash(es) are
stored.
</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-netdoc: NetdocParseableSignatures: Make into its own trait</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:08:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=785576835464aa7737e06d0088f377548df0e62b'/>
<id>urn:sha1:785576835464aa7737e06d0088f377548df0e62b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-netdoc: NetdocParseableSignatures: Make into its own macro</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:04:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e12328a78e03425465320d98ad695c00614dac8d'/>
<id>urn:sha1:e12328a78e03425465320d98ad695c00614dac8d</id>
<content type='text'>
This is going to be its own trait and it is usually best if macros are
named after traits, rather than having the macro derive a different
trait depending on meta attributes.
</content>
</entry>
</feed>
