<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirclient/src/err.rs, branch main</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=main</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-03-04T15:41:19Z</updated>
<entry>
<title>tor-dirclient: Only fail on empty GET responses</title>
<updated>2026-03-04T15:41:19Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-02-09T10:20:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7a10a7703b4417d6f219fc6b7b0452b416476112'/>
<id>urn:sha1:7a10a7703b4417d6f219fc6b7b0452b416476112</id>
<content type='text'>
This commit fixes the previous check to only fail on empty GET
responses.  For this, it introduces a `method` field into
`DirResponse`, which is required to determine the method there.

Doing this is reasonable for an HTTP client, as responses have different
meanings depending on the request method used.
</content>
</entry>
<entry>
<title>tor-dirclient: Disallow empty successful responses</title>
<updated>2026-03-04T15:41:19Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-02-05T16:07:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1eb0eb8620648c187de957dd66027ba762a08a88'/>
<id>urn:sha1:1eb0eb8620648c187de957dd66027ba762a08a88</id>
<content type='text'>
This commit disallows empty responses with a status code 200.

From a pure HTTP level, this is totally valid, but it does not make any
sense in the context of the Tor directory protocol, where an empty
response only makes sense with a 404.

The motivation for this is that a work-in-progress
tor_dirclient::send_request wrapper for tor-dirserver passes the
response into the parse2 multiple function which returns a Vec&lt;T&gt;.
Interfacing code would then always have to check for an empty length and
do respective error handling, which should already fail at an earlier
level (tor-dirclient) instead.
</content>
</entry>
<entry>
<title>tor-dirclient: Document retriability of failures</title>
<updated>2026-02-05T14:56:28Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-02-05T13:48:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=50b0f329ad33d7fe6f955909b319f8a7ea515293'/>
<id>urn:sha1:50b0f329ad33d7fe6f955909b319f8a7ea515293</id>
<content type='text'>
This commit documents the retriability of `RequestFailedError`,
following an IRC conversation with nickm.
</content>
</entry>
<entry>
<title>tor-dirclient: Improve upon error logging</title>
<updated>2025-12-10T11:20:01Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-10-28T11:51:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=99b3a6ffa8527bc2b7161c46e29305a64b94fd41'/>
<id>urn:sha1:99b3a6ffa8527bc2b7161c46e29305a64b94fd41</id>
<content type='text'>
This commit improves upon the error logging of the `tor-dirclient` crate
in order to not just log the location/source of an error but also the
actual reason of an error.
</content>
</entry>
<entry>
<title>dirclient: Use the new Tunnel interface</title>
<updated>2025-08-05T18:23:02Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-05-05T17:29:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f89c0b38df232e5c8aa87195fb075e528e883706'/>
<id>urn:sha1:f89c0b38df232e5c8aa87195fb075e528e883706</id>
<content type='text'>
This entirely removes the requirement on ClientCirc.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>dirclient: treat excessive incoming cells as suspicious.</title>
<updated>2025-07-10T13:41:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-06-24T18:31:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=14f9dacc4c077586e483dd6b8f3b349294d2d4a1'/>
<id>urn:sha1:14f9dacc4c077586e483dd6b8f3b349294d2d4a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hs*: Define some HsDesc errors as _suspicious_.</title>
<updated>2025-07-10T13:41:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-06-23T18:35:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6ff683b2cf209ff0598efcdae7947ed6a8fbebbe'/>
<id>urn:sha1:6ff683b2cf209ff0598efcdae7947ed6a8fbebbe</id>
<content type='text'>
These errors are suspicious as hsdir inflation attacks, in the
context of prop360.
</content>
</entry>
<entry>
<title>dirclient: New error type for too-long headers.</title>
<updated>2025-07-10T13:41:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-06-23T17:45:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2d3df3c23e7e7cb30665db71c1d51bc7daa968a5'/>
<id>urn:sha1:2d3df3c23e7e7cb30665db71c1d51bc7daa968a5</id>
<content type='text'>
(This was previously called a parse error, which isn't right.)
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2024-09-03T08:09:02Z</updated>
<author>
<name>Dimitris Apostolou</name>
<email>dimitris.apostolou@icloud.com</email>
</author>
<published>2024-09-03T08:09:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=676f913463b7d84f34dd6101b99d03ef79cf57ad'/>
<id>urn:sha1:676f913463b7d84f34dd6101b99d03ef79cf57ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Preserve HTTP status text in dirclient errors.</title>
<updated>2023-11-29T20:14:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-29T20:09:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e38219a1688f76288c61e42ee56cbd646a1c76c8'/>
<id>urn:sha1:e38219a1688f76288c61e42ee56cbd646a1c76c8</id>
<content type='text'>
The HTTP status text is often useful for diagnosing errors.  Tor
directory and hsdir caches frequently put useful messages there,
especially when rejecting an uploaded document.

Inspired by #1142.
</content>
</entry>
</feed>
