mirror of
https://github.com/bytedance/g3.git
synced 2026-05-02 21:50:44 +00:00
add dns-over-quic support
This commit is contained in:
parent
d33e6362e8
commit
9d32159b38
5 changed files with 69 additions and 3 deletions
|
|
@ -25,6 +25,7 @@ use crate::net::{RustlsClientConfig, RustlsClientConfigBuilder};
|
|||
pub enum DnsEncryptionProtocol {
|
||||
Tls,
|
||||
Https,
|
||||
Quic,
|
||||
}
|
||||
|
||||
impl FromStr for DnsEncryptionProtocol {
|
||||
|
|
@ -34,6 +35,7 @@ impl FromStr for DnsEncryptionProtocol {
|
|||
match s.to_ascii_lowercase().replace('-', "_").as_str() {
|
||||
"tls" | "dns_over_tls" | "dnsovertls" | "dot" => Ok(DnsEncryptionProtocol::Tls),
|
||||
"https" | "dns_over_https" | "dnsoverhttps" | "doh" => Ok(DnsEncryptionProtocol::Https),
|
||||
"quic" | "dns_over_quic" | "dnsoverquic" | "doq" => Ok(DnsEncryptionProtocol::Quic),
|
||||
_ => Err(anyhow!("unknown protocol {}", s)),
|
||||
}
|
||||
}
|
||||
|
|
@ -44,6 +46,7 @@ impl DnsEncryptionProtocol {
|
|||
match self {
|
||||
DnsEncryptionProtocol::Tls => "DnsOverTls",
|
||||
DnsEncryptionProtocol::Https => "DnsOverHttps",
|
||||
DnsEncryptionProtocol::Quic => "DnsOverQuic",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue