diff options
| author | Emīls <emils@mullvad.net> | 2022-01-28 14:07:50 +0000 |
|---|---|---|
| committer | Emīls <emils@mullvad.net> | 2022-01-28 14:07:50 +0000 |
| commit | f9d58942f2ee7830beda6829a936bd980ff6eeb9 (patch) | |
| tree | 615508aa8566c5ac960313db505b6b2202809ee4 | |
| parent | cf8612dc2b8bc5826eef14d6edb968fd48760fc2 (diff) | |
| parent | b1f974ccff228c2d2165d300538eea71f12d3501 (diff) | |
| download | mullvadvpn-f9d58942f2ee7830beda6829a936bd980ff6eeb9.tar.xz mullvadvpn-f9d58942f2ee7830beda6829a936bd980ff6eeb9.zip | |
Merge branch 'use-mainline-trust-dns'
| -rw-r--r-- | Cargo.lock | 45 | ||||
| -rw-r--r-- | talpid-core/Cargo.toml | 2 | ||||
| -rw-r--r-- | talpid-core/src/resolver.rs | 31 |
3 files changed, 28 insertions, 50 deletions
diff --git a/Cargo.lock b/Cargo.lock index c6673a446f..6d3c3bd105 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -873,7 +873,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.2", + "socket2", "tokio", "tower-service", "tracing", @@ -989,14 +989,14 @@ dependencies = [ [[package]] name = "ipconfig" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" +checksum = "723519edce41262b05d4143ceb95050e4c614f483e78e9fd9e39a8275a84ad98" dependencies = [ - "socket2 0.3.19", - "widestring 0.4.3", + "socket2", + "widestring 0.5.1", "winapi 0.3.9", - "winreg 0.6.2", + "winreg", ] [[package]] @@ -2460,17 +2460,6 @@ checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "socket2" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" @@ -2622,7 +2611,7 @@ dependencies = [ "resolv-conf", "rtnetlink", "shell-escape", - "socket2 0.4.2", + "socket2", "subslice", "system-configuration", "talpid-dbus", @@ -2641,7 +2630,7 @@ dependencies = [ "which", "widestring 0.5.1", "winapi 0.3.9", - "winreg 0.7.0", + "winreg", "zeroize", ] @@ -3008,7 +2997,7 @@ checksum = "ce148eae0d1a376c1b94ae651fc3261d9cb8294788b962b7382066376503a2d1" [[package]] name = "trust-dns-client" version = "0.21.0-alpha.4" -source = "git+https://github.com/mullvad/trust-dns?rev=c782de0645335d1893a854337b965dd07790c068#c782de0645335d1893a854337b965dd07790c068" +source = "git+https://github.com/BlueJekyll/trust-dns?rev=550e8f8be33df267b5c8e47586024cf17c3407f0#550e8f8be33df267b5c8e47586024cf17c3407f0" dependencies = [ "cfg-if 1.0.0", "data-encoding", @@ -3027,7 +3016,7 @@ dependencies = [ [[package]] name = "trust-dns-proto" version = "0.21.0-alpha.4" -source = "git+https://github.com/mullvad/trust-dns?rev=c782de0645335d1893a854337b965dd07790c068#c782de0645335d1893a854337b965dd07790c068" +source = "git+https://github.com/BlueJekyll/trust-dns?rev=550e8f8be33df267b5c8e47586024cf17c3407f0#550e8f8be33df267b5c8e47586024cf17c3407f0" dependencies = [ "async-trait", "cfg-if 1.0.0", @@ -3052,9 +3041,8 @@ dependencies = [ [[package]] name = "trust-dns-resolver" version = "0.21.0-alpha.4" -source = "git+https://github.com/mullvad/trust-dns?rev=c782de0645335d1893a854337b965dd07790c068#c782de0645335d1893a854337b965dd07790c068" +source = "git+https://github.com/BlueJekyll/trust-dns?rev=550e8f8be33df267b5c8e47586024cf17c3407f0#550e8f8be33df267b5c8e47586024cf17c3407f0" dependencies = [ - "async-trait", "cfg-if 1.0.0", "futures-util", "ipconfig", @@ -3073,7 +3061,7 @@ dependencies = [ [[package]] name = "trust-dns-server" version = "0.21.0-alpha.4" -source = "git+https://github.com/mullvad/trust-dns?rev=c782de0645335d1893a854337b965dd07790c068#c782de0645335d1893a854337b965dd07790c068" +source = "git+https://github.com/BlueJekyll/trust-dns?rev=550e8f8be33df267b5c8e47586024cf17c3407f0#550e8f8be33df267b5c8e47586024cf17c3407f0" dependencies = [ "async-trait", "bytes", @@ -3428,15 +3416,6 @@ dependencies = [ [[package]] name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "winreg" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" 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] |
