diff options
author | Parménides GV <parmegv@sdf.org> | 2014-09-26 13:04:26 +0200 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2014-09-26 13:04:26 +0200 |
commit | bbf877a099112acbf34589b01503c3f5ee135dc0 (patch) | |
tree | 101d4fb8e347bd040ad963248611fd1684a12cd9 /app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java | |
parent | 0a3900e145866c2f5b0adbd8c9c3fac2fb56efcb (diff) | |
parent | 22b7ee4614a2f47d55496de8a9b55040c0f4ba85 (diff) |
Merge branch 'develop'0.7.0
Diffstat (limited to 'app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java')
-rw-r--r-- | app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java b/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java index 81a17ef9..8c6cb1f5 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java +++ b/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java @@ -76,8 +76,8 @@ public class NetworkSpace { netAddress = BigInteger.ZERO; for (byte b : address.getAddress()) { - s -= 16; - netAddress = netAddress.add(BigInteger.valueOf(b).shiftLeft(s)); + s -= 8; + netAddress = netAddress.add(BigInteger.valueOf((b & 0xFF)).shiftLeft(s)); } } @@ -152,12 +152,12 @@ public class NetworkSpace { String getIPv6Address() { if (BuildConfig.DEBUG) Assert.assertTrue (!isV4); BigInteger r = netAddress; - if (r.longValue() == 0) + if (r.compareTo(BigInteger.ZERO)==0 && networkMask==0) return "::"; Vector<String> parts = new Vector<String>(); while (r.compareTo(BigInteger.ZERO) == 1) { - parts.add(0, String.format(Locale.US, "%x", r.mod(BigInteger.valueOf(256)).longValue())); + parts.add(0, String.format(Locale.US, "%x", r.mod(BigInteger.valueOf(0x10000)).longValue())); r = r.shiftRight(16); } |