From 730ec2b877c36955c596188c02f33f28b7a3c655 Mon Sep 17 00:00:00 2001 From: Rafael da Fonseca Date: Sat, 13 Jun 2015 01:46:26 +0200 Subject: [PATCH 1/2] Fix findbugs warning in LibvirtConsoleProxyLoadCommandWrapper Encoding is now specified in both server and clients for the console proxy getstatus command For some reason, findbugs did not detect unsafe encoding issue in ConsoleProxyResource.java, is properly specified now though... CitrixConsoleProxyLoadCommandWrapper was specifying system default encoding for operation, should be ok because default for xenserver is UTF-8 since it's linux based, but it's best to specify exact encoding set on the server end to be consistent --- .../agent/resource/consoleproxy/ConsoleProxyResource.java | 2 +- .../wrapper/LibvirtConsoleProxyLoadCommandWrapper.java | 4 ++-- .../wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java | 4 ++-- .../src/com/cloud/consoleproxy/ConsoleProxyCmdHandler.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java b/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java index 16173aac2ffa..08f098239865 100644 --- a/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java +++ b/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java @@ -149,7 +149,7 @@ private Answer executeProxyLoadScan(final Command cmd, final long proxyVmId, fin final URLConnection conn = url.openConnection(); final InputStream is = conn.getInputStream(); - final BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + final BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); final StringBuilder sb2 = new StringBuilder(); String line = null; try { diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsoleProxyLoadCommandWrapper.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsoleProxyLoadCommandWrapper.java index 125a295eb903..1a2f7cb20b6c 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsoleProxyLoadCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsoleProxyLoadCommandWrapper.java @@ -50,7 +50,7 @@ public Answer executeProxyLoadScan(final Command cmd, final long proxyVmId, fina final URLConnection conn = url.openConnection(); final InputStream is = conn.getInputStream(); - final BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + final BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); final StringBuilder sb2 = new StringBuilder(); String line = null; try { @@ -75,4 +75,4 @@ public Answer executeProxyLoadScan(final Command cmd, final long proxyVmId, fina return new ConsoleProxyLoadAnswer(cmd, proxyVmId, proxyVmName, success, result); } -} \ No newline at end of file +} diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java index 4b863a28fcbb..30a6a1bb798a 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java @@ -55,7 +55,7 @@ protected Answer executeProxyLoadScan(final Command cmd, final long proxyVmId, f conn.setReadTimeout(5000); final InputStream is = conn.getInputStream(); - final BufferedReader reader = new BufferedReader(new InputStreamReader(is, Charset.defaultCharset())); + final BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); final StringBuilder sb2 = new StringBuilder(); String line = null; try { @@ -80,4 +80,4 @@ protected Answer executeProxyLoadScan(final Command cmd, final long proxyVmId, f return new ConsoleProxyLoadAnswer(cmd, proxyVmId, proxyVmName, success, result); } -} \ No newline at end of file +} diff --git a/services/console-proxy/server/src/com/cloud/consoleproxy/ConsoleProxyCmdHandler.java b/services/console-proxy/server/src/com/cloud/consoleproxy/ConsoleProxyCmdHandler.java index 76d13692beab..71ce5a7879c9 100644 --- a/services/console-proxy/server/src/com/cloud/consoleproxy/ConsoleProxyCmdHandler.java +++ b/services/console-proxy/server/src/com/cloud/consoleproxy/ConsoleProxyCmdHandler.java @@ -63,7 +63,7 @@ public void doHandle(HttpExchange t) throws Exception { Headers hds = t.getResponseHeaders(); hds.set("Content-Type", "text/plain"); t.sendResponseHeaders(200, 0); - OutputStreamWriter os = new OutputStreamWriter(t.getResponseBody()); + OutputStreamWriter os = new OutputStreamWriter(t.getResponseBody(),"UTF-8"); statsCollector.getStatsReport(os); os.close(); } From fca76e5fd4ba288079c0b19a809939acb87f6ec5 Mon Sep 17 00:00:00 2001 From: Rafael da Fonseca Date: Sun, 14 Jun 2015 16:04:35 +0200 Subject: [PATCH 2/2] Remove unused import to fix checkstyle warning --- .../wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java index 30a6a1bb798a..70334580b7c1 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixConsoleProxyLoadCommandWrapper.java @@ -25,7 +25,6 @@ import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; -import java.nio.charset.Charset; import org.apache.log4j.Logger;