#[non_exhaustive]pub struct NativeTlsProvider {}Expand description
A TlsProvider that uses native_tls.
It supports wrapping any reasonable stream type that implements AsyncRead + AsyncWrite.
§Limitations
native_tls doesn’t let us configure TLS session resumption, so depending on the
platform’s TLS library, our ClientHello may advertise support for session tickets.
The tor-spec says implementations SHOULD NOT allow session resumption.
As far as we know, native_tls never stores or reuses a session, so no resumption
actually happens, but this still makes our TLS fingerprint differ from C tor’s.
If that matters to you, use RustlsProvider instead, which disables resumption.
See #580.
Trait Implementations§
Source§impl Clone for NativeTlsProvider
impl Clone for NativeTlsProvider
Source§impl Default for NativeTlsProvider
impl Default for NativeTlsProvider
Source§impl<S> TlsProvider<S> for NativeTlsProvider
impl<S> TlsProvider<S> for NativeTlsProvider
Source§type Connector = NativeTlsConnector<S>
type Connector = NativeTlsConnector<S>
The Connector object that this provider can return.
Source§type Acceptor = UnimplementedTls
type Acceptor = UnimplementedTls
The Acceptor object that this provider can return, for handling incoming connections.
Source§type TlsServerStream = UnimplementedTls
type TlsServerStream = UnimplementedTls
The type of stream returned by that Acceptor.
Source§fn tls_connector(&self) -> Self::Connector
fn tls_connector(&self) -> Self::Connector
Return a TLS connector for use with this runtime.
Source§fn tls_acceptor(
&self,
_settings: TlsAcceptorSettings,
) -> IoResult<Self::Acceptor>
fn tls_acceptor( &self, _settings: TlsAcceptorSettings, ) -> IoResult<Self::Acceptor>
Return a TLS acceptor for use with this runtime. Read more
Source§fn supports_keying_material_export(&self) -> bool
fn supports_keying_material_export(&self) -> bool
Return true iff the keying material exporters (RFC 5705) is supported.
Auto Trait Implementations§
impl Freeze for NativeTlsProvider
impl RefUnwindSafe for NativeTlsProvider
impl Send for NativeTlsProvider
impl Sync for NativeTlsProvider
impl Unpin for NativeTlsProvider
impl UnsafeUnpin for NativeTlsProvider
impl UnwindSafe for NativeTlsProvider
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more