]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/email/EmailProvider.java
Fix: various coverity charset issues.
[gigi.git] / src / org / cacert / gigi / email / EmailProvider.java
index 49a27356061062cc06f2d58f7eaba0dabee0eb5c..d76fd6ef1d185f002b76a464717bb170e28035ea 100644 (file)
@@ -3,6 +3,7 @@ package org.cacert.gigi.email;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.net.Socket;
 import java.security.GeneralSecurityException;
@@ -87,7 +88,8 @@ public abstract class EmailProvider {
                 } else {
                     return "Strange MX records.";
                 }
-                try (Socket s = new Socket(host, 25); BufferedReader br0 = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter pw0 = new PrintWriter(s.getOutputStream())) {
+                try (Socket s = new Socket(host, 25); BufferedReader br0 = new BufferedReader(new InputStreamReader(s.getInputStream(), "UTF-8"));//
+                        PrintWriter pw0 = new PrintWriter(new OutputStreamWriter(s.getOutputStream(), "UTF-8"))) {
                     BufferedReader br = br0;
                     PrintWriter pw = pw0;
                     String line;
@@ -100,8 +102,9 @@ public abstract class EmailProvider {
                     boolean starttls = false;
                     do {
                         line = br.readLine();
-                        if (line == null)
+                        if (line == null) {
                             break;
+                        }
                         starttls |= line.substring(4).equals("STARTTLS");
                     } while (line.startsWith("250-"));
                     if (line == null || !line.startsWith("250 ")) {
@@ -115,7 +118,7 @@ public abstract class EmailProvider {
                             continue;
                         }
                         Socket s1 = ((SSLSocketFactory) SSLSocketFactory.getDefault()).createSocket(s, host, 25, true);
-                        br = new BufferedReader(new InputStreamReader(s1.getInputStream()));
+                        br = new BufferedReader(new InputStreamReader(s1.getInputStream(), "UTF-8"));
                         pw = new PrintWriter(s1.getOutputStream());
                         pw.print("EHLO www.cacert.org\r\n");
                         pw.flush();