Remove trust-dns when target_os is Android

This commit is contained in:
Sean McArthur
2019-01-10 12:46:44 -08:00
parent b71787be86
commit 2649f9ab56
4 changed files with 22 additions and 1 deletions

View File

@@ -26,6 +26,13 @@ matrix:
- rust: stable
env: FEATURES="--features hyper-011"
# android
- rust: stable
env: TARGET=aarch64-linux-android
install: rustup target add "$TARGET"
# disable default-tls feature since cross-compiling openssl is dragons
script: cargo build --target "$TARGET" --no-default-features
# minimum version
- rust: 1.30.0
script: cargo build

View File

@@ -31,7 +31,6 @@ tokio-executor = "0.1.4" # a minimum version so trust-dns-resolver compiles
tokio-io = "0.1"
tokio-threadpool = "0.1.8" # a minimum version so tokio compiles
tokio-timer = "0.2.6" # a minimum version so trust-dns-resolver compiles
trust-dns-resolver = "0.10"
url = "1.2"
uuid = { version = "0.7", features = ["v4"] }
hyper-rustls = { version = "0.15", optional = true }
@@ -39,6 +38,9 @@ tokio-rustls = { version = "0.8", optional = true }
webpki-roots = { version = "0.15", optional = true }
rustls = { version = "0.14", features = ["dangerous_configuration"], optional = true }
[target.'cfg(not(target_os = "android"))'.dependencies]
trust-dns-resolver = "0.10"
[dev-dependencies]
env_logger = "0.6"
serde_derive = "1.0"

View File

@@ -13,10 +13,14 @@ use bytes::BufMut;
use std::io;
use std::sync::Arc;
#[cfg(not(target_os = "android"))]
use dns::TrustDnsResolver;
use Proxy;
#[cfg(not(target_os = "android"))]
type HttpConnector = ::hyper::client::HttpConnector<TrustDnsResolver>;
#[cfg(target_os = "android")]
type HttpConnector = ::hyper::client::HttpConnector;
pub(crate) struct Connector {
@@ -70,12 +74,18 @@ impl Connector {
}
}
#[cfg(not(target_os = "android"))]
fn http_connector() -> ::Result<HttpConnector> {
TrustDnsResolver::new()
.map(HttpConnector::new_with_resolver)
.map_err(::error::dns_system_conf)
}
#[cfg(target_os = "android")]
fn http_connector() -> ::Result<HttpConnector> {
Ok(HttpConnector::new(4))
}
impl Connect for Connector {
type Transport = Conn;
type Error = io::Error;

View File

@@ -196,6 +196,7 @@ extern crate serde_urlencoded;
extern crate tokio;
#[cfg_attr(feature = "default-tls", macro_use)]
extern crate tokio_io;
#[cfg(not(target_os = "android"))]
extern crate trust_dns_resolver;
extern crate url;
extern crate uuid;
@@ -237,6 +238,7 @@ mod connect;
mod connect_async;
mod body;
mod client;
#[cfg(not(target_os = "android"))]
mod dns;
mod into_url;
mod proxy;