Author: markt
Date: Wed Mar 20 10:40:37 2013
New Revision: 1458742
URL: http://svn.apache.org/r1458742
Log:
The JRE (since Java 6) ships with a perfectly good Base64 Encoder/Decoder. Use
it.
Removed:
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/Base64Decoder.java
Modified:
tomcat/tc7.0.x/trunk/ (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/ (props
changed)
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
Merged /tomcat/trunk:r1458726
Propchange: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/
------------------------------------------------------------------------------
Merged /tomcat/trunk/java/org/apache/tomcat/util/http/fileupload:r1458726
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java?rev=1458742&r1=1458741&r2=1458742&view=diff
==============================================================================
---
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
(original)
+++
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
Wed Mar 20 10:40:37 2013
@@ -23,6 +23,8 @@ import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
+import javax.xml.bind.DatatypeConverter;
+
/**
* Utility class to decode MIME texts.
*
@@ -240,18 +242,18 @@ public final class MimeUtility {
// the decoder writes directly to an output stream.
ByteArrayOutputStream out = new
ByteArrayOutputStream(encodedText.length());
- byte[] encodedData = encodedText.getBytes(US_ASCII_CHARSET);
-
+ byte[] decodedData;
// Base64 encoded?
if (encoding.equals(BASE64_ENCODING_MARKER)) {
- Base64Decoder.decode(encodedData, out);
+ decodedData = DatatypeConverter.parseBase64Binary(encodedText);
} else if (encoding.equals(QUOTEDPRINTABLE_ENCODING_MARKER)) { //
maybe quoted printable.
+ byte[] encodedData = encodedText.getBytes(US_ASCII_CHARSET);
QuotedPrintableDecoder.decode(encodedData, out);
+ decodedData = out.toByteArray();
} else {
throw new UnsupportedEncodingException("Unknown RFC 2047
encoding: " + encoding);
}
- // get the decoded byte data and convert into a string.
- byte[] decodedData = out.toByteArray();
+ // Convert decoded byte data into a string.
return new String(decodedData, javaCharset(charset));
} catch (IOException e) {
throw new UnsupportedEncodingException("Invalid RFC 2047
encoding");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]