From 17c95b0fa80a2eb49d1e2c3199c22b2445ef5903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Cruz?= Date: Tue, 19 Jul 2022 20:13:51 +0100 Subject: [PATCH] Ensure connection is closed on abort (#801) When aborting a connection, ensure the underlying stream is closed before we return. --- src/transport/smtp/client/async_connection.rs | 1 + src/transport/smtp/client/connection.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/transport/smtp/client/async_connection.rs b/src/transport/smtp/client/async_connection.rs index adb0134..22ad206 100644 --- a/src/transport/smtp/client/async_connection.rs +++ b/src/transport/smtp/client/async_connection.rs @@ -194,6 +194,7 @@ impl AsyncSmtpConnection { self.panic = true; let _ = self.command(Quit).await; } + let _ = self.stream.close().await; } /// Sets the underlying stream diff --git a/src/transport/smtp/client/connection.rs b/src/transport/smtp/client/connection.rs index 6b1556a..f145be9 100644 --- a/src/transport/smtp/client/connection.rs +++ b/src/transport/smtp/client/connection.rs @@ -183,6 +183,7 @@ impl SmtpConnection { self.panic = true; let _ = self.command(Quit); } + let _ = self.stream.get_mut().shutdown(std::net::Shutdown::Both); } /// Sets the underlying stream