Skip to content

Commit 3068585

Browse files
authored
Merge branch 'master' into asonix/remove-futures-dependency
2 parents 8c611e6 + 1cabcfc commit 3068585

File tree

2 files changed

+17
-21
lines changed

2 files changed

+17
-21
lines changed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "tokio-postgres-rustls"
33
description = "Rustls integration for tokio-postgres"
4-
version = "0.11.0"
4+
version = "0.11.1"
55
authors = ["Jasper Hugo <jasper@jasperhugo.com>"]
66
repository = "https://github.com/jbg/tokio-postgres-rustls"
77
edition = "2018"
@@ -14,7 +14,7 @@ rustls = { version = "0.22.1", default-features = false }
1414
tokio = { version = "1", default-features = false }
1515
tokio-postgres = { version = "0.7", default-features = false }
1616
tokio-rustls = { version = "0.25", default-features = false }
17-
x509-certificate = {version = "0.23.0", default-features = false }
17+
x509-certificate = {version = "0.23", default-features = false }
1818

1919
[dev-dependencies]
2020
env_logger = { version = "0.10", default-features = false }

src/lib.rs

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,19 @@ where
3838
{
3939
type Stream = RustlsStream<S>;
4040
type TlsConnect = RustlsConnect;
41-
type Error = io::Error;
41+
type Error = rustls::pki_types::InvalidDnsNameError;
4242

43-
fn make_tls_connect(&mut self, hostname: &str) -> io::Result<RustlsConnect> {
44-
ServerName::try_from(hostname)
45-
.map(|dns_name| {
46-
RustlsConnect(Some(RustlsConnectData {
47-
hostname: dns_name.to_owned(),
48-
connector: Arc::clone(&self.config).into(),
49-
}))
43+
fn make_tls_connect(&mut self, hostname: &str) -> Result<RustlsConnect, Self::Error> {
44+
ServerName::try_from(hostname).map(|dns_name| {
45+
RustlsConnect(RustlsConnectData {
46+
hostname: dns_name.to_owned(),
47+
connector: Arc::clone(&self.config).into(),
5048
})
51-
.or(Ok(RustlsConnect(None)))
49+
})
5250
}
5351
}
5452

55-
pub struct RustlsConnect(Option<RustlsConnectData>);
53+
pub struct RustlsConnect(RustlsConnectData);
5654

5755
struct RustlsConnectData {
5856
hostname: ServerName<'static>,
@@ -68,15 +66,13 @@ where
6866
type Future = Pin<Box<dyn Future<Output = io::Result<RustlsStream<S>>> + Send>>;
6967

7068
fn connect(self, stream: S) -> Self::Future {
71-
match self.0 {
72-
None => Box::pin(core::future::ready(Err(io::ErrorKind::InvalidInput.into()))),
73-
Some(c) => Box::pin(async move {
74-
c.connector
75-
.connect(c.hostname, stream)
76-
.await
77-
.map(|s| RustlsStream(Box::pin(s)))
78-
}),
79-
}
69+
Box::pin(async move {
70+
self.0
71+
.connector
72+
.connect(self.0.hostname, stream)
73+
.await
74+
.map(|s| RustlsStream(Box::pin(s)))
75+
})
8076
}
8177
}
8278

0 commit comments

Comments
 (0)