<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-hsclient/src/connect.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-23T11:47:33Z</updated>
<entry>
<title>tor-hsclient: Mockable: Do concrete calls with UFCS</title>
<updated>2023-05-23T11:47:33Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-05-22T13:31:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5ba7f31c1d6db0eeed5e83ce0c7bbed027de6df1'/>
<id>urn:sha1:5ba7f31c1d6db0eeed5e83ce0c7bbed027de6df1</id>
<content type='text'>
Method dispatch rules mean that if the receiver type of the actual
function changes, `self.call()` can turn into a purely-recursive call
which overflows the stack.

Async Rust doesn't have the usual warning for this situation :-(.

UFCS is clumsier but doesn't have that problem because it involves
much less magical dispatch.  Instead of generating a recursive call
which overflows the stack, it fails to compile.
</content>
</entry>
<entry>
<title>tor-hsclient: Fix MockableClientCirc for ClientCirc changes</title>
<updated>2023-05-23T11:47:33Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-05-22T13:31:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=79b9a26df05ae1364a02de51524d16026e9446be'/>
<id>urn:sha1:79b9a26df05ae1364a02de51524d16026e9446be</id>
<content type='text'>
ClientCirc::begin_dir_stream now takes Arc&lt;Self&gt;.  Method resolution
rules mean that this code would just recurse, leading to a stack
overflow.
</content>
</entry>
<entry>
<title>Refactor ClientCirc APIs to use Arc&lt;ClientCirc&gt;.</title>
<updated>2023-05-16T13:02:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-16T13:02:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ee390c423e7df0b678d77a8685f45dc526581910'/>
<id>urn:sha1:ee390c423e7df0b678d77a8685f45dc526581910</id>
<content type='text'>
Now ClientCirc is no longer `Clone`, and the things that need it
to be `Clone` instead return and use an Arc&lt;ClientCirc&gt;
We're doing this so that ClientCirc can participate in the RPC
system, and so that its semantics are more obvious.

Closes #846.

Thanks to the type system, this was a much simpler refactoring than
I had feared it would be.
</content>
</entry>
<entry>
<title>hsclient: descriptor_ensure no longer wraps the descriptor in TimerangeBound.</title>
<updated>2023-05-13T11:48:37Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-05-05T13:05:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=69924275968c1bbb5567a800bbb3d8d99d5250f3'/>
<id>urn:sha1:69924275968c1bbb5567a800bbb3d8d99d5250f3</id>
<content type='text'>
`descriptor_fetch_attempt` now returns a `TimerangeBound&lt;HsDesc&gt;` (and
so does `parse_descript_validate`).

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>hsclient: Compute HsDesc validity time from the TimerangeBounds of its layers.</title>
<updated>2023-05-13T11:48:20Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-05-03T22:56:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=92e0b6a0290578e89d502898957cbdb7bc970dea'/>
<id>urn:sha1:92e0b6a0290578e89d502898957cbdb7bc970dea</id>
<content type='text'>
This makes `descriptor_ensure` refetch the descriptor if either of its
layers (inner or outer) expires.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>hsclient: Build cached descriptor TimerangeBounds from descriptor lifetime.</title>
<updated>2023-05-13T11:48:13Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-04-27T11:03:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=88ea5032f4588da7ebafdc262f5db64e561d76af'/>
<id>urn:sha1:88ea5032f4588da7ebafdc262f5db64e561d76af</id>
<content type='text'>
This makes `descriptor_ensure` refetch the descriptor if it has been
cached for longer than `descriptor-lifetime` minutes.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>fix a couple clippy lints</title>
<updated>2023-05-08T16:01:28Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2023-05-08T16:01:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fe68f0a119dc02b2449c698ca83a8ee5437f656b'/>
<id>urn:sha1:fe68f0a119dc02b2449c698ca83a8ee5437f656b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-netdir: Shuffle the list of HS dirs used for downloading descriptors.</title>
<updated>2023-05-04T16:53:58Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-04-27T16:34:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6b9e37e07cd5e49ed2d47f9a9f6925dc9a3fcf59'/>
<id>urn:sha1:6b9e37e07cd5e49ed2d47f9a9f6925dc9a3fcf59</id>
<content type='text'>
We'll probably need the hsdir list to be shuffled deterministically for
testing purposes (this might be desirable, for example, when we write a
test for HS descriptor download retries).

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-netdir: Update tests to parse the descriptor, make test consensus lifetime configurable.</title>
<updated>2023-05-03T16:25:25Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-04-26T17:25:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=30983c764f6a646782f51fd540f205dba0347933'/>
<id>urn:sha1:30983c764f6a646782f51fd540f205dba0347933</id>
<content type='text'>
Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>hsclient: Use a real HsDesc instead of an unparsed string.</title>
<updated>2023-05-03T16:25:21Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-04-26T12:40:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c6fccbbb01bc767157ba7f4ac5cd9c5c227170a6'/>
<id>urn:sha1:c6fccbbb01bc767157ba7f4ac5cd9c5c227170a6</id>
<content type='text'>
Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
</feed>
