Struct hickory_proto::rr::rdata::svcb::EchConfigList
source · #[repr(transparent)]pub struct EchConfigList(pub Vec<u8>);
Expand description
2. "SvcParam for ECH configuration"
The "ech" SvcParamKey is defined for conveying the ECH configuration
of an alternative endpoint. It is applicable to all TLS-based protocols
(including DTLS [RFC9147] and QUIC version 1 [RFC9001]) unless
otherwise specified.
In wire format, the value of the parameter is an ECHConfigList (Section 4 of draft-ietf-tls-esni-18),
including the redundant length prefix. In presentation format, the value is the ECHConfigList
in Base 64 Encoding (Section 4 of [RFC4648]). Base 64 is used here to simplify integration
with TLS server software. To enable simpler parsing, this SvcParam MUST NOT contain escape
sequences.
Tuple Fields§
§0: Vec<u8>
Trait Implementations§
source§impl<'r> BinDecodable<'r> for EchConfigList
impl<'r> BinDecodable<'r> for EchConfigList
source§fn read(decoder: &mut BinDecoder<'r>) -> ProtoResult<Self>
fn read(decoder: &mut BinDecoder<'r>) -> ProtoResult<Self>
In wire format, the value of the parameter is an ECHConfigList (Section 4 of draft-ietf-tls-esni-18), including the redundant length prefix. In presentation format, the value is the ECHConfigList in Base 64 Encoding (Section 4 of RFC4648). Base 64 is used here to simplify integration with TLS server software. To enable simpler parsing, this SvcParam MUST NOT contain escape sequences.
source§fn from_bytes(bytes: &'r [u8]) -> ProtoResult<Self>
fn from_bytes(bytes: &'r [u8]) -> ProtoResult<Self>
source§impl BinEncodable for EchConfigList
impl BinEncodable for EchConfigList
source§fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
In wire format, the value of the parameter is an ECHConfigList (Section 4 of draft-ietf-tls-esni-18), including the redundant length prefix. In presentation format, the value is the ECHConfigList in Base 64 Encoding (Section 4 of RFC4648). Base 64 is used here to simplify integration with TLS server software. To enable simpler parsing, this SvcParam MUST NOT contain escape sequences.
source§impl Clone for EchConfigList
impl Clone for EchConfigList
source§fn clone(&self) -> EchConfigList
fn clone(&self) -> EchConfigList
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for EchConfigList
impl Debug for EchConfigList
source§impl<'de> Deserialize<'de> for EchConfigList
impl<'de> Deserialize<'de> for EchConfigList
source§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>,
source§impl Display for EchConfigList
impl Display for EchConfigList
source§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
As the documentation states, the presentation format (what this function outputs) must be a BASE64 encoded string. hickory-dns will encode to BASE64 during formatting of the internal data, and output the BASE64 value.
In presentation format, the value is the ECHConfigList in Base 64 Encoding
(Section 4 of [RFC4648]). Base 64 is used here to simplify integration with
TLS server software. To enable simpler parsing, this SvcParam MUST NOT
contain escape sequences.
source§impl Hash for EchConfigList
impl Hash for EchConfigList
source§impl PartialEq for EchConfigList
impl PartialEq for EchConfigList
source§impl Serialize for EchConfigList
impl Serialize for EchConfigList
impl Eq for EchConfigList
impl StructuralPartialEq for EchConfigList
Auto Trait Implementations§
impl Freeze for EchConfigList
impl RefUnwindSafe for EchConfigList
impl Send for EchConfigList
impl Sync for EchConfigList
impl Unpin for EchConfigList
impl UnwindSafe for EchConfigList
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.