Enum rustls::TLSError[][src]

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,
    HandshakeNotComplete,
    PeerSentOversizedRecord,
    NoApplicationProtocol,
}

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.

HandshakeNotComplete

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

PeerSentOversizedRecord

The peer sent an oversized record/fragment.

NoApplicationProtocol

An incoming connection did not support any known application protocol.

Trait Implementations

impl Clone for TLSError[src]

impl Debug for TLSError[src]

impl Display for TLSError[src]

impl Error for TLSError[src]

impl PartialEq<TLSError> for TLSError[src]

impl StructuralPartialEq for TLSError[src]

Auto Trait Implementations

impl RefUnwindSafe for TLSError

impl Send for TLSError

impl Sync for TLSError

impl Unpin for TLSError

impl UnwindSafe for TLSError

Blanket Implementations

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

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[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.