[]Enum yukikaze::connector::rustls::TLSError

pub enum TLSError {
    InappropriateMessage {
        expect_types: Vec<ContentType>,
        got_type: ContentType,
    },
    InappropriateHandshakeMessage {
        expect_types: Vec<HandshakeType>,
        got_type: HandshakeType,
    },
    CorruptMessage,
    CorruptMessagePayload(ContentType),
    NoCertificatesPresented,
    DecryptError,
    PeerIncompatibleError(String),
    PeerMisbehavedError(String),
    AlertReceived(AlertDescription),
    WebPKIError(Error),
    InvalidSCT(Error),
    General(String),
    FailedToGetCurrentTime,
    InvalidDNSName(String),
    HandshakeNotComplete,
    PeerSentOversizedRecord,
}

rustls reports protocol errors using this type.

Variants

InappropriateMessage

We received a TLS message that isn't valid right now. expect_types lists the message types we can expect right now. got_type is the type we found. This error is typically caused by a buggy TLS stack (the peer or this one), a broken network, or an attack.

Fields of InappropriateMessage

expect_types: Vec<ContentType>

Which types we expected

got_type: ContentType

What type we received

InappropriateHandshakeMessage

We received a TLS handshake message that isn't valid right now. expect_types lists the handshake message types we can expect right now. got_type is the type we found.

Fields of InappropriateHandshakeMessage

expect_types: Vec<HandshakeType>

Which handshake type we expected

got_type: HandshakeType

What handshake type we received

CorruptMessage

The peer sent us a syntactically incorrect TLS message.

CorruptMessagePayload(ContentType)

The peer sent us a TLS message with invalid contents.

NoCertificatesPresented

The peer didn't give us any certificates.

DecryptError

We couldn't decrypt a message. This is invariably fatal.

PeerIncompatibleError(String)

The peer doesn't support a protocol version/feature we require. The parameter gives a hint as to what version/feature it is.

PeerMisbehavedError(String)

The peer deviated from the standard TLS protocol. The parameter gives a hint where.

AlertReceived(AlertDescription)

We received a fatal alert. This means the peer is unhappy.

WebPKIError(Error)

The presented certificate chain is invalid.

InvalidSCT(Error)

The presented SCT(s) were invalid.

General(String)

A catch-all error for unlikely errors.

FailedToGetCurrentTime

We failed to figure out what time it currently is.

InvalidDNSName(String)

A syntactically-invalid DNS hostname was given.

HandshakeNotComplete

This function doesn't work until the TLS handshake is complete.

PeerSentOversizedRecord

The peer sent an oversized record/fragment.

Trait Implementations

impl Error for TLSError

impl PartialEq<TLSError> for TLSError

impl Display for TLSError

impl Clone for TLSError

impl Debug for TLSError

Auto Trait Implementations

impl Sync for TLSError

impl Send for TLSError

impl Unpin for TLSError

impl UnwindSafe for TLSError

impl RefUnwindSafe for TLSError

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self