limit futures dependencies to what is necessary

This commit is contained in:
Dirkjan Ochtman 2020-10-12 16:36:12 +02:00 committed by Benjamin Fry
parent ae37a4c89b
commit 24512f63a5
48 changed files with 92 additions and 76 deletions

18
Cargo.lock generated
View File

@ -143,7 +143,7 @@ version = "0.20.0-alpha.2"
dependencies = [
"async-std",
"async-trait",
"futures",
"futures-io",
"trust-dns-resolver",
]
@ -1629,6 +1629,8 @@ dependencies = [
"chrono",
"data-encoding",
"futures",
"futures-channel",
"futures-util",
"lazy_static",
"log",
"openssl",
@ -1666,6 +1668,7 @@ dependencies = [
"data-encoding",
"env_logger",
"futures",
"futures-util",
"h2",
"http",
"log",
@ -1708,7 +1711,8 @@ dependencies = [
name = "trust-dns-native-tls"
version = "0.20.0-alpha.2"
dependencies = [
"futures",
"futures-channel",
"futures-util",
"native-tls",
"tokio",
"tokio-tls",
@ -1719,7 +1723,8 @@ dependencies = [
name = "trust-dns-openssl"
version = "0.20.0-alpha.2"
dependencies = [
"futures",
"futures-channel",
"futures-util",
"openssl",
"tokio",
"tokio-openssl",
@ -1790,7 +1795,9 @@ dependencies = [
name = "trust-dns-rustls"
version = "0.20.0-alpha.2"
dependencies = [
"futures",
"futures-channel",
"futures-io",
"futures-util",
"log",
"openssl",
"rustls",
@ -1809,7 +1816,8 @@ dependencies = [
"chrono",
"enum-as-inner",
"env_logger",
"futures",
"futures-executor",
"futures-util",
"h2",
"http",
"log",

View File

@ -66,7 +66,7 @@ path = "src/lib.rs"
[dependencies]
async-std = "1.6"
async-trait = "0.1.36"
futures = { version = "0.3.5", default-features = false, features = ["std"] }
futures-io = { version = "0.3.5", default-features = false, features = ["std"] }
trust-dns-resolver = { version = "0.20.0-alpha.2", path = "../resolver", default-features = false }
[dev-dependencies]

View File

@ -10,7 +10,7 @@ use std::net::SocketAddr;
use std::pin::Pin;
use async_trait::async_trait;
use futures::io::{AsyncRead, AsyncWrite};
use futures_io::{AsyncRead, AsyncWrite};
use trust_dns_resolver::proto::tcp::Connect;
use trust_dns_resolver::proto::udp::UdpSocket;

View File

@ -68,7 +68,8 @@ path = "src/lib.rs"
backtrace = "0.3.50"
chrono = "0.4"
data-encoding = "2.2.0"
futures = { version = "0.3.5", default-features = false, features = ["std"] }
futures-channel = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
lazy_static = "1.0"
log = "0.4"
openssl = { version = "0.10", features = ["v102", "v110"], optional = true }

View File

@ -5,11 +5,18 @@
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
use std::future::Future;
use std::pin::Pin;
use std::sync::Arc;
use std::task::{Context, Poll};
use std::time::Duration;
use futures_util::{ready, FutureExt};
use log::debug;
use rand;
use crate::error::*;
use crate::op::{update_message, Message, MessageType, OpCode, Query};
use crate::proto::error::ProtoError;
use crate::proto::xfer::{
DnsClientStream, DnsExchange, DnsExchangeBackground, DnsExchangeConnect, DnsExchangeSend,
@ -17,12 +24,6 @@ use crate::proto::xfer::{
DnsRequestSender, DnsResponse, DnsStreamHandle,
};
use crate::proto::TokioTime;
use futures::{ready, Future, FutureExt};
use log::debug;
use rand;
use crate::error::*;
use crate::op::{update_message, Message, MessageType, OpCode, Query};
use crate::rr::dnssec::Signer;
use crate::rr::{DNSClass, Name, Record, RecordSet, RecordType};

View File

@ -6,10 +6,11 @@
// copied, modified, or distributed except according to those terms.
#![cfg(feature = "dnssec")]
use std::future::Future;
use std::pin::Pin;
use std::task::{Context, Poll};
use futures::{ready, Future, FutureExt};
use futures_util::{ready, FutureExt};
use crate::client::{AsyncClient, AsyncClientConnect};
use crate::proto::error::ProtoError;

View File

@ -12,10 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
use std::future::Future;
use std::pin::Pin;
use std::sync::Arc;
use futures::Future;
use tokio::runtime::{self, Runtime};
#[cfg(feature = "dnssec")]

View File

@ -13,10 +13,9 @@
// limitations under the License.
//! Trait for client connections
use std::future::Future;
use std::sync::Arc;
use futures::Future;
use trust_dns_proto::{error::ProtoError, xfer::DnsRequestSender};
use crate::rr::dnssec::Signer;

View File

@ -5,11 +5,11 @@
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
use std::collections::HashMap;
use std::future::Future;
use std::pin::Pin;
use std::sync::Arc;
use futures::lock::Mutex;
use futures::Future;
use futures_util::lock::Mutex;
use trust_dns_proto::{
error::ProtoError,
xfer::{DnsHandle, DnsRequest, DnsResponse},

View File

@ -5,12 +5,13 @@
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
use std::future::Future;
use std::pin::Pin;
use std::sync::Arc;
use std::task::{Context, Poll};
use futures::lock::Mutex;
use futures::{future::Fuse, ready, Future, FutureExt};
use futures_util::lock::Mutex;
use futures_util::{future::Fuse, ready, FutureExt};
#[allow(clippy::type_complexity)]
#[must_use = "futures do nothing unless polled"]

View File

@ -9,7 +9,7 @@
use std::{fmt, io};
use futures::channel::mpsc;
use futures_channel::mpsc;
use thiserror::Error;
use trust_dns_proto::error::{ProtoError, ProtoErrorKind};

View File

@ -50,7 +50,7 @@ path = "src/lib.rs"
backtrace = "0.3.50"
bytes = "0.5"
data-encoding = "2.2.0"
futures = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
h2 = { version = "0.2.6", features = ["stream"] }
http = "0.2"
log = "0.4"

View File

@ -6,6 +6,7 @@
// copied, modified, or distributed except according to those terms.
use std::fmt::{self, Display};
use std::future::Future;
use std::io;
use std::net::SocketAddr;
use std::ops::DerefMut;
@ -14,7 +15,9 @@ use std::sync::Arc;
use std::task::{Context, Poll};
use bytes::{Bytes, BytesMut};
use futures::{ready, Future, FutureExt, Stream, TryFutureExt};
use futures_util::future::{FutureExt, TryFutureExt};
use futures_util::ready;
use futures_util::stream::Stream;
use h2;
use h2::client::{Connection, SendRequest};
use http::{self, header};

View File

@ -12,7 +12,7 @@ use std::fmt::Debug;
use std::sync::Arc;
use bytes::{Bytes, BytesMut};
use futures::{Stream, StreamExt};
use futures_util::stream::{Stream, StreamExt};
use h2;
use http::{Method, Request};
use log::debug;

View File

@ -47,7 +47,8 @@ name = "trust_dns_native_tls"
path = "src/lib.rs"
[dependencies]
futures = { version = "0.3.5", default-features = false, features = ["std"] }
futures-channel = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
native-tls = "0.2"
tokio = "0.2.22"
tokio-tls = "0.3.1"

View File

@ -22,7 +22,6 @@
clippy::unimplemented
)]
extern crate futures;
extern crate native_tls;
extern crate tokio;
extern crate tokio_tls;

View File

@ -12,7 +12,6 @@
clippy::single_component_path_imports
)]
use std;
use std::env;
use std::fs::File;
use std::io::{Read, Write};
@ -24,7 +23,7 @@ use std::sync::atomic;
use std::sync::Arc;
use std::{thread, time};
use futures::StreamExt;
use futures_util::stream::StreamExt;
use native_tls;
use native_tls::{Certificate, TlsAcceptor};
use tokio::runtime::Runtime;

View File

@ -7,10 +7,11 @@
//! TlsClientStream for DNS over TLS
use std::future::Future;
use std::net::SocketAddr;
use std::pin::Pin;
use futures::{Future, TryFutureExt};
use futures_util::TryFutureExt;
use native_tls::Certificate;
#[cfg(feature = "mtls")]
use native_tls::Pkcs12;

View File

@ -7,11 +7,12 @@
//! Base TlsStream
use std::future::Future;
use std::io;
use std::net::SocketAddr;
use std::pin::Pin;
use futures::{Future, TryFutureExt};
use futures_util::TryFutureExt;
use native_tls::Protocol::Tlsv12;
use native_tls::{Certificate, Identity, TlsConnector};
use tokio::net::TcpStream as TokioTcpStream;

View File

@ -47,7 +47,8 @@ name = "trust_dns_openssl"
path = "src/lib.rs"
[dependencies]
futures = { version = "0.3.5", default-features = false, features = ["std"] }
futures-channel = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
openssl = { version = "0.10", features = ["v102", "v110"] }
tokio-openssl = "0.4.0"
tokio = "0.2.22"

View File

@ -23,7 +23,6 @@
//! TLS protocol related components for DNS over TLS
extern crate futures;
extern crate openssl;
extern crate tokio;
extern crate tokio_openssl;

View File

@ -5,11 +5,12 @@
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
use std::future::Future;
use std::io;
use std::net::SocketAddr;
use std::pin::Pin;
use futures::{Future, TryFutureExt};
use futures_util::TryFutureExt;
#[cfg(feature = "mtls")]
use openssl::pkcs12::Pkcs12;
use openssl::x509::X509;

View File

@ -5,11 +5,12 @@
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
use std::future::Future;
use std::io;
use std::net::SocketAddr;
use std::pin::Pin;
use futures::{future, Future, TryFutureExt};
use futures_util::{future, TryFutureExt};
use openssl::pkcs12::ParsedPkcs12;
use openssl::pkey::{PKeyRef, Private};
use openssl::ssl::{ConnectConfiguration, SslConnector, SslContextBuilder, SslMethod, SslOptions};

View File

@ -5,7 +5,6 @@
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
extern crate futures;
extern crate openssl;
extern crate tokio;
extern crate tokio_openssl;
@ -21,7 +20,7 @@ use std::sync::atomic;
use std::sync::Arc;
use std::{thread, time};
use futures::StreamExt;
use futures_util::stream::StreamExt;
use openssl::pkey::*;
use openssl::ssl::*;
use openssl::x509::store::X509StoreBuilder;

View File

@ -47,7 +47,9 @@ name = "trust_dns_rustls"
path = "src/lib.rs"
[dependencies]
futures = { version = "0.3.5", default-features = false, features = ["std"] }
futures-channel = { version = "0.3.5", default-features = false, features = ["std"] }
futures-io = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
log = "0.4"
rustls = "0.18"
tokio = { version = "0.2.22", features = ["tcp", "io-util"] }

View File

@ -24,7 +24,6 @@
//! TLS protocol related components for DNS over TLS
extern crate futures;
extern crate rustls;
extern crate tokio;
extern crate tokio_rustls;

View File

@ -9,7 +9,6 @@
extern crate openssl;
use std;
use std::env;
use std::fs::File;
use std::io::{Read, Write};
@ -26,7 +25,7 @@ use self::openssl::ssl::*;
use self::openssl::x509::store::X509StoreBuilder;
use self::openssl::x509::*;
use futures::StreamExt;
use futures_util::stream::StreamExt;
use rustls::Certificate;
use rustls::ClientConfig;
use tokio::runtime::Runtime;

View File

@ -7,11 +7,12 @@
//! DNS over TLS client implementation for Rustls
use std::future::Future;
use std::net::SocketAddr;
use std::pin::Pin;
use std::sync::Arc;
use futures::{Future, TryFutureExt};
use futures_util::TryFutureExt;
use rustls::ClientConfig;
use tokio::net::TcpStream as TokioTcpStream;

View File

@ -7,12 +7,13 @@
//! DNS over TLS I/O stream implementation for Rustls
use std::future::Future;
use std::io;
use std::net::SocketAddr;
use std::pin::Pin;
use std::sync::Arc;
use futures::{Future, TryFutureExt};
use futures_util::TryFutureExt;
use rustls::ClientConfig;
use tokio;
use tokio::net::TcpStream as TokioTcpStream;
@ -35,7 +36,7 @@ pub type TlsStream<S> = TcpStream<S>;
/// Initializes a TlsStream with an existing tokio_tls::TlsStream.
///
/// This is intended for use with a TlsListener and Incoming connections
pub fn tls_from_stream<S: futures::io::AsyncRead + futures::io::AsyncWrite>(
pub fn tls_from_stream<S: futures_io::AsyncRead + futures_io::AsyncWrite>(
stream: S,
peer_addr: SocketAddr,
) -> (TlsStream<S>, BufStreamHandle) {

View File

@ -75,7 +75,8 @@ bytes = "0.5"
chrono = "0.4"
enum-as-inner = "0.3"
env_logger = "0.7"
futures = "0.3.5"
futures-executor = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
h2 = { version = "0.2.6", features = ["stream"], optional = true }
http = { version = "0.2", optional = true }
log = "0.4"

View File

@ -6,10 +6,9 @@
// copied, modified, or distributed except according to those terms.
//! All authority related types
use std::future::Future;
use std::pin::Pin;
use futures::Future;
use crate::client::op::LowerQuery;
use crate::client::proto::rr::dnssec::rdata::key::KEY;
use crate::client::rr::dnssec::{DnsSecError, DnsSecResult, Signer, SupportedAlgorithms};

View File

@ -7,10 +7,11 @@
//! All authority related types
use std::future::Future;
use std::pin::Pin;
use std::task::{Context, Poll};
use futures::{future, Future, TryFutureExt};
use futures_util::{future, TryFutureExt};
use crate::client::op::LowerQuery;
use crate::client::proto::rr::dnssec::rdata::key::KEY;

View File

@ -18,12 +18,13 @@
// then, if requested, do a recursive lookup... i.e. the catalog would only point to files.
use std::borrow::Borrow;
use std::collections::HashMap;
use std::future::Future;
use std::io;
use std::pin::Pin;
use std::sync::{Arc, RwLock};
use std::task::{Context, Poll};
use futures::{ready, Future, FutureExt, TryFutureExt};
use futures_util::{ready, FutureExt, TryFutureExt};
use log::{debug, error, info, trace, warn};
use crate::authority::{

View File

@ -7,10 +7,9 @@
//! Request Handler for incoming requests
use std::future::Future;
use std::net::SocketAddr;
use futures::Future;
use crate::authority::MessageRequest;
use crate::server::ResponseHandler;

View File

@ -4,7 +4,7 @@
// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
use std;
use std::future::Future;
use std::io;
use std::net::SocketAddr;
use std::pin::Pin;
@ -12,7 +12,7 @@ use std::sync::{Arc, Mutex};
use std::task::{Context, Poll};
use std::time::Duration;
use futures::{future, Future, FutureExt, StreamExt};
use futures_util::{future, FutureExt, StreamExt};
use log::{debug, info, warn};
#[cfg(feature = "dns-over-rustls")]
use rustls::{Certificate, PrivateKey};

View File

@ -4,7 +4,8 @@ use std::pin::Pin;
use std::task::{Context, Poll};
use std::time::Duration;
use futures::{FutureExt, Stream, StreamExt};
use futures_util::stream::{Stream, StreamExt};
use futures_util::FutureExt;
use log::{debug, warn};
use tokio::time::Delay;

View File

@ -9,12 +9,12 @@
use std::collections::BTreeMap;
use std::fs::File;
use std::future::Future;
use std::io::{BufRead, BufReader};
use std::ops::{Deref, DerefMut};
use std::path::{Path, PathBuf};
use std::pin::Pin;
use futures::future::Future;
use log::{debug, info};
use crate::authority::{Authority, LookupError, MessageRequest, UpdateResult, ZoneType};
@ -359,7 +359,7 @@ mod tests {
use std::str::FromStr;
use crate::client::rr::RData;
use futures::executor::block_on;
use futures_executor::block_on;
use super::*;
use crate::authority::ZoneType;

View File

@ -5,11 +5,12 @@
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
use std::future::Future;
use std::io;
use std::pin::Pin;
use std::task::{Context, Poll};
use futures::{future, Future, FutureExt};
use futures_util::{future, FutureExt};
use log::info;
use tokio::runtime::Handle;

View File

@ -9,10 +9,11 @@
use std::borrow::Borrow;
use std::collections::BTreeMap;
use std::future::Future;
use std::pin::Pin;
use std::sync::Arc;
use futures::future::{self, Future, TryFutureExt};
use futures_util::future::{self, TryFutureExt};
use log::{debug, error};
use crate::client::op::{LowerQuery, ResponseCode};

View File

@ -7,12 +7,12 @@
//! All authority related types
use std::future::Future;
use std::ops::{Deref, DerefMut};
use std::path::{Path, PathBuf};
use std::pin::Pin;
use std::sync::Arc;
use futures::future::Future;
use log::{error, info, warn};
use crate::client::op::LowerQuery;
@ -255,7 +255,7 @@ impl SqliteAuthority {
/// zone rrset rr RRset exists (value dependent)
/// ```
pub fn verify_prerequisites(&self, pre_requisites: &[Record]) -> UpdateResult<()> {
use futures::executor::block_on;
use futures_executor::block_on;
// 3.2.5 - Pseudocode for Prerequisite Section Processing
//
@ -442,7 +442,7 @@ impl SqliteAuthority {
#[cfg(feature = "dnssec")]
#[allow(clippy::blocks_in_if_conditions)]
pub fn authorize(&self, update_message: &MessageRequest) -> UpdateResult<()> {
use futures::executor::block_on;
use futures_executor::block_on;
use log::debug;
use crate::client::rr::rdata::{DNSSECRData, DNSSECRecordType};

View File

@ -1,10 +1,10 @@
#![allow(clippy::dbg_macro)]
use std::future::Future;
use std::net::{Ipv4Addr, Ipv6Addr};
use std::str::FromStr;
use futures::executor::block_on;
use futures::future::Future;
use futures_executor::block_on;
use trust_dns_client::op::{Message, Query, ResponseCode};
use trust_dns_client::rr::dnssec::SupportedAlgorithms;

View File

@ -1,9 +1,9 @@
#![cfg(feature = "dnssec")]
use std::future::Future;
use std::str::FromStr;
use futures::executor::block_on;
use futures::Future;
use futures_executor::block_on;
use trust_dns_client::op::Query;
use trust_dns_client::rr::dnssec::{Algorithm, SupportedAlgorithms, Verifier};

View File

@ -1,10 +1,10 @@
#![cfg(feature = "dnssec")]
use std::future::Future;
use std::net::{Ipv4Addr, Ipv6Addr};
use std::str::FromStr;
use futures::executor::block_on;
use futures::Future;
use futures_executor::block_on;
use trust_dns_client::op::update_message;
use trust_dns_client::op::{Message, Query, ResponseCode};

View File

@ -1,7 +1,6 @@
#![recursion_limit = "128"]
#![cfg(feature = "trust-dns-resolver")]
extern crate futures;
extern crate trust_dns_client;
extern crate trust_dns_server;

View File

@ -1,4 +1,3 @@
extern crate futures;
extern crate trust_dns_client;
extern crate trust_dns_server;

View File

@ -1,6 +1,5 @@
#![cfg(feature = "sqlite")]
extern crate futures;
extern crate trust_dns_client;
extern crate trust_dns_server;

View File

@ -1,4 +1,3 @@
extern crate futures;
extern crate tokio;
extern crate trust_dns_proto;
extern crate trust_dns_server;
@ -8,8 +7,7 @@ use std::pin::Pin;
use std::task::{Context, Poll};
use std::time::Duration;
#[allow(deprecated)]
use futures::stream::{iter, Stream, StreamExt, TryStreamExt};
use futures_util::stream::{iter, Stream, StreamExt, TryStreamExt};
use tokio::runtime::Runtime;
use trust_dns_server::server::TimeoutStream;

View File

@ -1,4 +1,3 @@
extern crate futures;
extern crate trust_dns_client;
extern crate trust_dns_proto;
extern crate trust_dns_server;
@ -6,7 +5,7 @@ extern crate trust_dns_server;
use std::net::{Ipv4Addr, Ipv6Addr};
use std::str::FromStr;
use futures::executor::block_on;
use futures_executor::block_on;
use trust_dns_client::proto::rr::rdata::tlsa::*;
use trust_dns_client::rr::dnssec::*;