(geronimo-mail) 01/01: Ensure to flush the buffered output stream introduced in https://github.com/apache/geronimo-mail/pull/1

[email protected] Fri, 19 Dec 2025 09:56:37 +0000
Newsgroups gmane.comp.java.geronimo.cvs
Message-ID <[email protected]>
This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch flush-buffered-stream
in repository https://gitbox.apache.org/repos/asf/geronimo-mail.git

commit 3bdd5fa3c3694e74c866f749d4d2fe3da564e633
Author: Richard Zowalla <[email protected]>
AuthorDate: Fri Dec 19 10:56:26 2025 +0100

    Ensure to flush the buffered output stream introduced in https://github.com/apache/geronimo-mail/pull/1
---
 .../org/apache/geronimo/mail/transport/nntp/NNTPConnection.java    | 1 +
 .../main/java/org/apache/geronimo/mail/util/MailConnection.java    | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/geronimo-mail_2.1_impl/geronimo-mail_2.1_provider/src/main/java/org/apache/geronimo/mail/transport/nntp/NNTPConnection.java b/geronimo-mail_2.1_impl/geronimo-mail_2.1_provider/src/main/java/org/apache/geronimo/mail/transport/nntp/NNTPConnection.java
index 566834b..c8a6f3d 100644
--- a/geronimo-mail_2.1_impl/geronimo-mail_2.1_provider/src/main/java/org/apache/geronimo/mail/transport/nntp/NNTPConnection.java
+++ b/geronimo-mail_2.1_impl/geronimo-mail_2.1_provider/src/main/java/org/apache/geronimo/mail/transport/nntp/NNTPConnection.java
@@ -372,6 +372,7 @@ public class NNTPConnection extends MailConnection {
             mimeOut.writeSMTPTerminator();
             // and flush the data to send it along
             mimeOut.flush();
+            this.outputStream.flush(); // most of the time MIMEOutputStream#flush does nothing so ensure we actually flush the data
         } catch (IOException e) {
             throw new MessagingException("I/O error posting message", e);
         } catch (MessagingException e) {
diff --git a/geronimo-mail_2.1_impl/geronimo-mail_2.1_provider/src/main/java/org/apache/geronimo/mail/util/MailConnection.java b/geronimo-mail_2.1_impl/geronimo-mail_2.1_provider/src/main/java/org/apache/geronimo/mail/util/MailConnection.java
index fcc1e49..1a1b00a 100644
--- a/geronimo-mail_2.1_impl/geronimo-mail_2.1_provider/src/main/java/org/apache/geronimo/mail/util/MailConnection.java
+++ b/geronimo-mail_2.1_impl/geronimo-mail_2.1_provider/src/main/java/org/apache/geronimo/mail/util/MailConnection.java
@@ -661,7 +661,12 @@ public class MailConnection {
     public void closeServerConnection()
     {
         try {
-            socket.close();
+            if (outputStream != null) {
+                outputStream.flush();
+            }
+            if(socket != null) {
+                socket.close();
+            }
         } catch (IOException ignored) {
         }