You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by lq...@apache.org on 2017/08/04 08:13:06 UTC

qpid-broker-j git commit: QPID-7434: [Java Broker] explicitly specify encoding when converting String <-> byte[]

Repository: qpid-broker-j
Updated Branches:
  refs/heads/master 48ace9f98 -> b469c454a


QPID-7434: [Java Broker] explicitly specify encoding when converting String <-> byte[]


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/b469c454
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/b469c454
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/b469c454

Branch: refs/heads/master
Commit: b469c454a00997e0e83858673b92895af85f1dd4
Parents: 48ace9f
Author: Lorenz Quack <lq...@apache.org>
Authored: Thu Aug 3 14:28:43 2017 +0100
Committer: Lorenz Quack <lq...@apache.org>
Committed: Fri Aug 4 08:42:48 2017 +0100

----------------------------------------------------------------------
 .../apache/qpid/server/model/UUIDGenerator.java |  4 +++-
 .../OAuth2AuthenticationProviderImpl.java       | 14 +++++++-------
 ...oudFoundryOAuth2IdentityResolverService.java | 12 ++++++------
 .../protocol/v0_10/MessageConverter_v0_10.java  |  4 +++-
 .../protocol/v0_10/MessageTransferHeader.java   | 15 +++++++++++----
 .../v0_10/transport/AbstractDecoder.java        | 19 ++++++++++++++++---
 .../v0_10/transport/AbstractEncoder.java        | 20 +++++++++++++++++---
 .../protocol/v0_8/AMQPConnection_0_8Impl.java   |  6 ++++--
 .../qpid/disttest/jms/ClientJmsDelegate.java    |  9 ++++++---
 .../qpid/systest/rest/RestTestHelper.java       |  6 ++++--
 .../org/apache/qpid/tools/MessageFactory.java   |  4 +++-
 .../java/org/apache/qpid/tools/QpidSend.java    |  9 ++++++---
 .../apache/qpid/tools/RestStressTestClient.java | 11 +++++++----
 13 files changed, 93 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/broker-core/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java b/broker-core/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java
index a0fd188..fcfb557 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.server.model;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.util.UUID;
 
 public class UUIDGenerator
@@ -40,7 +42,7 @@ public class UUIDGenerator
             sb.append("/").append(name);
         }
 
-        return UUID.nameUUIDFromBytes(sb.toString().getBytes());
+        return UUID.nameUUIDFromBytes(sb.toString().getBytes(UTF_8));
     }
 
     public static UUID generateExchangeUUID(String exchangeName, String virtualHostName)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java
index 13cfe94..f579fdd 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java
@@ -19,6 +19,8 @@
 
 package org.apache.qpid.server.security.auth.manager.oauth2;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -28,7 +30,6 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
 import java.security.GeneralSecurityException;
 import java.security.Principal;
 import java.util.Collection;
@@ -71,7 +72,6 @@ public class OAuth2AuthenticationProviderImpl
 {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(OAuth2AuthenticationProviderImpl.class);
-    private static final String UTF8 = StandardCharsets.UTF_8.name();
 
     private final ObjectMapper _objectMapper = new ObjectMapper();
 
@@ -268,13 +268,13 @@ public class OAuth2AuthenticationProviderImpl
             connection = connectionBuilder.build();
 
             connection.setDoOutput(true); // makes sure to use POST
-            connection.setRequestProperty("Accept-Charset", UTF8);
-            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + UTF8);
+            connection.setRequestProperty("Accept-Charset", UTF_8.name());
+            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + UTF_8.name());
             connection.setRequestProperty("Accept", "application/json");
 
             if (getTokenEndpointNeedsAuth())
             {
-                String encoded = DatatypeConverter.printBase64Binary((getClientId() + ":" + getClientSecret()).getBytes());
+                String encoded = DatatypeConverter.printBase64Binary((getClientId() + ":" + getClientSecret()).getBytes(UTF_8));
                 connection.setRequestProperty("Authorization", "Basic " + encoded);
             }
 
@@ -285,7 +285,7 @@ public class OAuth2AuthenticationProviderImpl
             requestBody.put("redirect_uri", redirectUri);
             requestBody.put("grant_type", "authorization_code");
             requestBody.put("response_type", "token");
-            body = OAuth2Utils.buildRequestQuery(requestBody).getBytes(UTF8);
+            body = OAuth2Utils.buildRequestQuery(requestBody).getBytes(UTF_8);
             connection.connect();
 
             try (OutputStream output = connection.getOutputStream())
