#[repr(transparent)]
pub struct EchConfig(pub Vec<u8>);
Expand description
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

Tuple Fields§

§0: Vec<u8>

Trait Implementations§

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).

Returns the object in binary form

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).

Returns the object in binary form
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

The debug format for EchConfig will output the value in BASE64 like Display, but will the addition of the type-name.

As the documentation states, the presentation format (what this function outputs) must be a BASE64 encoded string. trust-dns will encode to BASE64 during formatting of the internal data, and output the BASE64 value.

draft-ietf-dnsop-svcb-https-03 SVCB and HTTPS RRs for DNS, February 2021

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 encoded value, trust-dns will encode the data as it is stored, i.e. without the length encoding.

Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
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
Converts the given value to a String. 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.