diff options
| author | Emīls <emils@mullvad.net> | 2022-01-27 12:48:43 +0000 |
|---|---|---|
| committer | Emīls <emils@mullvad.net> | 2022-01-28 12:55:21 +0000 |
| commit | b1f974ccff228c2d2165d300538eea71f12d3501 (patch) | |
| tree | 615508aa8566c5ac960313db505b6b2202809ee4 /talpid-core | |
| parent | cf8612dc2b8bc5826eef14d6edb968fd48760fc2 (diff) | |
| download | mullvadvpn-b1f974ccff228c2d2165d300538eea71f12d3501.tar.xz mullvadvpn-b1f974ccff228c2d2165d300538eea71f12d3501.zip | |
Use mainline trust-dns
Diffstat (limited to 'talpid-core')
| -rw-r--r-- | talpid-core/Cargo.toml | 2 | ||||
| -rw-r--r-- | talpid-core/src/resolver.rs | 31 |
2 files changed, 16 insertions, 17 deletions
diff --git a/talpid-core/Cargo.toml b/talpid-core/Cargo.toml index bcef898a82..257ae97d6e 100644 --- a/talpid-core/Cargo.toml +++ b/talpid-core/Cargo.toml @@ -69,7 +69,7 @@ internet-checksum = "0.2" [target.'cfg(target_os = "macos")'.dependencies] pfctl = "0.4.4" system-configuration = "0.5" -trust-dns-server = { git = "https://github.com/mullvad/trust-dns", rev = "c782de0645335d1893a854337b965dd07790c068", features = [ "trust-dns-resolver" ] } +trust-dns-server = { git = "https://github.com/BlueJekyll/trust-dns", rev = "550e8f8be33df267b5c8e47586024cf17c3407f0", features = [ "trust-dns-resolver" ] } tun = "0.5.1" subslice = "0.2" diff --git a/talpid-core/src/resolver.rs b/talpid-core/src/resolver.rs index 8338fe2ed6..6ac7604e7f 100644 --- a/talpid-core/src/resolver.rs +++ b/talpid-core/src/resolver.rs @@ -182,7 +182,14 @@ impl ResolverImpl { fn build_response<'a>( message: &'a MessageRequest, lookup: &'a mut Box<dyn LookupObject>, - ) -> MessageResponse<'a, 'a> { + ) -> MessageResponse< + 'a, + 'a, + Box<dyn Iterator<Item = &'a Record> + Send + 'a>, + std::iter::Empty<&'a Record>, + std::iter::Empty<&'a Record>, + std::iter::Empty<&'a Record>, + > { let mut response_header = Header::new(); response_header.set_id(message.id()); response_header.set_op_code(OpCode::Query); @@ -193,9 +200,9 @@ impl ResolverImpl { response_header, lookup.iter(), // forwarder responses only contain query answers, no ns,soa or additionals - Box::new(std::iter::empty()) as Box<dyn Iterator<Item = _> + Send>, - Box::new(std::iter::empty()) as Box<dyn Iterator<Item = _> + Send>, - Box::new(std::iter::empty()) as Box<dyn Iterator<Item = _> + Send>, + std::iter::empty(), + std::iter::empty(), + std::iter::empty(), ) } @@ -265,12 +272,9 @@ impl LookupObject for ForwardLookup { mod test { use super::*; use std::{mem, net::UdpSocket, thread, time::Duration}; - use trust_dns_server::{ - proto, - resolver::{ - config::{NameServerConfigGroup, ResolverConfig, ResolverOpts}, - AsyncResolver, - }, + use trust_dns_server::resolver::{ + config::{NameServerConfigGroup, ResolverConfig, ResolverOpts}, + TokioAsyncResolver, }; async fn start_resolver() -> ResolverHandle { @@ -283,12 +287,7 @@ mod test { vec![], NameServerConfigGroup::from_ips_clear(&[Ipv4Addr::LOCALHOST.into()], port, true), ); - AsyncResolver::new( - resolver_config, - ResolverOpts::default(), - proto::TokioRuntime, - ) - .unwrap() + TokioAsyncResolver::tokio(resolver_config, ResolverOpts::default()).unwrap() } #[test] |
