From 48ca5200b9b4f116997585226f20693179c09baf Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 24 Jul 2012 15:33:44 -0700 Subject: [PATCH] Always read/write Guacamole protocol in UTF-8. --- .../sourceforge/guacamole/net/InetGuacamoleSocket.java | 4 ++-- .../guacamole/servlet/GuacamoleHTTPTunnelServlet.java | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/guacamole-common/src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java b/guacamole-common/src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java index 9a0e19893..d31e149bf 100644 --- a/guacamole-common/src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java +++ b/guacamole-common/src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java @@ -101,8 +101,8 @@ public class InetGuacamoleSocket implements GuacamoleSocket { sock.setSoTimeout(SOCKET_TIMEOUT); // On successful connect, retrieve I/O streams - reader = new ReaderGuacamoleReader(new InputStreamReader(sock.getInputStream())); - writer = new WriterGuacamoleWriter(new OutputStreamWriter(sock.getOutputStream())); + reader = new ReaderGuacamoleReader(new InputStreamReader(sock.getInputStream(), "UTF-8")); + writer = new WriterGuacamoleWriter(new OutputStreamWriter(sock.getOutputStream(), "UTF-8")); } catch (IOException e) { diff --git a/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleHTTPTunnelServlet.java b/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleHTTPTunnelServlet.java index 7c790b200..b3bd6dbde 100644 --- a/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleHTTPTunnelServlet.java +++ b/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleHTTPTunnelServlet.java @@ -36,10 +36,8 @@ package net.sourceforge.guacamole.servlet; * * ***** END LICENSE BLOCK ***** */ +import java.io.*; import net.sourceforge.guacamole.net.GuacamoleTunnel; -import java.io.IOException; -import java.io.Reader; -import java.io.Writer; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -246,7 +244,7 @@ public abstract class GuacamoleHTTPTunnelServlet extends HttpServlet { // anything but application/octet-stream. response.setContentType("application/octet-stream"); - Writer out = response.getWriter(); + Writer out = new BufferedWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8")); // Detach tunnel and throw error if EOF (and we haven't sent any // data yet. @@ -343,7 +341,7 @@ public abstract class GuacamoleHTTPTunnelServlet extends HttpServlet { GuacamoleWriter writer = tunnel.acquireWriter(); - Reader input = request.getReader(); + Reader input = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8")); char[] buffer = new char[8192]; int length;