mirror of
https://github.com/shadowsocks/shadowsocks-rust.git
synced 2026-02-09 01:59:16 +08:00
fix(dns): dns-over-h3 requires QuicLocalAddr
This commit is contained in:
@@ -15,9 +15,12 @@ use hickory_resolver::{
|
||||
config::{LookupIpStrategy, ResolverConfig, ResolverOpts},
|
||||
error::ResolveResult,
|
||||
name_server::{GenericConnector, RuntimeProvider},
|
||||
proto::{iocompat::AsyncIoTokioAsStd, udp::DnsUdpSocket, TokioTime},
|
||||
AsyncResolver,
|
||||
TokioHandle,
|
||||
proto::{
|
||||
iocompat::AsyncIoTokioAsStd,
|
||||
udp::{DnsUdpSocket, QuicLocalAddr},
|
||||
TokioTime,
|
||||
},
|
||||
AsyncResolver, TokioHandle,
|
||||
};
|
||||
use log::trace;
|
||||
use tokio::{io::ReadBuf, net::UdpSocket};
|
||||
@@ -59,6 +62,12 @@ impl DnsUdpSocket for ShadowUdpSocket {
|
||||
}
|
||||
}
|
||||
|
||||
impl QuicLocalAddr for ShadowUdpSocket {
|
||||
fn local_addr(&self) -> io::Result<SocketAddr> {
|
||||
self.deref().local_addr()
|
||||
}
|
||||
}
|
||||
|
||||
impl RuntimeProvider for ShadowDnsRuntimeProvider {
|
||||
type Handle = TokioHandle;
|
||||
type Tcp = AsyncIoTokioAsStd<ShadowTcpStream>;
|
||||
|
||||
Reference in New Issue
Block a user