#[non_exhaustive]
pub enum PeerMisbehaved {
Show 65 variants AttemptedDowngradeToTls12WhenTls13IsSupported, BadCertChainExtensions, DisallowedEncryptedExtension, DuplicateClientHelloExtensions, DuplicateEncryptedExtensions, DuplicateHelloRetryRequestExtensions, DuplicateNewSessionTicketExtensions, DuplicateServerHelloExtensions, DuplicateServerNameTypes, EarlyDataAttemptedInSecondClientHello, EarlyDataExtensionWithoutResumption, EarlyDataOfferedWithVariedCipherSuite, HandshakeHashVariedAfterRetry, IllegalHelloRetryRequestWithEmptyCookie, IllegalHelloRetryRequestWithNoChanges, IllegalHelloRetryRequestWithOfferedGroup, IllegalHelloRetryRequestWithUnofferedCipherSuite, IllegalHelloRetryRequestWithUnofferedNamedGroup, IllegalHelloRetryRequestWithUnsupportedVersion, IllegalMiddleboxChangeCipherSpec, IllegalTlsInnerPlaintext, IncorrectBinder, InvalidMaxEarlyDataSize, InvalidKeyShare, InvalidSctList, KeyEpochWithPendingFragment, KeyUpdateReceivedInQuicConnection, MessageInterleavedWithHandshakeMessage, MissingBinderInPskExtension, MissingKeyShare, MissingPskModesExtension, MissingQuicTransportParameters, OfferedDuplicateKeyShares, OfferedEarlyDataWithOldProtocolVersion, OfferedEmptyApplicationProtocol, OfferedIncorrectCompressions, PskExtensionMustBeLast, PskExtensionWithMismatchedIdsAndBinders, RefusedToFollowHelloRetryRequest, RejectedEarlyDataInterleavedWithHandshakeMessage, ResumptionAttemptedWithVariedEms, ResumptionOfferedWithVariedCipherSuite, ResumptionOfferedWithVariedEms, ResumptionOfferedWithIncompatibleCipherSuite, SelectedDifferentCipherSuiteAfterRetry, SelectedInvalidPsk, SelectedTls12UsingTls13VersionExtension, SelectedUnofferedApplicationProtocol, SelectedUnofferedCipherSuite, SelectedUnofferedCompression, SelectedUnofferedKxGroup, SelectedUnofferedPsk, SelectedUnusableCipherSuiteForVersion, ServerHelloMustOfferUncompressedEcPoints, ServerNameDifferedOnRetry, ServerNameMustContainOneHostName, SignedKxWithWrongAlgorithm, SignedHandshakeWithUnadvertisedSigScheme, TooMuchEarlyDataReceived, UnexpectedCleartextExtension, UnsolicitedCertExtension, UnsolicitedEncryptedExtension, UnsolicitedSctList, UnsolicitedServerHelloExtension, WrongGroupForKeyShare,
}
Expand description

The set of cases where we failed to make a connection because we thought the peer was misbehaving.

This is non_exhaustive: we might add or stop using items here in minor versions. We also don’t document what they mean. Generally a user of rustls shouldn’t vary its behaviour on these error codes, and there is nothing it can do to improve matters.

Please file a bug against rustls if you see Error::PeerMisbehaved in the wild.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

AttemptedDowngradeToTls12WhenTls13IsSupported

BadCertChainExtensions

DisallowedEncryptedExtension

DuplicateClientHelloExtensions

DuplicateEncryptedExtensions

DuplicateHelloRetryRequestExtensions

DuplicateNewSessionTicketExtensions

DuplicateServerHelloExtensions

DuplicateServerNameTypes

EarlyDataAttemptedInSecondClientHello

EarlyDataExtensionWithoutResumption

EarlyDataOfferedWithVariedCipherSuite

HandshakeHashVariedAfterRetry

IllegalHelloRetryRequestWithEmptyCookie

IllegalHelloRetryRequestWithNoChanges

IllegalHelloRetryRequestWithOfferedGroup

IllegalHelloRetryRequestWithUnofferedCipherSuite

IllegalHelloRetryRequestWithUnofferedNamedGroup

IllegalHelloRetryRequestWithUnsupportedVersion

IllegalMiddleboxChangeCipherSpec

IllegalTlsInnerPlaintext

IncorrectBinder

InvalidMaxEarlyDataSize

InvalidKeyShare

InvalidSctList

KeyEpochWithPendingFragment

KeyUpdateReceivedInQuicConnection

MessageInterleavedWithHandshakeMessage

MissingBinderInPskExtension

MissingKeyShare

MissingPskModesExtension

MissingQuicTransportParameters

OfferedDuplicateKeyShares

OfferedEarlyDataWithOldProtocolVersion

OfferedEmptyApplicationProtocol

OfferedIncorrectCompressions

PskExtensionMustBeLast

PskExtensionWithMismatchedIdsAndBinders

RefusedToFollowHelloRetryRequest

RejectedEarlyDataInterleavedWithHandshakeMessage

ResumptionAttemptedWithVariedEms

ResumptionOfferedWithVariedCipherSuite

ResumptionOfferedWithVariedEms

ResumptionOfferedWithIncompatibleCipherSuite

SelectedDifferentCipherSuiteAfterRetry

SelectedInvalidPsk

SelectedTls12UsingTls13VersionExtension

SelectedUnofferedApplicationProtocol

SelectedUnofferedCipherSuite

SelectedUnofferedCompression

SelectedUnofferedKxGroup

SelectedUnofferedPsk

SelectedUnusableCipherSuiteForVersion

ServerHelloMustOfferUncompressedEcPoints

ServerNameDifferedOnRetry

ServerNameMustContainOneHostName

SignedKxWithWrongAlgorithm

SignedHandshakeWithUnadvertisedSigScheme

TooMuchEarlyDataReceived

UnexpectedCleartextExtension

UnsolicitedCertExtension

UnsolicitedEncryptedExtension

UnsolicitedSctList

UnsolicitedServerHelloExtension

WrongGroupForKeyShare

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.