<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rtcompat/src/impls, branch arti-v1.4.3</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.3</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.3'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-04-09T16:25:51Z</updated>
<entry>
<title>Allow StreamOps import to be unused</title>
<updated>2025-04-09T16:25:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-09T16:25:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f79bb13bbd55957a8e67725455cc8460f5064ee0'/>
<id>urn:sha1:f79bb13bbd55957a8e67725455cc8460f5064ee0</id>
<content type='text'>
This comes up on OSX; I hadn't seen it before, so I assume it is new
with Rust 1.86.
</content>
</entry>
<entry>
<title>AF_UNIX terminology: Rename two error structs</title>
<updated>2025-03-24T13:58:54Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-03-06T15:52:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=73157920ffa84d6f1580170a0e40e5fbe3106a67'/>
<id>urn:sha1:73157920ffa84d6f1580170a0e40e5fbe3106a67</id>
<content type='text'>
We change `NoUnixAddressSupport` to `NoAfUnixSocketSupport` because it
doesn't make much sense to talk about support for the addresses
separately from support for the sockets.
</content>
</entry>
<entry>
<title>Fix AF_UNIX terminology in docs, comments, and error messages</title>
<updated>2025-03-24T13:58:54Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-03-06T15:16:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a60165c11c66c579d628a670de56bfcff494c1cd'/>
<id>urn:sha1:a60165c11c66c579d628a670de56bfcff494c1cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'x509-signature-yeet' into 'main'</title>
<updated>2025-03-05T13:50:08Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-03-05T13:50:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f880d8c4bea2cd82aba325b82bb68878bb769e97'/>
<id>urn:sha1:f880d8c4bea2cd82aba325b82bb68878bb769e97</id>
<content type='text'>
Switch from x509-signature to rustls-webpki when using rustls.

Closes #1824 and #1854

See merge request tpo/core/arti!2816</content>
</entry>
<entry>
<title>rustls: move provider-installer to its own function.</title>
<updated>2025-03-04T19:45:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-03-03T15:17:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d206e9b70ddfce0083546d4f1836129985b9abfc'/>
<id>urn:sha1:d206e9b70ddfce0083546d4f1836129985b9abfc</id>
<content type='text'>
We do this so that we can make sure there's a provider installed
when we run the tests.
</content>
</entry>
<entry>
<title>rustls.rs: Replace x509-signature with rustls-webpki</title>
<updated>2025-03-04T19:45:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-02-26T22:02:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ede6d75567c1ee81812478e6137032dd568ddb91'/>
<id>urn:sha1:ede6d75567c1ee81812478e6137032dd568ddb91</id>
<content type='text'>
The x509-signature crate is archived, and won't see any more
releases.  Using it is tying us to ring 0.16 internally,
which means we depend on two ring versions.

Fortunately, rustls-webpki relaxes some of the earlier restrictions
from the vanilla webpki crate, which means that its certificate parser
now accepts C tor's oddball x509 certificates as valid.

With this change, we can delegate to rustls's built-in
signature-checking code, and we only have to override its
certificate validation.  (We still override it with a pile of
comments about how we don't validate link certificates much.)

I've had to include a few certificates: two are for tests,
but one is needed as a placeholder, since we can't construct
a rustls certificate validator without a root cert,
even if we'll never use it.

Closes #1824.
Closes #1854.
</content>
</entry>
<entry>
<title>rtcompat: Un-rename CertificateDer type.</title>
<updated>2025-03-04T19:45:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-02-26T21:20:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=170edfe9aa912ea9f1977475d2a2a8904c62224a'/>
<id>urn:sha1:170edfe9aa912ea9f1977475d2a2a8904c62224a</id>
<content type='text'>
(We had added this rename when rustls renamed it originally.)
</content>
</entry>
<entry>
<title>tor-rtcompat: Rename spawn_thread to spawn_blocking</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-03-04T15:39:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=11049b07c419fc7544c382a98ea8366d6b468daf'/>
<id>urn:sha1:11049b07c419fc7544c382a98ea8366d6b468daf</id>
<content type='text'>
Let's use Tokio terminology here.
</content>
</entry>
<entry>
<title>tor-rtcompat: Provide Blocking::blocking_io</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T16:03:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9a491ce278bb581405aecd5dbef36d0f4aef1198'/>
<id>urn:sha1:9a491ce278bb581405aecd5dbef36d0f4aef1198</id>
<content type='text'>
This was referenced and explained from the docs, but didn't exist yet.
Here it is.

Everyone except the Tokio glue, and the CompoundRuntime, just use the
default implementation in terms of spawn_thread.  spawn_thread has a
more relaxed contract, so this is correct.
</content>
</entry>
<entry>
<title>tor-rtcompat: Provide a new function for executor re-entry</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T16:03:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=878c32bc1e9027fa3cf405c87f5323b94969b0fb'/>
<id>urn:sha1:878c32bc1e9027fa3cf405c87f5323b94969b0fb</id>
<content type='text'>
Forbid re-entering the executor using ToplevelBlockOn::block_on.

This was always forbidden in the case of MockExecutor, but that meant
that tests using MockExecutor would malfunction if the code under test
needed to re-enter the executor from sync code (since the code under test
would have to use block_on, which wrong).  See #1835.

Provide a function which *can* do this, reenter_block_on.  The
MockExecutor needs to know the difference, and other runtimes may too.
They are conceptually quite different operations.

Introduce ToplevelRuntime as a convenience alias.
</content>
</entry>
</feed>
