diff options
author | Maximilian Hils <git@maximilianhils.com> | 2014-08-08 02:45:24 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2014-08-08 02:45:24 +0200 |
commit | a9e6121a08c745961992c9fd2b4e4593063192f5 (patch) | |
tree | 87ab6b3348f0030249555e16b2ac190b674f17ee /libmproxy/proxy/server.py | |
parent | c01b294d8d7c070547b9eb981b6001581b33c7b4 (diff) | |
download | mitmproxy-a9e6121a08c745961992c9fd2b4e4593063192f5.tar.gz mitmproxy-a9e6121a08c745961992c9fd2b4e4593063192f5.tar.bz2 mitmproxy-a9e6121a08c745961992c9fd2b4e4593063192f5.zip |
properly express state information on server connections, refs #315
Diffstat (limited to 'libmproxy/proxy/server.py')
-rw-r--r-- | libmproxy/proxy/server.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libmproxy/proxy/server.py b/libmproxy/proxy/server.py index c817b3b5..c3f1e048 100644 --- a/libmproxy/proxy/server.py +++ b/libmproxy/proxy/server.py @@ -7,7 +7,7 @@ from netlib import tcp from .primitives import ProxyServerError, Log, ProxyError, ConnectionTypeChange, \ AddressPriority from .connection import ClientConnection, ServerConnection -from ..protocol.handle import handle_messages, handle_error +from ..protocol.handle import handle_messages, handle_error, handle_server_reconnect from .. import version @@ -207,16 +207,22 @@ class ConnectionHandler: ca_file=self.config.ca_file ) - def server_reconnect(self, no_ssl=False): + def server_reconnect(self): address = self.server_conn.address had_ssl = self.server_conn.ssl_established priority = self.server_conn.priority + state = self.server_conn.state sni = self.sni self.log("(server reconnect follows)", "debug") self.del_server_connection() self.set_server_address(address, priority) self.establish_server_connection() - if had_ssl and not no_ssl: + + for s in state: + handle_server_reconnect(s[0], self, s[1]) + self.server_conn.state = state + + if had_ssl: self.sni = sni self.establish_ssl(server=True) |