summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls <emils@mullvad.net>2022-01-28 14:07:50 +0000
committerEmīls <emils@mullvad.net>2022-01-28 14:07:50 +0000
commitf9d58942f2ee7830beda6829a936bd980ff6eeb9 (patch)
tree615508aa8566c5ac960313db505b6b2202809ee4
parentcf8612dc2b8bc5826eef14d6edb968fd48760fc2 (diff)
parentb1f974ccff228c2d2165d300538eea71f12d3501 (diff)
downloadmullvadvpn-f9d58942f2ee7830beda6829a936bd980ff6eeb9.tar.xz
mullvadvpn-f9d58942f2ee7830beda6829a936bd980ff6eeb9.zip
Merge branch 'use-mainline-trust-dns'
-rw-r--r--Cargo.lock45
-rw-r--r--talpid-core/Cargo.toml2
-rw-r--r--talpid-core/src/resolver.rs31
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]