@@ -400,7 +400,7 @@ public class OAuth2AuthenticationProviderImpl
             String vhostName = URLEncoder.encode(addressSpace == null
                                                          ? ""
                                                          : addressSpace.getName(),
-                                                 StandardCharsets.UTF_8.name());
+                                                 UTF_8.name());
 
             final Strings.MapResolver virtualhostResolver = new Strings.MapResolver(Collections.singletonMap("virtualhost",
                                                                                                          vhostName));

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java
index a37b97c..b9510b5 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java
@@ -20,13 +20,14 @@
  */
 package org.apache.qpid.server.security.auth.manager.oauth2.cloudfoundry;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.URI;
 import java.net.URL;
-import java.nio.charset.StandardCharsets;
 import java.security.GeneralSecurityException;
 import java.security.Principal;
 import java.util.Collections;
@@ -55,7 +56,6 @@ import org.apache.qpid.server.util.ServerScopedRuntimeException;
 public class CloudFoundryOAuth2IdentityResolverService implements OAuth2IdentityResolverService
 {
     private static final Logger LOGGER = LoggerFactory.getLogger(CloudFoundryOAuth2IdentityResolverService.class);
-    private static final String UTF8 = StandardCharsets.UTF_8.name();
 
     public static final String TYPE = "CloudFoundryIdentityResolver";
 
@@ -105,10 +105,10 @@ public class CloudFoundryOAuth2IdentityResolverService implements OAuth2Identity
         HttpURLConnection connection = connectionBuilder.build();
 
         connection.setDoOutput(true); // makes sure to use POST
-        connection.setRequestProperty("Accept-Charset", UTF8);
-        connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + UTF8);
+        connection.setRequestProperty("Accept-Charset", UTF_8.name());
+        connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + UTF_8.name());
         connection.setRequestProperty("Accept", "application/json");
-        String encoded = DatatypeConverter.printBase64Binary((clientId + ":" + clientSecret).getBytes());
+        String encoded = DatatypeConverter.printBase64Binary((clientId + ":" + clientSecret).getBytes(UTF_8));
         connection.setRequestProperty("Authorization", "Basic " + encoded);
 
         final Map<String,String> requestParameters = Collections.singletonMap("token", accessToken);
