aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/proxy
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2014-11-14 16:13:45 +0100
committerMaximilian Hils <git@maximilianhils.com>2014-11-14 16:13:45 +0100
commitbe449b7129a55af81e249f992046d88a02efbc46 (patch)
treee5c31347de305034427b8126520459252e0fa618 /libmproxy/proxy
parent0c52b4e3b9137e22f6c8c649d6b584d44d7f4b75 (diff)
downloadmitmproxy-be449b7129a55af81e249f992046d88a02efbc46.tar.gz
mitmproxy-be449b7129a55af81e249f992046d88a02efbc46.tar.bz2
mitmproxy-be449b7129a55af81e249f992046d88a02efbc46.zip
fix #409
Diffstat (limited to 'libmproxy/proxy')
-rw-r--r--libmproxy/proxy/server.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/libmproxy/proxy/server.py b/libmproxy/proxy/server.py
index 613662c3..55e2b30e 100644
--- a/libmproxy/proxy/server.py
+++ b/libmproxy/proxy/server.py
@@ -99,7 +99,6 @@ class ConnectionHandler:
# Delegate handling to the protocol handler
protocol_handler(self.conntype)(self, **conn_kwargs).handle_messages()
- self.del_server_connection()
self.log("clientdisconnect", "info")
self.channel.tell("clientdisconnect", self)
@@ -112,6 +111,10 @@ class ConnectionHandler:
print >> sys.stderr, traceback.format_exc()
print >> sys.stderr, "mitmproxy has crashed!"
print >> sys.stderr, "Please lodge a bug report at: https://github.com/mitmproxy/mitmproxy"
+ finally:
+ # Make sure that we close the server connection in any case.
+ # The client connection is closed by the ProxyServer and does not have be handled here.
+ self.del_server_connection()
def del_server_connection(self):
"""
@@ -119,6 +122,7 @@ class ConnectionHandler:
"""
if self.server_conn and self.server_conn.connection:
self.server_conn.finish()
+ self.server_conn.close()
self.log("serverdisconnect", "debug", ["%s:%s" % (self.server_conn.address.host,
self.server_conn.address.port)])
self.channel.tell("serverdisconnect", self)