aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2018-04-26 11:49:34 +1200
committerGitHub <noreply@github.com>2018-04-26 11:49:34 +1200
commit13f3cbed4feb3b1a248ee6120446ada0330e9e76 (patch)
treeaae65ca33188993785c106eee7177373602bfe3e
parentb18e0fa2bcac8b55b1d8325f4a2b1f916e3c0d9b (diff)
parentc7ce8a8343ee19f73df06908014708a0fce6d7fc (diff)
downloadmitmproxy-13f3cbed4feb3b1a248ee6120446ada0330e9e76.tar.gz
mitmproxy-13f3cbed4feb3b1a248ee6120446ada0330e9e76.tar.bz2
mitmproxy-13f3cbed4feb3b1a248ee6120446ada0330e9e76.zip
Merge pull request #3076 from clyfish/keepalive
add SO_KEEPALIVE
-rw-r--r--mitmproxy/net/tcp.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/mitmproxy/net/tcp.py b/mitmproxy/net/tcp.py
index 5e53e398..22016291 100644
--- a/mitmproxy/net/tcp.py
+++ b/mitmproxy/net/tcp.py
@@ -563,6 +563,7 @@ class TCPServer:
# Only works if self.address == ""
self.socket = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
self.socket.setsockopt(IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
self.socket.bind(self.address)
except socket.error:
@@ -574,6 +575,7 @@ class TCPServer:
# Binding to an IPv6 socket failed, lets fall back to IPv4.
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
self.socket.bind(self.address)
self.address = self.socket.getsockname()