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