@@ -117,7 +117,7 @@ public class CloudFoundryOAuth2IdentityResolverService implements OAuth2Identity
 
         try (OutputStream output = connection.getOutputStream())
         {
-            output.write(OAuth2Utils.buildRequestQuery(requestParameters).getBytes(UTF8));
+            output.write(OAuth2Utils.buildRequestQuery(requestParameters).getBytes(UTF_8));
             output.close();
 
             try (InputStream input = OAuth2Utils.getResponseStream(connection))

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java
index e624455..dfdbc9a 100644
--- a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java
+++ b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.server.protocol.v0_10;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.util.Collection;
 
 import org.apache.qpid.server.bytebuffer.QpidByteBuffer;
@@ -141,7 +143,7 @@ public class MessageConverter_v0_10 implements MessageConverter<ServerMessage, M
         messageProps.setContentType(serverMsg.getMessageHeader().getMimeType());
         if(serverMsg.getMessageHeader().getCorrelationId() != null)
         {
-            messageProps.setCorrelationId(serverMsg.getMessageHeader().getCorrelationId().getBytes());
+            messageProps.setCorrelationId(serverMsg.getMessageHeader().getCorrelationId().getBytes(UTF_8));
         }
 
         Header header = new Header(deliveryProps, messageProps, null);

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferHeader.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferHeader.java b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferHeader.java
index 5855290..5eb8406 100644
--- a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferHeader.java
+++ b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferHeader.java
@@ -20,7 +20,14 @@
  */
 package org.apache.qpid.server.protocol.v0_10;
 
-import java.util.*;
+import static java.nio.charset.StandardCharsets.UTF_8;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
 import org.apache.qpid.server.message.AMQMessageHeader;
 import org.apache.qpid.server.protocol.v0_10.transport.DeliveryProperties;
 import org.apache.qpid.server.protocol.v0_10.transport.MessageDeliveryPriority;
@@ -51,7 +58,7 @@ class MessageTransferHeader implements AMQMessageHeader
     {
         if (_messageProps != null && _messageProps.getCorrelationId() != null)
         {
-            return new String(_messageProps.getCorrelationId());
+            return new String(_messageProps.getCorrelationId(), UTF_8);
         }
         else
         {
@@ -82,14 +89,14 @@ class MessageTransferHeader implements AMQMessageHeader
     public String getUserId()
     {
         byte[] userIdBytes = _messageProps == null ? null : _messageProps.getUserId();
-        return userIdBytes == null ? null : new String(userIdBytes);
+        return userIdBytes == null ? null : new String(userIdBytes, UTF_8);
     }
 
     @Override
     public String getAppId()
     {
         byte[] appIdBytes = _messageProps == null ? null : _messageProps.getAppId();
-        return appIdBytes == null ? null : new String(appIdBytes);
+        return appIdBytes == null ? null : new String(appIdBytes, UTF_8);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractDecoder.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractDecoder.java b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractDecoder.java
index 5ff6fae..6aa3cd7 100644
--- a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractDecoder.java
+++ b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractDecoder.java
@@ -20,7 +20,9 @@
  */
 package org.apache.qpid.server.protocol.v0_10.transport;
 
+import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
+import java.nio.charset.UnsupportedCharsetException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.LinkedHashMap;
@@ -435,11 +437,22 @@ public abstract class AbstractDecoder implements Decoder
             return readStr16();
 
         case STR8_LATIN:
-        case STR8_UTF16:
         case STR16_LATIN:
+            Charset charset;
+            try
+            {
+                charset = Charset.forName("ISO-8859-15");
+            }
+            catch (UnsupportedCharsetException e)
+            {
+                // We do not want to start throwing execptions from here so we fall back to ISO_8859_1
+                charset = StandardCharsets.ISO_8859_1;
+            }
+            return new String(readBytes(t), charset);
+
+        case STR8_UTF16:
         case STR16_UTF16:
-            // XXX: need to do character conversion
-            return new String(readBytes(t));
+            return new String(readBytes(t), StandardCharsets.UTF_16);
 
         case MAP:
             return readMap();

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractEncoder.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractEncoder.java b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractEncoder.java
index 9eaff2d..ff9bdb2 100644
--- a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractEncoder.java
+++ b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/transport/AbstractEncoder.java
@@ -23,7 +23,9 @@ package org.apache.qpid.server.protocol.v0_10.transport;
 import static org.apache.qpid.server.transport.util.Functions.lsb;
 
 import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
+import java.nio.charset.UnsupportedCharsetException;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -519,11 +521,23 @@ public abstract class AbstractEncoder implements Encoder
             break;
 
         case STR8_LATIN:
-        case STR8_UTF16:
         case STR16_LATIN:
+            Charset charset;
+            try
+            {
+                charset = Charset.forName("ISO-8859-15");
+            }
+            catch (UnsupportedCharsetException e)
+            {
+                // We do not want to start throwing execptions from here so we fall back to ISO_8859_1
+                charset = StandardCharsets.ISO_8859_1;
+            }
+            writeBytes(t, coerce(String.class, value).getBytes(charset));
+            break;
+
+        case STR8_UTF16:
         case STR16_UTF16:
-            // XXX: need to do character conversion
-            writeBytes(t, coerce(String.class, value).getBytes());
+            writeBytes(t, coerce(String.class, value).getBytes(StandardCharsets.UTF_16));
             break;
 
         case MAP:

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8Impl.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8Impl.java b/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8Impl.java
index 82ab243..2f55bb5 100644
--- a/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8Impl.java
+++ b/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8Impl.java
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.server.protocol.v0_8;
 
+import static java.nio.charset.StandardCharsets.US_ASCII;
+
 import java.io.IOException;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
@@ -353,8 +355,8 @@ public class AMQPConnection_0_8Impl
             AMQMethodBody responseBody = getMethodRegistry().createConnectionStartBody((short) getProtocolMajorVersion(),
                                                                                        (short) pv.getActualMinorVersion(),
                                                                                        serverProperties,
-                                                                                       mechanisms.getBytes(),
-                                                                                       locales.getBytes());
+                                                                                       mechanisms.getBytes(US_ASCII),
+                                                                                       locales.getBytes(US_ASCII));
             writeFrame(responseBody.generateFrame(0));
             _state = ConnectionState.AWAIT_START_OK;
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java
----------------------------------------------------------------------
diff --git a/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java b/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java
index db4804a..bc04fc1 100644
--- a/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java
+++ b/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java
@@ -19,6 +19,8 @@
  */
 package org.apache.qpid.disttest.jms;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.util.Enumeration;
 import java.util.Map;
 import java.util.UUID;
@@ -43,6 +45,9 @@ import javax.jms.Topic;
 import javax.naming.Context;
 import javax.naming.NamingException;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.qpid.disttest.DistributedTestConstants;
 import org.apache.qpid.disttest.DistributedTestException;
 import org.apache.qpid.disttest.client.Client;
@@ -56,8 +61,6 @@ import org.apache.qpid.disttest.message.CreateProducerCommand;
 import org.apache.qpid.disttest.message.CreateSessionCommand;
 import org.apache.qpid.disttest.message.RegisterClientCommand;
 import org.apache.qpid.disttest.message.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class ClientJmsDelegate
 {
@@ -687,7 +690,7 @@ public class ClientJmsDelegate
         {
             if (message != null && message instanceof TextMessage)
             {
-                return ((TextMessage) message).getText().getBytes().length;
+                return ((TextMessage) message).getText().getBytes(UTF_8).length;
             }
 
             return 0;

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java b/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
index e0b3329..09c7b34 100644
--- a/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
+++ b/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
@@ -18,6 +18,8 @@
  */
 package org.apache.qpid.systest.rest;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.FileNotFoundException;
@@ -228,7 +230,7 @@ public class RestTestHelper
 
         if(_username != null)
         {
-            String encoded = DatatypeConverter.printBase64Binary((_username + ":" + _password).getBytes());
+            String encoded = DatatypeConverter.printBase64Binary((_username + ":" + _password).getBytes(UTF_8));
             httpCon.setRequestProperty("Authorization", "Basic " + encoded);
         }
 
@@ -284,7 +286,7 @@ public class RestTestHelper
         }
         if (LOGGER.isTraceEnabled())
         {
-            LOGGER.trace("RESPONSE:" + new String(baos.toByteArray()));
+            LOGGER.trace("RESPONSE:" + new String(baos.toByteArray(), UTF_8));
         }
         return baos.toByteArray();
     }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/tools/src/main/java/org/apache/qpid/tools/MessageFactory.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/qpid/tools/MessageFactory.java b/tools/src/main/java/org/apache/qpid/tools/MessageFactory.java
index a0ba928..2833ea7 100644
--- a/tools/src/main/java/org/apache/qpid/tools/MessageFactory.java
+++ b/tools/src/main/java/org/apache/qpid/tools/MessageFactory.java
@@ -21,6 +21,8 @@
 package org.apache.qpid.tools;
 
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import javax.jms.BytesMessage;
 import javax.jms.JMSException;
 import javax.jms.Message;
@@ -32,7 +34,7 @@ public class MessageFactory
     public static Message createBytesMessage(Session ssn, int size) throws JMSException
     {
         BytesMessage msg = ssn.createBytesMessage();
-        msg.writeBytes(createMessagePayload(size).getBytes());
+        msg.writeBytes(createMessagePayload(size).getBytes(UTF_8));
         return msg;
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/tools/src/main/java/org/apache/qpid/tools/QpidSend.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/qpid/tools/QpidSend.java b/tools/src/main/java/org/apache/qpid/tools/QpidSend.java
index 58a6437..fd7503a 100644
--- a/tools/src/main/java/org/apache/qpid/tools/QpidSend.java
+++ b/tools/src/main/java/org/apache/qpid/tools/QpidSend.java
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.tools;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
@@ -33,13 +35,14 @@ import javax.jms.Message;
 import javax.jms.MessageProducer;
 import javax.jms.Session;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.qpid.client.AMQDestination;
 import org.apache.qpid.tools.TestConfiguration.MessageType;
 import org.apache.qpid.tools.report.BasicReporter;
 import org.apache.qpid.tools.report.Reporter;
 import org.apache.qpid.tools.report.Statistics.Throughput;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class QpidSend
 {
@@ -156,7 +159,7 @@ public class QpidSend
 		}
 		else
 		{
-			return MessageFactory.createMessagePayload(size).getBytes();
+			return MessageFactory.createMessagePayload(size).getBytes(UTF_8);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b469c454/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java
----------------------------------------------------------------------
diff --git a/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java b/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java
index 510b328..d97d5fd 100644
--- a/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java
+++ b/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java
@@ -20,6 +20,9 @@
  */
 package org.apache.qpid.tools;
 
+import static java.nio.charset.StandardCharsets.US_ASCII;
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -242,7 +245,7 @@ public class RestStressTestClient
 
             if (saslMechanism == null)
             {
-                _authorizationHeader = "Basic " + DatatypeConverter.printBase64Binary((_username + ":" + _password).getBytes());
+                _authorizationHeader = "Basic " + DatatypeConverter.printBase64Binary((_username + ":" + _password).getBytes(UTF_8));
             }
             else
             {
@@ -321,7 +324,7 @@ public class RestStressTestClient
             try
             {
                 OutputStream os = connection.getOutputStream();
-                os.write(postParameters.getBytes());
+                os.write(postParameters.getBytes(US_ASCII));
                 os.flush();
             }
             catch (IOException e)
@@ -468,10 +471,10 @@ public class RestStressTestClient
 
                 String macAlgorithm = "HmacMD5";
                 Mac mac = Mac.getInstance(macAlgorithm);
-                mac.init(new SecretKeySpec(password.getBytes("UTF-8"), macAlgorithm));
+                mac.init(new SecretKeySpec(password.getBytes(UTF_8), macAlgorithm));
                 final byte[] messageAuthenticationCode = mac.doFinal(challengeBytes);
                 String responseAsString = username + " " + toHex(messageAuthenticationCode);
-                byte[] responseBytes = responseAsString.getBytes();
+                byte[] responseBytes = responseAsString.getBytes(UTF_8);
                 return DatatypeConverter.printBase64Binary(responseBytes);
             }
             catch (Exception e)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org