From d5a3e6da485107c741d14d617a421c6a2290a0da Mon Sep 17 00:00:00 2001 From: Max Lv Date: Sat, 27 Apr 2013 19:35:56 +0800 Subject: [PATCH] fix bypass policy --- .../shadowsocks/ShadowsocksService.java | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/com/github/shadowsocks/ShadowsocksService.java b/src/com/github/shadowsocks/ShadowsocksService.java index 845b206c..85616ebd 100755 --- a/src/com/github/shadowsocks/ShadowsocksService.java +++ b/src/com/github/shadowsocks/ShadowsocksService.java @@ -284,20 +284,16 @@ public class ShadowsocksService extends Service { boolean resolved = false; - if (isDNSProxy) { - if (appHost != null) { - InetAddress addr = null; - try { - addr = InetAddress.getByName(appHost); - } catch (UnknownHostException ignored) { - } - if (addr != null) { - appHost = addr.getHostAddress(); - resolved = true; - } + if (appHost != null) { + InetAddress addr = null; + try { + addr = InetAddress.getByName(appHost); + } catch (UnknownHostException ignored) { + } + if (addr != null) { + appHost = addr.getHostAddress(); + resolved = true; } - } else { - resolved = true; } Log.d(TAG, "IPTABLES: " + Utils.getIptables()); @@ -544,7 +540,7 @@ public class ShadowsocksService extends Service { String cmd_bypass = Utils.getIptables() + CMD_IPTABLES_RETURN; - init_sb.append(cmd_bypass.replace("-d 0.0.0.0", "--dport " + remotePort)); + init_sb.append(cmd_bypass.replace("-d 0.0.0.0", "-d " + appHost)); init_sb.append(cmd_bypass.replace("0.0.0.0", "127.0.0.1")); if (!isDNSProxy) { init_sb.append(cmd_bypass.replace("-d 0.0.0.0", "--dport " + 53));