]> WPIA git - gigi.git/commitdiff
FIX: add UTF-8 as charset where appropriate.
authorFelix Dörre <felix@dogcraft.de>
Thu, 19 Feb 2015 21:22:49 +0000 (22:22 +0100)
committerFelix Dörre <felix@dogcraft.de>
Thu, 19 Feb 2015 21:22:49 +0000 (22:22 +0100)
src/org/cacert/gigi/DevelLauncher.java
src/org/cacert/gigi/Gigi.java
src/org/cacert/gigi/database/SQLFileManager.java
src/org/cacert/gigi/dbObjects/Certificate.java
src/org/cacert/gigi/email/EmailProvider.java
src/org/cacert/gigi/pages/StaticPage.java
src/org/cacert/gigi/ping/SSLPinger.java
src/org/cacert/gigi/util/PasswordHash.java

index 5d1686728378524f39eb7ed416532a06e730642f..5e0235939ea5b80fb1b0f392a3d8a65fd480f751 100644 (file)
@@ -61,7 +61,7 @@ public class DevelLauncher {
         Launcher.boot();
         addDevelPage();
         System.setIn(oldin);
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
+        BufferedReader br = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));
         System.out.println("Cacert-gigi system sucessfully started.");
         System.out.println("Press enter to shutdown.");
         br.readLine();
index 8c4a234c5a30a3f14ab9fa26eb12e7fd3745a573..7e0b3b5569a3681c1625f79d2f8ef4f55699fbdc 100644 (file)
@@ -2,6 +2,7 @@ package org.cacert.gigi;
 
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
 import java.security.KeyStore;
 import java.security.cert.X509Certificate;
 import java.util.Calendar;
@@ -149,7 +150,11 @@ public class Gigi extends HttpServlet {
                 }
             }
 
-            putPage("/wot/rules", new StaticPage("Web of Trust Rules", AssurePage.class.getResourceAsStream("Rules.templ")), "Web of Trust");
+            try {
+                putPage("/wot/rules", new StaticPage("Web of Trust Rules", AssurePage.class.getResourceAsStream("Rules.templ")), "Web of Trust");
+            } catch (UnsupportedEncodingException e) {
+                new ServletException(e);
+            }
             baseTemplate = new Template(Gigi.class.getResource("Gigi.templ"));
             rootMenu = new Menu("Main");
             Menu about = new Menu("About CAcert.org");
index 676d9e66e129f992217bf74ed92c0ec8ac57e3be..62083c7467663619b84466040f6ed7653f9588e7 100644 (file)
@@ -56,6 +56,6 @@ public class SQLFileManager {
         while ((len = f.read(buf)) > 0) {
             baos.write(buf, 0, len);
         }
-        return new String(baos.toByteArray());
+        return new String(baos.toByteArray(), "UTF-8");
     }
 }
index 9a857fe4e75d9b2640615172ee197e6937479017..affb1719fe8ff58a44e4a7db41edd1260438e408 100644 (file)
@@ -274,7 +274,7 @@ public class Certificate {
         File csrFile = KeyStorage.locateCsr(id);
         csrName = csrFile.getPath();
         FileOutputStream fos = new FileOutputStream(csrFile);
-        fos.write(csr.getBytes());
+        fos.write(csr.getBytes("UTF-8"));
         fos.close();
 
         GigiPreparedStatement updater = DatabaseConnection.getInstance().prepare("UPDATE certs SET csr_name=? WHERE id=?");
index 49a27356061062cc06f2d58f7eaba0dabee0eb5c..918d7da34a4caed5f5fec3cf5053a5720647972d 100644 (file)
@@ -87,7 +87,7 @@ 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(s.getOutputStream())) {
                     BufferedReader br = br0;
                     PrintWriter pw = pw0;
                     String line;
@@ -100,8 +100,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 +116,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();
index f4d824c7e2447865c3b84d2d1d844a68c11560ac..be2e75bd937fa0f173d119489a6346825e268a1d 100644 (file)
@@ -3,6 +3,7 @@ package org.cacert.gigi.pages;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
 import java.util.HashMap;
 
 import javax.servlet.http.HttpServletRequest;
@@ -14,9 +15,9 @@ public class StaticPage extends Page {
 
     private Template content;
 
-    public StaticPage(String title, InputStream content) {
+    public StaticPage(String title, InputStream content) throws UnsupportedEncodingException {
         super(title);
-        this.content = new Template(new InputStreamReader(content));
+        this.content = new Template(new InputStreamReader(content, "UTF-8"));
     }
 
     @Override
index 6a20dafe7266384a3133248dc30d1d05ad755e61..ec63a787d98e866c535baa419576fb17c5dd10a5 100644 (file)
@@ -76,7 +76,7 @@ public class SSLPinger extends DomainPinger {
         InputStream is = s.getInputStream();
         OutputStream os = s.getOutputStream();
         scanFor(is, "\n");
-        os.write("ENABLE STARTTLS\r\n".getBytes());
+        os.write("ENABLE STARTTLS\r\n".getBytes("UTF-8"));
         os.flush();
         scanFor(is, "\n");
     }
@@ -87,7 +87,7 @@ public class SSLPinger extends DomainPinger {
         OutputStream os = s.getOutputStream();
         os.write(("<stream:stream to=\"" + domain + "\" xmlns=\"jabber:" + (server ? "server" : "client") + "\"" + " xmlns:stream=\"http://etherx.jabber.org/streams\" version=\"1.0\">").getBytes());
         os.flush();
-        os.write("<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"/>".getBytes());
+        os.write("<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"/>".getBytes("UTF-8"));
         os.flush();
         scanFor(is, "<proceed");
         scanFor(is, ">");
@@ -109,13 +109,13 @@ public class SSLPinger extends DomainPinger {
         Socket s = sch.socket();
         InputStream is = s.getInputStream();
         readSMTP(is);
-        s.getOutputStream().write("EHLO ssl.pinger\r\n".getBytes());
+        s.getOutputStream().write("EHLO ssl.pinger\r\n".getBytes("UTF-8"));
         s.getOutputStream().flush();
         readSMTP(is);
-        s.getOutputStream().write("HELP\r\n".getBytes());
+        s.getOutputStream().write("HELP\r\n".getBytes("UTF-8"));
         s.getOutputStream().flush();
         readSMTP(is);
-        s.getOutputStream().write("STARTTLS\r\n".getBytes());
+        s.getOutputStream().write("STARTTLS\r\n".getBytes("UTF-8"));
         s.getOutputStream().flush();
         readSMTP(is);
     }
index 11e4d34419c78cbc46a6591d4262cfa35ebdf1a8..ed0d4f3c251903a0400552e1db0f6b2a1e75b20e 100644 (file)
@@ -1,5 +1,6 @@
 package org.cacert.gigi.util;
 
+import java.io.UnsupportedEncodingException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 
@@ -48,7 +49,7 @@ public class PasswordHash {
     private static String sha1(String password) {
         try {
             MessageDigest md = MessageDigest.getInstance("SHA1");
-            byte[] digest = md.digest(password.getBytes());
+            byte[] digest = md.digest(password.getBytes("UTF-8"));
             StringBuffer res = new StringBuffer(digest.length * 2);
             for (int i = 0; i < digest.length; i++) {
                 res.append(Integer.toHexString((digest[i] & 0xF0) >> 4));
@@ -57,6 +58,8 @@ public class PasswordHash {
             return res.toString();
         } catch (NoSuchAlgorithmException e) {
             throw new Error(e);
+        } catch (UnsupportedEncodingException e) {
+            throw new Error(e);
         }
     }