From 5328f5851dd0798622523eb039c29d3d882feb4d Mon Sep 17 00:00:00 2001 From: Max Lv Date: Mon, 25 Apr 2016 20:24:55 +0800 Subject: [PATCH] Fix #658 --- src/main/res/values-zh-rCN/strings.xml | 1 + src/main/res/values-zh-rTW/strings.xml | 1 + src/main/res/values/strings.xml | 1 + .../com/github/shadowsocks/ShadowsocksNatService.scala | 7 ++++--- .../com/github/shadowsocks/ShadowsocksVpnService.scala | 5 ++++- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml index 2841fe5d..e26c12ec 100644 --- a/src/main/res/values-zh-rCN/strings.xml +++ b/src/main/res/values-zh-rCN/strings.xml @@ -32,6 +32,7 @@ 随系统启动后台服务 后台服务已开始运行。 无法连接远程服务器 + 服务器名无效 警告:在 Android 5.0 及更高版本中不建议使用 NAT 模式 NAT 模式需要 ROOT 权限 切换到 VPN 模式 diff --git a/src/main/res/values-zh-rTW/strings.xml b/src/main/res/values-zh-rTW/strings.xml index 233cb03a..1e834384 100644 --- a/src/main/res/values-zh-rTW/strings.xml +++ b/src/main/res/values-zh-rTW/strings.xml @@ -33,6 +33,7 @@ 在裝置啟動時啟用 Shadowsocks Shadowsocks 已啟動。 連線至遠端伺服器失敗 + 伺服器名无效 警告:自 Android 5.0 開始, NAT 模式已過時 NAT 模式需要 ROOT 權限 切換至 VPN 模式 diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index c29c3c87..bac91e4c 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -64,6 +64,7 @@ Shadowsocks started. + Invalid server name Failed to connect the remote server WARNING: NAT mode has been deprecated since Android 5.0 NAT mode requires ROOT permission diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala index 46fc72f9..83cbe023 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala @@ -418,11 +418,12 @@ class ShadowsocksNatService extends BaseService { resolved = true } - if (resolved && handleConnection) { - + if (!resolved) { + changeState(State.STOPPED, getString(R.string.invalid_server)) + stopRunner(true) + } else if (handleConnection) { // Set DNS flushDns() - changeState(State.CONNECTED) notification = new ShadowsocksNotification(this, config.profileName, true) } else { diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala index 96040774..91d18537 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala @@ -216,7 +216,10 @@ class ShadowsocksVpnService extends VpnService with BaseService { resolved = true } - if (resolved && handleConnection) { + if (!resolved) { + changeState(State.STOPPED, getString(R.string.invalid_server)) + stopRunner(true) + } else if (handleConnection) { changeState(State.CONNECTED) notification = new ShadowsocksNotification(this, config.profileName) } else {