From e9a63222e6f2bdb977b4e14edf059947bdb4ecb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jagoda=20Estera=20=C5=9Al=C4=85zak?= <128227338+j-g00da@users.noreply.github.com> Date: Mon, 1 Jun 2026 23:27:30 +0900 Subject: [PATCH] fix(smtp-server): Correct error when EOF while reading DATA (#168) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Log `Unexpected EoF while receiving DATA!` instead of `Malformed DATA line without CRLF ending!` Fixes: #165 Signed-off-by: Jagoda Ślązak --- filtermail/src/smtp_server.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/filtermail/src/smtp_server.rs b/filtermail/src/smtp_server.rs index 8651105a..f2ff8109 100644 --- a/filtermail/src/smtp_server.rs +++ b/filtermail/src/smtp_server.rs @@ -225,7 +225,10 @@ where let mut data_line = String::new(); 'data_read: loop { data_line.clear(); - reader.read_line(&mut data_line).await?; + if reader.read_line(&mut data_line).await? == 0 { + log::warn!("Unexpected EoF while receiving DATA! Closing connection."); + break 'connection; + } if data_line == ".\r\n" { break 'data_read;