summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chia-chi Yeh <chiachi@android.com> 2011-07-11 10:29:32 -0700
committer Android Git Automerger <android-git-automerger@android.com> 2011-07-11 10:29:32 -0700
commit3b219a51a9d692807d3fb0f516df81609ca6e4fc (patch)
treeb4a54f1b777778cba4b4b4ac05e427441bd3d2bd
parent0ddd99600675aaf5f514ac6bb30d345c4b66f8c2 (diff)
parent4821d3bdf8ce35408c6a10fe45c39a5e701ea8e2 (diff)
am 4821d3bd: Merge "VpnService: stop VPN when unknown DNS servers show up." into honeycomb-LTE
* commit '4821d3bdf8ce35408c6a10fe45c39a5e701ea8e2': VpnService: stop VPN when unknown DNS servers show up.
-rw-r--r--vpn/java/com/android/server/vpn/VpnService.java18
1 files changed, 10 insertions, 8 deletions
diff --git a/vpn/java/com/android/server/vpn/VpnService.java b/vpn/java/com/android/server/vpn/VpnService.java
index 4966c060e52d..f94044c11357 100644
--- a/vpn/java/com/android/server/vpn/VpnService.java
+++ b/vpn/java/com/android/server/vpn/VpnService.java
@@ -325,7 +325,7 @@ abstract class VpnService<E extends VpnProfile> {
if (heavyCheck) {
i = 10;
- if (checkConnectivity()) checkDns();
+ checkConnectivity();
}
long t = 1000L - System.currentTimeMillis() + now;
if (t > 100L) VpnService.this.wait(t);
@@ -356,22 +356,24 @@ abstract class VpnService<E extends VpnProfile> {
}
// returns false if vpn connectivity is broken
- private boolean checkConnectivity() {
- if (mDaemons.anyDaemonStopped() || isLocalIpChanged()) {
+ private void checkConnectivity() {
+ if (mDaemons.anyDaemonStopped() || isLocalIpChanged() || isDnsChanged()) {
onError(new IOException("Connectivity lost"));
- return false;
- } else {
- return true;
}
}
- private void checkDns() {
+ private boolean isDnsChanged() {
String dns1 = SystemProperties.get(DNS1);
String vpnDns1 = SystemProperties.get(VPN_DNS1);
- if (!dns1.equals(vpnDns1) && dns1.equals(mOriginalDns1)) {
+ if (dns1.equals(vpnDns1)) {
+ return false;
+ }
+ if (dns1.equals(mOriginalDns1)) {
// dhcp expires?
setVpnDns();
+ return false;
}
+ return true;
}
private boolean isLocalIpChanged() {