summaryrefslogtreecommitdiffstats
path: root/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java')
-rw-r--r--packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java11
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();
}