summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2015-02-14 11:48:37 +0100
committerParménides GV <parmegv@sdf.org>2015-02-14 11:48:37 +0100
commitc198dbd9dd583d980ae7e70118f67d09bed8de55 (patch)
treec2863f28134af00f26299c97bb6a81ed0aa4ed96 /app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
parent9d346be65e6808710b9e814d2899e5888984b4ab (diff)
parent4028c100a59c45913cb569c4967faaddc090b1f9 (diff)
Merge branch 'develop'0.9.2
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.java13
1 files changed, 11 insertions, 2 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 26354689..c86f9e44 100644
--- a/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
+++ b/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
@@ -172,8 +172,16 @@ public class NetworkSpace {
}
public boolean containsNet(ipAddress network) {
- return getFirstAddress().compareTo(network.getFirstAddress()) != 1 &&
- getLastAddress().compareTo(network.getLastAddress()) != -1;
+ // this.first >= net.first && this.last <= net.last
+ BigInteger ourFirst = getFirstAddress();
+ BigInteger ourLast = getLastAddress();
+ BigInteger netFirst = network.getFirstAddress();
+ BigInteger netLast = network.getLastAddress();
+
+ boolean a = ourFirst.compareTo(netFirst) != 1;
+ boolean b = ourLast.compareTo(netLast) != -1;
+ return a && b;
+
}
}
@@ -320,6 +328,7 @@ public class NetworkSpace {
boolean skipIp=false;
// If there is any smaller net that is excluded we may not add the positive route back
+
for (ipAddress calculatedIp: ipsSorted) {
if(!calculatedIp.included && origIp.containsNet(calculatedIp)) {
skipIp=true;