summaryrefslogtreecommitdiff
path: root/crates/tor-rtcompat/src/impls.rs
Commit message (Collapse)AuthorAgeFilesLines
* rtcompat: new server-related members on TlsProvider trait.Nick Mathewson2026-01-291-0/+1
| | | | | These are as yet unimplemented; there's a stub type for the providers (nativetls) that won't actually have them.
* tor-rtcompat: add comments about blocking in async contextsSteven Engler2025-11-121-0/+3
|
* tor-rtcompat: set `IPV6_V6ONLY` for listening sockets on unixSteven Engler2025-11-101-1/+21
|
* tor-rtcompat: use a consistent `listen()` implementationSteven Engler2025-11-101-0/+114
| | | | | | This gives us a consistent `listen()` implementation across runtimes, and gives us flexibility to customize the bind/listen process for TCP sockets.
* smol: Implement smol in tor-rtcompatNiel Duysters2025-08-211-1/+4
|
* AF_UNIX terminology: Rename two error structsIan Jackson2025-03-241-2/+2
| | | | | | 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.
* tor-rtcompat: Implement StreamOps for all the stream types.Gabriela Moldovan2024-12-101-0/+2
| | | | Part of #1769
* Fix Windows compilation after moving unix::SocketAddr.Nick Mathewson2024-10-291-6/+6
|
* rtcompat: Expose FakeStream and friends; fix compilation in tor-rtmockNick Mathewson2024-09-241-5/+2
| | | | | It turns out that these types are generally useful, and that they are in fact needed for tor-rtmock to compile without a PreferredRuntime.
* rtcompat: NetStreamProvider<unix::SocketAddr> for non-unix platformsNick Mathewson2024-09-241-0/+25
| | | | | | | Since there is no way to construct a unix::SocketAddr on these platforms, it's harmless to provide an implementation for NetStreamProvider. What's more, doing so greatly simplifies our AbstractAddr implementation.
* tor-rtcompat: Simplify trivial all() expressions.Nick Mathewson2023-07-061-4/+4
| | | | | | | Clippy nightly doesn't like `#[cfg(all(...))]` with only a single expression inside the `all(...)`. This requires an adjustment in check_doc_features.
* Make the native-tls crate optional.Nick Mathewson2022-01-261-0/+1
| | | | | | | | | | | This commit puts the native-tls crate behind a feature. The feature is off-by-default in the tor-rtcompat crate, but can be enabled either from arti or arti-client. There is an included script that I used to test that tor-rtcompat could build and run its tests with all subsets of its features. Closes #300
* Refactor native_tls usage into its own moduleNick Mathewson2022-01-251-0/+2
| | | | | This change uses the async-native-tls crate for everything, and deletes some duplicated code.
* tor-rtcompat: Add support for rustls.Nick Mathewson2022-01-251-0/+3
| | | | | | | | | | | | | | | | | | | This is based on @janimo's approach in !74, but diverges in a few important ways. 1. It assumes that something like !251 will merge, so that we can have separate implementations for native_tls and rustls compiled at the same time. 2. It assumes that we can implement this for the futures::io traits only with no real penalty. 3. It uses the `x509-signature` crate to work around the pickiness of the `webpki` crate. If webpki eventually solves their [bug 219](https://github.com/briansmith/webpki/issues/219), we can remove a lot of that workaround. Closes #86.
* Move all crates into a `crates` subdirectory.Nick Mathewson2021-08-271-0/+9
This will cause some pain for now, but now is really the best time to do this kind of thing.