diff --git a/router/java/src/net/i2p/router/util/MaskedIPSet.java b/router/java/src/net/i2p/router/util/MaskedIPSet.java index c7ff44d5d..cfaa2fb67 100644 --- a/router/java/src/net/i2p/router/util/MaskedIPSet.java +++ b/router/java/src/net/i2p/router/util/MaskedIPSet.java @@ -116,7 +116,6 @@ public class MaskedIPSet extends HashSet { * @param mask is 1-4 (number of bytes to match) */ private static String maskedIP(byte[] ip, int mask) { - final StringBuilder buf = new StringBuilder(1 + (mask*2)); final char delim; if (ip.length == 16) { mask *= 2; @@ -124,8 +123,14 @@ public class MaskedIPSet extends HashSet { } else { delim = '.'; } + final StringBuilder buf = new StringBuilder(1 + (mask*2)); buf.append(delim); - buf.append(Long.toHexString(DataHelper.fromLong(ip, 0, mask))); + for (int i = 0; i < mask; i++) { + // fake hex "0123456789:;<=>?" + byte b = ip[i]; + buf.append('0' + (char) ((b >> 4) & 0x0f)); + buf.append('0' + (char) (b & 0x0f)); + } return buf.toString(); }