diff options
Diffstat (limited to 'packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java')
-rw-r--r-- | packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java b/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java index 4bf1db8..596435a 100644 --- a/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java +++ b/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java @@ -25,6 +25,7 @@ import com.google.android.collect.Lists; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.ProxySelector; @@ -198,9 +199,15 @@ public class ProxyServer extends Thread { while (mIsRunning) { try { - ProxyConnection parser = new ProxyConnection(serverSocket.accept()); + Socket socket = serverSocket.accept(); + // Only receive local connections. + if (socket.getInetAddress().isLoopbackAddress()) { + ProxyConnection parser = new ProxyConnection(socket); - threadExecutor.execute(parser); + threadExecutor.execute(parser); + } else { + socket.close(); + } } catch (IOException e) { e.printStackTrace(); } |