diff options
author | Maximilian Hils <git@maximilianhils.com> | 2014-11-14 16:13:45 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2014-11-14 16:13:45 +0100 |
commit | be449b7129a55af81e249f992046d88a02efbc46 (patch) | |
tree | e5c31347de305034427b8126520459252e0fa618 /libmproxy/proxy/server.py | |
parent | 0c52b4e3b9137e22f6c8c649d6b584d44d7f4b75 (diff) | |
download | mitmproxy-be449b7129a55af81e249f992046d88a02efbc46.tar.gz mitmproxy-be449b7129a55af81e249f992046d88a02efbc46.tar.bz2 mitmproxy-be449b7129a55af81e249f992046d88a02efbc46.zip |
fix #409
Diffstat (limited to 'libmproxy/proxy/server.py')
-rw-r--r-- | libmproxy/proxy/server.py | 6 |
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) |