Struct trust_dns_proto::rr::rdata::svcb::EchConfig [−][src]
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).
fn from_bytes(bytes: &'r [u8]) -> ProtoResult<Self>
[src]
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).
fn to_bytes(&self) -> ProtoResult<Vec<u8>>
[src]
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]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<EchConfig> for EchConfig
[src]
impl StructuralEq for EchConfig
[src]
impl StructuralPartialEq for EchConfig
[src]
Auto Trait Implementations
impl RefUnwindSafe for EchConfig
impl Send for EchConfig
impl Sync for EchConfig
impl Unpin for EchConfig
impl UnwindSafe for EchConfig
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,