<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-netdoc/src/doc/hsdesc/inner.rs, branch arti-v1.1.5</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.5</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.5'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-05-16T21:53:15Z</updated>
<entry>
<title>Replace usage of KeyUnknownCert::check_key.</title>
<updated>2023-05-16T21:53:15Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-15T20:59:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=56c6e4345b2e9e46684783de25bd56b9ad7c6a8f'/>
<id>urn:sha1:56c6e4345b2e9e46684783de25bd56b9ad7c6a8f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>netdoc: Rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`.</title>
<updated>2023-05-10T14:52:28Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-05-10T14:40:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=099b2315b015b96cd8163a364f92810ea4982cfa'/>
<id>urn:sha1:099b2315b015b96cd8163a364f92810ea4982cfa</id>
<content type='text'>
`ParseErrorSource` was originally meant to represent a parsing error,
this enum has since gained some variants that aren't really parsing
related (`Signature`, `CertSignature`, `UntimelyDescriptor`).

Since this error type is now used for general-purpose netdoc errors,
let's rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-netdoc: Expose test data under new "testing" feature flag</title>
<updated>2023-04-05T10:02:36Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-04-03T15:55:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=38805f53b2c79df7e50a11157acc12807b1f1da3'/>
<id>urn:sha1:38805f53b2c79df7e50a11157acc12807b1f1da3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-netdoc: Fix feature builds</title>
<updated>2023-04-05T10:02:33Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-04-03T16:15:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=646e291f969a6b9357c921ace403ff81f2ffef0b'/>
<id>urn:sha1:646e291f969a6b9357c921ace403ff81f2ffef0b</id>
<content type='text'>
Fixes
  cargo +stable test --locked --offline F -p tor-netdoc
  cargo +stable clippy -p tor-netdoc F --all-targets
for values of F including
  --all-features
  --features=hs-client
  --features=hs-common
  --features=hs-service
  (nothing)
</content>
</entry>
<entry>
<title>Add builder for encoding hidden service descriptors.</title>
<updated>2023-03-24T18:57:49Z</updated>
<author>
<name>Gabi Moldovan</name>
<email>gabi@gotpcrel.net</email>
</author>
<published>2023-03-16T13:51:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a1074c00276b3f009444a9af0ee06a0f2d08d721'/>
<id>urn:sha1:a1074c00276b3f009444a9af0ee06a0f2d08d721</id>
<content type='text'>
This introduces the `NetdocBuilder` trait described in
`netdoc-builder.md` and a new `tor-netdoc::doc::hsdesc::build` module,
which exports the `HsDescBuilder`. Hidden services will use
`HsDescBuilder` to build and encode hidden service descriptors.

There are several TODOs in the code that I'm planning to address
separately.

Partially addresses #745.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-netdoc: Validate inner certs in HsDesc</title>
<updated>2023-03-01T14:48:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-01T14:43:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a4a305c1cf98e160ce51c2b8461d7ae45d78ce51'/>
<id>urn:sha1:a4a305c1cf98e160ce51c2b8461d7ae45d78ce51</id>
<content type='text'>
This makes our implementation behave the same as the C tor
implementation, by validating all of the expiration and signatures
on the certificates in the inner document.

(It is still not semantically necessary to check these certs: the
document in which they appear is already signed by the key with
which they are allegedly signed.)

Closes #744
</content>
</entry>
<entry>
<title>netdoc: Remove a TODO hs comment.</title>
<updated>2023-02-17T20:06:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-17T20:06:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=757c6d333f07ddfd20c4bf5bdf3f9393174c4116'/>
<id>urn:sha1:757c6d333f07ddfd20c4bf5bdf3f9393174c4116</id>
<content type='text'>
It said to check whether C enforces an absence of extraneous bytes
at the end of the link specifiers.  It does, in
`hs_desc.c:decode_link_specifiers()`, where it says:

```
  if (link_specifier_list_parse(&amp;specs, decoded,
                                (size_t) decoded_len) &lt; decoded_len) {
    goto err;
  }
```

The comparison with "decoded_len" checks whether all the bytes were
decoded.
</content>
</entry>
<entry>
<title>tor-netdoc: Run rustfmt (separately from the refactoring)</title>
<updated>2023-02-15T17:17:01Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-02-15T17:12:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=676241c3490ee25c5b09f1b3c5693021e6de2030'/>
<id>urn:sha1:676241c3490ee25c5b09f1b3c5693021e6de2030</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-netdoc: Remove many needless calls to .iter() and .into_iter()</title>
<updated>2023-02-15T17:17:01Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-02-15T16:18:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4a91c732fe4b597ad4e90564ca4630ac3048938a'/>
<id>urn:sha1:4a91c732fe4b597ad4e90564ca4630ac3048938a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>netdoc: Add a feature to expose hsdesc inner doc parsers</title>
<updated>2023-02-14T12:44:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-14T12:44:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=79dd2ef99505242751e1f6ff0548072b21ed53cc'/>
<id>urn:sha1:79dd2ef99505242751e1f6ff0548072b21ed53cc</id>
<content type='text'>
We want to fuzz these parsers, but there's no currently way to get
at the parsers for inner documents without going through a lot of
encryption.  (Coverage-guided fuzzers are powerful, but they
can't find SHA3 preimages.)
</content>
</entry>
</feed>
