Minor clean-up. Result is always converted to String so just do it once.
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 20 May 2010 12:07:38 +0000 (12:07 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 20 May 2010 12:07:38 +0000 (12:07 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@946604 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/ant/AbstractCatalinaTask.java
java/org/apache/catalina/realm/JNDIRealm.java
java/org/apache/catalina/session/ManagerBase.java
java/org/apache/catalina/util/Base64.java

index 411811d..480bacc 100644 (file)
@@ -199,7 +199,7 @@ public abstract class AbstractCatalinaTask extends BaseRedirectorHelperTask {
 
             // Set up an authorization header with our credentials
             String input = username + ":" + password;
-            String output = new String(Base64.encode(input.getBytes()));
+            String output = Base64.encode(input.getBytes());
             hconn.setRequestProperty("Authorization",
                                      "Basic " + output);
 
index 693f576..4d50915 100644 (file)
@@ -1474,8 +1474,7 @@ public class JNDIRealm extends RealmBase {
                     password = password.substring(5);
                     md.reset();
                     md.update(credentials.getBytes());
-                    String digestedPassword =
-                        new String(Base64.encode(md.digest()));
+                    String digestedPassword = Base64.encode(md.digest());
                     validated = password.equals(digestedPassword);
                 }
             } else if (password.startsWith("{SSHA}")) {
index f3df161..0e22616 100644 (file)
@@ -400,7 +400,7 @@ public abstract class ManagerBase extends LifecycleMBeanBase
                 ExceptionUtils.handleThrowable(t);
             }
             if (apr) {
-                setEntropy(new String(Base64.encode(result)));
+                setEntropy(Base64.encode(result));
             } else {
                 setEntropy(this.toString());
             }
index f89bf77..f53a092 100644 (file)
@@ -17,6 +17,8 @@
 
 package org.apache.catalina.util;
 
+import java.io.UnsupportedEncodingException;
+
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.CharChunk;
 
@@ -112,8 +114,7 @@ public final class  Base64
      * @param binaryData Array containing binary data to encode.
      * @return Base64-encoded data.
      */
-    public static byte[] encode( byte[] binaryData )
-    {
+    public static String encode(byte[] binaryData) {
         int      lengthDataBits    = binaryData.length*EIGHTBIT;
         int      fewerThan24bits   = lengthDataBits%TWENTYFOURBITGROUP;
         int      numberTriplets    = lengthDataBits/TWENTYFOURBITGROUP;
@@ -198,7 +199,14 @@ public final class  Base64
             encodedData[encodedIndex + 3] = PAD;
         }
 
-        return encodedData;
+        String result;
+        try {
+            result = new String(encodedData, "ISO-8859-1");
+        } catch (UnsupportedEncodingException e) {
+            // Should never happen but in case it does...
+            result = new String(encodedData);
+        }
+        return result;
     }
 
     /**