Struct trust_dns_proto::rr::rdata::svcb::EchConfig [−][src]
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
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
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.
Auto Trait Implementations
impl RefUnwindSafe for EchConfig
impl UnwindSafe for EchConfig
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more