<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-chanmgr/src/builder.rs, branch arti-v0.0.4</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.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-01-18T18:06:08Z</updated>
<entry>
<title>tor-chanmgr: Add bootstrap/status reporting.</title>
<updated>2022-01-18T18:06:08Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-17T22:11:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c162e57e29a3bfd1f0e793b25d8c986a96a0a474'/>
<id>urn:sha1:c162e57e29a3bfd1f0e793b25d8c986a96a0a474</id>
<content type='text'>
The information is pretty basic here: we use "have we been able to
connect/TLS-handshake/Tor-handshake" as a proxy for "are we on the
internet? Are we on a reasonably unfiltered part of the internet?"

Eventually we'll want to make the information gathered and exported
more detailed: I've noted a few places in the code.  For now,
however, this is about as good as C Tor does today, and it should be
a good starting point.

This uses a slightly different design from tor-dirmgr.  Instead of
exporting an entire state structure via `postage::watch`, it exports
only the parts of that structure which the user is supposed to
read.  I think that's more reasonable in this case because most of
the possible internal transitions in the tor-chanmgr state don't
cause a change in the exposed status.
</content>
</entry>
<entry>
<title>chanmgr: get rid of Arc around Channel</title>
<updated>2022-01-13T13:12:29Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2022-01-13T13:12:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9b723cba53852ecd3505c0cabc42ca3b5d31ad34'/>
<id>urn:sha1:9b723cba53852ecd3505c0cabc42ca3b5d31ad34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-chanmgr: Fix happy eyeballs comment grammar in builder.rs</title>
<updated>2021-12-14T18:45:19Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2021-12-14T18:45:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e67d4e08213094c74685da72db26a4e01c4d8b00'/>
<id>urn:sha1:e67d4e08213094c74685da72db26a4e01c4d8b00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make TlsConnector wrap TCP connections, not create its own</title>
<updated>2021-12-07T17:00:40Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-12-02T11:44:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b14c5f370eef0a4fc1d2504ce54de1a921472567'/>
<id>urn:sha1:b14c5f370eef0a4fc1d2504ce54de1a921472567</id>
<content type='text'>
`tor-rtcompat`'s `TlsConnector` trait previously included a method to
create a TLS-over-TCP connection, which implied creating a TCP stream
inside that method. This commit changes that, and makes the function
wrap a TCP stream, as returned from the runtime's `TcpProvider` trait
implementation, instead.

This means you can actually override `TcpProvider` and have it apply to
*all* connections Arti makes, which is useful for issues like arti#235
and other cases where you want to have a custom TCP stream
implementation.

This required updating the mock TCP/TLS types in `tor-rtmock` slightly;
due to the change in API, we now store whether a `LocalStream` should
actually be a TLS stream inside the stream itself, and check this
property on reads/writes in order to detect misuse. The fake TLS wrapper
checks this property and removes it in order to "wrap" the stream,
making reads and writes work again.
</content>
</entry>
<entry>
<title>Get rid of tor-proto's ChannelImpl, and use the reactor more instead</title>
<updated>2021-11-03T13:19:45Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-11-03T12:48:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e8e9699c3c239d6c30f9ad414f15d3bad6ec03fd'/>
<id>urn:sha1:e8e9699c3c239d6c30f9ad414f15d3bad6ec03fd</id>
<content type='text'>
Instead of awkwardly sharing the internals of a `tor-proto` `Channel`
between the reactor task and any other tasks, move most of the internals
into the reactor and have other tasks communicate with the reactor via
message-passing to allocate circuits and send cells.

This makes a lot of things simple, and has convenient properties like
not needing to wrap the `Channel` in an `Arc` (though some places in the
code still do this for now).

A lot of test code required tweaking in order to deal with the refactor;
in fact, fixing the tests probably took longer than writing the mainline
code (!). Importantly, we now use `tokio`'s `tokio::test` annotation
instead of `async_test`, so that we can run things in the background
(which is required to have reactors running for the circuit tests).

This is an instance of #205, and also kind of #217.
</content>
</entry>
<entry>
<title>fix/silence clippy lints in test modules</title>
<updated>2021-09-08T15:28:31Z</updated>
<author>
<name>Daniel Eades</name>
<email>danieleades@hotmail.com</email>
</author>
<published>2021-08-30T07:52:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fb3b8b84b5709ebe8a29051c43b82c4eef85decc'/>
<id>urn:sha1:fb3b8b84b5709ebe8a29051c43b82c4eef85decc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move all crates into a `crates` subdirectory.</title>
<updated>2021-08-27T13:53:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-08-27T13:53:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=557a0ff40b3731d4690767de27010bbeff08777d'/>
<id>urn:sha1:557a0ff40b3731d4690767de27010bbeff08777d</id>
<content type='text'>
This will cause some pain for now, but now is really the best time
to do this kind of thing.
</content>
</entry>
</feed>
