diff -up azureus-5.5.0.0/org/gudy/azureus2/core3/util/AddressUtils.java.5.4.0.0_fix_compile azureus-5.5.0.0/org/gudy/azureus2/core3/util/AddressUtils.java
--- azureus-5.5.0.0/org/gudy/azureus2/core3/util/AddressUtils.java.5.4.0.0_fix_compile 2014-11-19 18:30:46.000000000 +0100
+++ azureus-5.5.0.0/org/gudy/azureus2/core3/util/AddressUtils.java 2014-11-24 15:03:06.223293397 +0100
@@ -494,11 +494,11 @@ AddressUtils
try{
// unfortunately we have an incompatible base64 standard in i2p, they replaced / with ~ and + with -
- char[] encoded = to_decode.toCharArray();
+ byte[] encoded = to_decode.getBytes();
for ( int i=0;i<encoded.length;i++){
- char c = encoded[i];
+ byte c = encoded[i];
if ( c == '~' ){
encoded[i] = '/';
diff -up azureus-5.5.0.0/org/gudy/azureus2/pluginsimpl/local/utils/xml/simpleparser/SimpleXMLParserDocumentImpl.java.5.4.0.0_fix_compile azureus-5.5.0.0/org/gudy/azureus2/pluginsimpl/local/utils/xml/simpleparser/SimpleXMLParserDocumentImpl.java
--- azureus-5.5.0.0/org/gudy/azureus2/pluginsimpl/local/utils/xml/simpleparser/SimpleXMLParserDocumentImpl.java.5.4.0.0_fix_compile 2014-11-19 18:30:26.000000000 +0100
+++ azureus-5.5.0.0/org/gudy/azureus2/pluginsimpl/local/utils/xml/simpleparser/SimpleXMLParserDocumentImpl.java 2014-11-24 15:09:55.075086231 +0100
@@ -25,7 +25,7 @@ package org.gudy.azureus2.pluginsimpl.lo
import javax.xml.parsers.*;
import org.xml.sax.*;
-import org.apache.commons.lang.Entities;
+import org.apache.commons.lang.StringEscapeUtils;
import org.gudy.azureus2.core3.util.AENetworkClassifier;
import org.gudy.azureus2.core3.util.Constants;
import org.gudy.azureus2.core3.util.Debug;
@@ -656,17 +656,8 @@ SimpleXMLParserDocumentImpl
replacement = new String( buffer, 0, buffer_pos );
}else{
-
- int num = Entities.HTML40.entityValue( ref );
-
- if ( num != -1 ){
-
- replacement = "&#" + num + ";";
-
- }else{
-
- replacement = new String( buffer, 0, buffer_pos );
- }
+
+ replacement = StringEscapeUtils.escapeHtml(ref);
}
char[] chars = replacement.toCharArray();