summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2014-09-18 19:48:20 +0200
committerParménides GV <parmegv@sdf.org>2014-09-18 19:48:52 +0200
commit7780f13af9ad5a58d3f87ff4cc76ded6e79e59f5 (patch)
treeb336db06a4f8e8beccaa91b6c0e17026ca831cdc /app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
parent7e7c1454f9a6d45b0f1ccf4e0242f814089d25a8 (diff)
Updated ics-openvpn, restart after 1' being killed
Fixed notifications too (forgot to do it in another branch, it's #5964).
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.java8
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);
}