[java-base64] patched for compatibility with ElasticSearch
gil
gil at fedoraproject.org
Wed Feb 18 22:53:40 UTC 2015
commit 91b0f788584f10f8502a44b6c9d945b1055e2e35
Author: gil <puntogil at libero.it>
Date: Wed Feb 18 23:53:20 2015 +0100
patched for compatibility with ElasticSearch
java-base64-2.3.8-elasticsearch.patch | 148 +++++++++++++++++++++++++++++++++
1 files changed, 148 insertions(+), 0 deletions(-)
---
diff --git a/java-base64-2.3.8-elasticsearch.patch b/java-base64-2.3.8-elasticsearch.patch
new file mode 100644
index 0000000..fccbdb9
--- /dev/null
+++ b/java-base64-2.3.8-elasticsearch.patch
@@ -0,0 +1,148 @@
+--- src/main/java/net/iharder/Base64.java 2010-03-29 20:54:45.000000000 +0200
++++ src/main/java/net/iharder/Base64.java.elasticsearch 2015-02-18 23:43:01.174030315 +0100
+@@ -1,5 +1,8 @@
+ package net.iharder;
+
++import java.nio.charset.Charset;
++import java.util.Locale;
++
+ /**
+ * <p>Encodes and decodes to and from Base64 notation.</p>
+ * <p>Homepage: <a href="http://iharder.net/base64">http://iharder.net/base64</a>.</p>
+@@ -208,7 +211,7 @@
+
+
+ /** Preferred encoding. */
+- private final static String PREFERRED_ENCODING = "US-ASCII";
++ public final static Charset PREFERRED_ENCODING = Charset.forName("US-ASCII");
+
+
+ private final static byte WHITE_SPACE_ENC = -5; // Indicates white space in encoding
+@@ -690,13 +693,7 @@
+ } // end finally
+
+ // Return value according to relevant encoding.
+- try {
+- return new String( baos.toByteArray(), PREFERRED_ENCODING );
+- } // end try
+- catch (java.io.UnsupportedEncodingException uue){
+- // Fall back to some Java default
+- return new String( baos.toByteArray() );
+- } // end catch
++ return new String(baos.toByteArray(), PREFERRED_ENCODING);
+
+ } // end encode
+
+@@ -831,12 +828,7 @@
+ byte[] encoded = encodeBytesToBytes( source, off, len, options );
+
+ // Return value according to relevant encoding.
+- try {
+- return new String( encoded, PREFERRED_ENCODING );
+- } // end try
+- catch (java.io.UnsupportedEncodingException uue) {
+- return new String( encoded );
+- } // end catch
++ return new String(encoded, PREFERRED_ENCODING);
+
+ } // end encodeBytes
+
+@@ -899,7 +891,7 @@
+
+ if( off + len > source.length ){
+ throw new IllegalArgumentException(
+- String.format( "Cannot have offset of %d and length of %d with array of length %d", off,len,source.length));
++ String.format(Locale.ROOT, "Cannot have offset of %d and length of %d with array of length %d", off, len, source.length));
+ } // end if: off < 0
+
+
+@@ -1039,12 +1031,12 @@
+ throw new NullPointerException( "Destination array was null." );
+ } // end if
+ if( srcOffset < 0 || srcOffset + 3 >= source.length ){
+- throw new IllegalArgumentException( String.format(
+- "Source array with length %d cannot have offset of %d and still process four bytes.", source.length, srcOffset ) );
++ throw new IllegalArgumentException(String.format(Locale.ROOT,
++ "Source array with length %d cannot have offset of %d and still process four bytes.", source.length, srcOffset));
+ } // end if
+ if( destOffset < 0 || destOffset +2 >= destination.length ){
+- throw new IllegalArgumentException( String.format(
+- "Destination array with length %d cannot have offset of %d and still store three bytes.", destination.length, destOffset ) );
++ throw new IllegalArgumentException(String.format(Locale.ROOT,
++ "Destination array with length %d cannot have offset of %d and still store three bytes.", destination.length, destOffset));
+ } // end if
+
+
+@@ -1153,8 +1145,8 @@
+ throw new NullPointerException( "Cannot decode null source array." );
+ } // end if
+ if( off < 0 || off + len > source.length ){
+- throw new IllegalArgumentException( String.format(
+- "Source array with length %d cannot have offset of %d and process %d bytes.", source.length, off, len ) );
++ throw new IllegalArgumentException(String.format(Locale.ROOT,
++ "Source array with length %d cannot have offset of %d and process %d bytes.", source.length, off, len));
+ } // end if
+
+ if( len == 0 ){
+@@ -1191,15 +1183,26 @@
+
+ // If that was the equals sign, break out of 'for' loop
+ if( source[i] == EQUALS_SIGN ) {
++ // check if the equals sign is somewhere in between
++ if (i + 1 < len + off) {
++ throw new java.io.IOException(String.format(Locale.ROOT,
++ "Found equals sign at position %d of the base64 string, not at the end", i));
++ }
+ break;
+ } // end if: equals sign
+ } // end if: quartet built
++ else {
++ if (source[i] == EQUALS_SIGN && len + off > i && source[i + 1] != EQUALS_SIGN) {
++ throw new java.io.IOException(String.format(Locale.ROOT,
++ "Found equals sign at position %d of the base64 string, not at the end", i));
++ } // enf if: equals sign and next character not as well
++ } // end else:
+ } // end if: equals sign or better
+ } // end if: white space, equals sign or better
+ else {
+ // There's a bad input character in the Base64 stream.
+- throw new java.io.IOException( String.format(
+- "Bad Base64 input character decimal %d in array position %d", ((int)source[i])&0xFF, i ) );
++ throw new java.io.IOException(String.format(Locale.ROOT,
++ "Bad Base64 input character decimal %d in array position %d", ((int) source[i]) & 0xFF, i));
+ } // end else:
+ } // each input character
+
+@@ -1243,13 +1246,7 @@
+ throw new NullPointerException( "Input string was null." );
+ } // end if
+
+- byte[] bytes;
+- try {
+- bytes = s.getBytes( PREFERRED_ENCODING );
+- } // end try
+- catch( java.io.UnsupportedEncodingException uee ) {
+- bytes = s.getBytes();
+- } // end catch
++ byte[] bytes = s.getBytes(PREFERRED_ENCODING);
+ //</change>
+
+ // Decode
+@@ -1282,7 +1279,7 @@
+
+ } // end try
+ catch( java.io.IOException e ) {
+- e.printStackTrace();
++ // e.printStackTrace();
+ // Just return originally-decoded bytes
+ } // end catch
+ finally {
+@@ -1359,7 +1356,7 @@
+ @Override
+ public Class<?> resolveClass(java.io.ObjectStreamClass streamClass)
+ throws java.io.IOException, ClassNotFoundException {
+- Class c = Class.forName(streamClass.getName(), false, loader);
++ Class<?> c = Class.forName(streamClass.getName(), false, loader);
+ if( c == null ){
+ return super.resolveClass(streamClass);
+ } else {
More information about the scm-commits
mailing list