<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/doc/semver_status.md, branch arti-v0.2.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.2.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-03-30T14:39:09Z</updated>
<entry>
<title>Implement Ord for Ed25519Identity.</title>
<updated>2022-03-30T14:39:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T22:25:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ea520898fd66f0b2d56a02e5873c202a71b6ef7a'/>
<id>urn:sha1:ea520898fd66f0b2d56a02e5873c202a71b6ef7a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update semver_status from recent round of movement.</title>
<updated>2022-03-30T14:39:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T21:09:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b28863f03d51ab051665f47b06bd54d3e7b966b4'/>
<id>urn:sha1:b28863f03d51ab051665f47b06bd54d3e7b966b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move fallback.rs into guardmgr.</title>
<updated>2022-03-30T14:34:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T17:38:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=80b65c3a4d4108c6b4b0cb91722f89c8e5859b7d'/>
<id>urn:sha1:80b65c3a4d4108c6b4b0cb91722f89c8e5859b7d</id>
<content type='text'>
This is the logical place for it, I think: the GuardMgr's job is to
pick the first hop for a circuit depending on remembered status for
possible first hops.  Making this change will let us streamline the
code that interacts with these objects.
</content>
</entry>
<entry>
<title>Make daemon tasks self-contained; introduce NetDirProvider</title>
<updated>2022-03-30T13:26:43Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-03-28T12:54:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ac64bdea2744c6cd0ede0562954efcfe479afd94'/>
<id>urn:sha1:ac64bdea2744c6cd0ede0562954efcfe479afd94</id>
<content type='text'>
The various background daemon tasks that `arti-client` used to spawn are
now handled inside their respective crates instead, with functions
provided to spawn them that return `TaskHandle`s.

This required introducing a new trait, `NetDirProvider`, which steals
some functionality from the `DirProvider` trait to enable `tor-circmgr`
to depend on it (`tor-circmgr` is a dependency of `tor-dirmgr`, so it
can't depend on `DirProvider` directly).

While we're at it, we also make some of the tasks wait for events from
the `NetDirProvider` instead of sleeping, slightly increasing
efficiency.
</content>
</entry>
<entry>
<title>Merge branch 'netinfo-clock-skew' into 'main'</title>
<updated>2022-03-23T12:49:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-23T12:49:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=791394cd2b455646c5e8938e7592d73b28c7977b'/>
<id>urn:sha1:791394cd2b455646c5e8938e7592d73b28c7977b</id>
<content type='text'>
tor-proto: add the ability to learn clock skew from NETINFO cells

See merge request tpo/core/arti!410</content>
</entry>
<entry>
<title>tor-proto: better errors when handshake fails due to untimely certs</title>
<updated>2022-03-23T12:24:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-14T18:33:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0b2cf533ee5771fdb16255652837af69c316642e'/>
<id>urn:sha1:0b2cf533ee5771fdb16255652837af69c316642e</id>
<content type='text'>
We now check the handshake certificates unconditionally, and only
report them as _expired_ as a last resort.

(Rationale: if somebody is presenting the wrong identity from a year
ago, it is more interesting that they are presenting the wrong ID
than it is that they are doing so with an expired cert.

We also now report a different error if the certificate is expired,
but its expiration is within the range of reported clock skew.

(Rationale: it's helpful to distinguish this case, so that we can
blame the failure on possible clock skew rather than definitely
attributing it to a misbehaving relay.)

Part of #405.
</content>
</entry>
<entry>
<title>tor-proto: add a backend to detect reported clock skew.</title>
<updated>2022-03-23T12:24:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-14T15:51:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3885a2c05b64e6d071adfabdf5eb957fab001a5d'/>
<id>urn:sha1:3885a2c05b64e6d071adfabdf5eb957fab001a5d</id>
<content type='text'>
NETINFO cells, which are sent in every handshake, may contain
timestamps.  This patch adds an accessor for the timestamp in the
Netinfo messages, and teaches the tor-proto code how to compute the
minimum clock skew in the code.

The computation isn't terribly precise, but it doesn't need to be:
Tor should work fine if your clock is accurate to within a few
hours.

This patch also notes a Y2038 problem in the protocol: see
torspec#80.

Part of #405.
</content>
</entry>
<entry>
<title>dirclient: Collect and expose peer information from errors.</title>
<updated>2022-03-21T13:06:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-18T16:03:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=acfa0f7770f0b7146908e1975d25976315bf2070'/>
<id>urn:sha1:acfa0f7770f0b7146908e1975d25976315bf2070</id>
<content type='text'>
This commit refactors the dirclient error type into two cases:
errors when constructing a circuit, and errors that occur once we
already have a one-hop circuit.  The latter can usually be
attributed to the specific cache we're talking to.

This commit also adds a function to expose the information about
which directory gave us the info.
</content>
</entry>
<entry>
<title>Expose more peer information from circuit build failures</title>
<updated>2022-03-21T13:06:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-18T15:57:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d38aafa054a89d7e5217b48d9161d899d18553aa'/>
<id>urn:sha1:d38aafa054a89d7e5217b48d9161d899d18553aa</id>
<content type='text'>
We already have the ability to get peer information from ChanMgr
errors, and therefore from any RetryErrors that contain ChanMgr
errors.

This commit adds optional peer information to tor-proto errors, and
a function to expose whatever peer information is available.
</content>
</entry>
<entry>
<title>circmgr: Change API for using FallbackDirs</title>
<updated>2022-03-21T13:06:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-17T13:33:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d778a922255a75e36baa5296451e9982045ac777'/>
<id>urn:sha1:d778a922255a75e36baa5296451e9982045ac777</id>
<content type='text'>
It'll soon more convenient to pass in FallbackDirs as a slice of
references, rather than just a slice of FallbackDirs: I'm going to
be changing how we handle these in tor-dirmgr.
</content>
</entry>
</feed>
