#[non_exhaustive]pub enum ExtensionType {
Show 43 variants
ServerName,
MaxFragmentLength,
ClientCertificateUrl,
TrustedCAKeys,
TruncatedHMAC,
StatusRequest,
UserMapping,
ClientAuthz,
ServerAuthz,
CertificateType,
EllipticCurves,
ECPointFormats,
SRP,
SignatureAlgorithms,
UseSRTP,
Heartbeat,
ALProtocolNegotiation,
SCT,
ClientCertificateType,
ServerCertificateType,
Padding,
ExtendedMasterSecret,
CompressCertificate,
SessionTicket,
PreSharedKey,
EarlyData,
SupportedVersions,
Cookie,
PSKKeyExchangeModes,
TicketEarlyDataInfo,
CertificateAuthorities,
OIDFilters,
PostHandshakeAuth,
SignatureAlgorithmsCert,
KeyShare,
TransportParameters,
NextProtocolNegotiation,
ChannelId,
RenegotiationInfo,
TransportParametersDraft,
EncryptedClientHello,
EncryptedClientHelloOuterExtensions,
Unknown(u16),
}
Expand description
The ExtensionType
TLS protocol enum. Values in this enum are taken
from the various RFCs covering TLS, and are listed by IANA.
The Unknown
item is used when processing unrecognised ordinals.
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.
ServerName
MaxFragmentLength
ClientCertificateUrl
TrustedCAKeys
TruncatedHMAC
StatusRequest
UserMapping
ClientAuthz
ServerAuthz
CertificateType
EllipticCurves
ECPointFormats
SRP
SignatureAlgorithms
UseSRTP
Heartbeat
ALProtocolNegotiation
SCT
ClientCertificateType
ServerCertificateType
Padding
ExtendedMasterSecret
CompressCertificate
SessionTicket
EarlyData
SupportedVersions
Cookie
PSKKeyExchangeModes
TicketEarlyDataInfo
CertificateAuthorities
OIDFilters
PostHandshakeAuth
SignatureAlgorithmsCert
TransportParameters
NextProtocolNegotiation
ChannelId
RenegotiationInfo
TransportParametersDraft
EncryptedClientHello
EncryptedClientHelloOuterExtensions
Unknown(u16)
Implementations§
Source§impl ExtensionType
impl ExtensionType
Source§impl ExtensionType
impl ExtensionType
Sourcepub(crate) fn ech_compress(&self) -> bool
pub(crate) fn ech_compress(&self) -> bool
Returns true if the extension type can be compressed in an “inner” client hello for ECH.
This function should only return true for extension types where the inner hello and outer hello extensions values will always be identical. Extensions that may be identical sometimes (e.g. server name, cert compression methods), but not always, SHOULD NOT be compressed.
See draft-ietf-esni-18 §5 and draft-ietf-esni-18 §10.5 for more information.
Trait Implementations§
Source§impl Clone for ExtensionType
impl Clone for ExtensionType
Source§fn clone(&self) -> ExtensionType
fn clone(&self) -> ExtensionType
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Codec<'_> for ExtensionType
impl Codec<'_> for ExtensionType
Source§fn encode(&self, bytes: &mut Vec<u8>)
fn encode(&self, bytes: &mut Vec<u8>)
Function for encoding itself by appending itself to
the provided vec of bytes.
Source§fn read(r: &mut Reader<'_>) -> Result<Self, InvalidMessage>
fn read(r: &mut Reader<'_>) -> Result<Self, InvalidMessage>
Function for decoding itself from the provided reader
will return Some if the decoding was successful or
None if it was not.
Source§fn get_encoding(&self) -> Vec<u8>
fn get_encoding(&self) -> Vec<u8>
Convenience function for encoding the implementation
into a vec and returning it
Source§fn read_bytes(bytes: &'a [u8]) -> Result<Self, InvalidMessage>
fn read_bytes(bytes: &'a [u8]) -> Result<Self, InvalidMessage>
Function for wrapping a call to the read function in
a Reader for the slice of bytes provided Read more
Source§impl Debug for ExtensionType
impl Debug for ExtensionType
Source§impl From<ExtensionType> for u16
impl From<ExtensionType> for u16
Source§fn from(value: ExtensionType) -> Self
fn from(value: ExtensionType) -> Self
Converts to this type from the input type.
Source§impl From<u16> for ExtensionType
impl From<u16> for ExtensionType
Source§impl PartialEq for ExtensionType
impl PartialEq for ExtensionType
Source§impl TlsListElement for ExtensionType
impl TlsListElement for ExtensionType
const SIZE_LEN: ListLength = ListLength::U8
impl Copy for ExtensionType
impl Eq for ExtensionType
impl StructuralPartialEq for ExtensionType
Auto Trait Implementations§
impl Freeze for ExtensionType
impl RefUnwindSafe for ExtensionType
impl Send for ExtensionType
impl Sync for ExtensionType
impl Unpin for ExtensionType
impl UnwindSafe for ExtensionType
Blanket Implementations§
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