Struct trust_dns_proto::rr::rdata::svcb::EchConfig[][src]

#[repr(transparent)]pub struct EchConfig(pub Vec<u8>);
9.  SVCB/HTTPS RR parameter for ECH configuration

  The SVCB "echconfig" parameter is defined for conveying the ECH
  configuration of an alternative endpoint.  In wire format, the value
  of the parameter is an ECHConfigs vector [ECH], including the
  redundant length prefix.  In presentation format, the value is a
  single ECHConfigs encoded in Base64 [base64].  Base64 is used here to
  simplify integration with TLS server software.  To enable simpler
  parsing, this SvcParam MUST NOT contain escape sequences.

  When ECH is in use, the TLS ClientHello is divided into an
  unencrypted "outer" and an encrypted "inner" ClientHello.  The outer
  ClientHello is an implementation detail of ECH, and its contents are
  controlled by the ECHConfig in accordance with [ECH].  The inner
  ClientHello is used for establishing a connection to the service, so
  its contents may be influenced by other SVCB parameters.  For
  example, the requirements on the ProtocolNameList in Section 6.1
  apply only to the inner ClientHello.  Similarly, it is the inner
  ClientHello whose Server Name Indication identifies the desired

Trait Implementations

impl<'r> BinDecodable<'r> for EchConfig[src]

fn read(decoder: &mut BinDecoder<'r>) -> ProtoResult<Self>[src]

In wire format, the value of the parameter is an ECHConfigs vector [ECH], including the redundant length prefix (a 2 octet field containing the length of the SvcParamValue as an integer between 0 and 65535 in network byte order).

impl BinEncodable for EchConfig[src]

fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>[src]

In wire format, the value of the parameter is an ECHConfigs vector [ECH], including the redundant length prefix (a 2 octet field containing the length of the SvcParamValue as an integer between 0 and 65535 in network byte order).

impl Clone for EchConfig[src]

impl Debug for EchConfig[src]

impl Display for EchConfig[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

In presentation format, the value is a single ECHConfigs encoded in Base64 [base64]. Base64 is used here to simplify integration with TLS server software. To enable simpler parsing, this SvcParam MUST NOT contain escape sequences.

note while the on the wire the EchConfig has a redundant length, the RFC is not explicit about including it in the base64

impl Eq for EchConfig[src]

impl Hash for EchConfig[src]

impl PartialEq<EchConfig> for EchConfig[src]

impl StructuralEq for EchConfig[src]

impl StructuralPartialEq for EchConfig[src]

Auto Trait Implementations

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,