<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-guardmgr/src/pending.rs, branch arti-v0.0.1</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.1</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2021-10-29T12:39:04Z</updated>
<entry>
<title>Improve some documentation links</title>
<updated>2021-10-29T12:39:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-29T12:39:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1ee24ce6537373448d8fd5fb074768c6887cb90b'/>
<id>urn:sha1:1ee24ce6537373448d8fd5fb074768c6887cb90b</id>
<content type='text'>
Instead of putting a fully qualified name in the text, in most cases
we should just use the short name of the type or function we're
referring to.

In other words, instead of saying [`crate::module::Foo`], we should
typically say [`Foo`](crate::module::Foo).
</content>
</entry>
<entry>
<title>Do not blame a guard for failures on non-random circuits.</title>
<updated>2021-10-26T16:03:23Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-25T15:45:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=72ebaed16bc5c4e79c29fe135b62b28f945bdcd0'/>
<id>urn:sha1:72ebaed16bc5c4e79c29fe135b62b28f945bdcd0</id>
<content type='text'>
We must not apply our new path-bias behavior (where we blame a guard
if it gives us too many indeterminate circuit failures) if the path
was not chosen at random.  If too many random paths fail, we know
that's suspicious, since the other relays are a random sample.  But
if a bunch of user-provided paths fail, that could simply be because
the user's chosen exit is down.
</content>
</entry>
<entry>
<title>Fix most warnings from nightly.</title>
<updated>2021-10-19T20:21:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-19T20:21:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=445ec6d22053d3f76534844b6c02aefa1fbaedd7'/>
<id>urn:sha1:445ec6d22053d3f76534844b6c02aefa1fbaedd7</id>
<content type='text'>
(One represents code that I forgot to write.)
</content>
</entry>
<entry>
<title>Use better reporting for guard status.</title>
<updated>2021-10-13T15:24:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-13T15:24:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f15cde80de0b5f6f81a7426addba35c3c7506112'/>
<id>urn:sha1:f15cde80de0b5f6f81a7426addba35c3c7506112</id>
<content type='text'>
The previous code would report all failures to build a circuit as
failures of the guard.  But of course that's not right:  If we
fail to extend to the second or third hop, that might or might not
be the guard's fault.

Now we use the "pending status" feature of the GuardMonitor type so
that an early failure is attributed to the guard, but a later
failure is attributed as "Indeterminate".  Only a complete circuit
is called a success.  We use a new "GuardStatusHandle" type here so
that we can report the status early if there is a timeout.
</content>
</entry>
<entry>
<title>Rename GuardStatusMsg, make it public, add an `Indeterminate` case.</title>
<updated>2021-10-13T14:55:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-13T14:55:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e625b2cff5f3f1c04ecaa026c46c0ea82e824b1a'/>
<id>urn:sha1:e625b2cff5f3f1c04ecaa026c46c0ea82e824b1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Resolve small issues and XXXX/TODO comments in GuardMgr.</title>
<updated>2021-10-07T18:03:21Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-07T18:03:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0ff56a3138beb966da148235cb7af35786216a37'/>
<id>urn:sha1:0ff56a3138beb966da148235cb7af35786216a37</id>
<content type='text'>
By the time I merge this, most of the comments should have tickets
to go with them.
</content>
</entry>
<entry>
<title>Tests for top-level GuardMgr.</title>
<updated>2021-10-07T16:09:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-06T21:19:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=00acc5c5b80ed000f14376734f41afb819bd27c4'/>
<id>urn:sha1:00acc5c5b80ed000f14376734f41afb819bd27c4</id>
<content type='text'>
Also, refactor our message handling to be more like the tor_proto
reactors.  The previous code had a bug where, once the stream of
events was exhausted, we wouldn't actually get any more
notifications.
</content>
</entry>
<entry>
<title>Initial backend implementation for guard node manager.</title>
<updated>2021-10-07T14:45:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-09-10T15:18:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0779923d6474bb72427d19b2e504b3fd370b78a2'/>
<id>urn:sha1:0779923d6474bb72427d19b2e504b3fd370b78a2</id>
<content type='text'>
There are some missing parts here (like persistence and tests)
and some incorrect parts (I am 90% sure that the "exploratory
circuit" flag is bogus).  Also it is not integrated with the circuit
manager code.
</content>
</entry>
</feed>
