diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2015-06-23 09:40:25 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2015-06-23 09:40:25 +1200 |
commit | e2069d52a81a2aef99dcd2da4fbc61e926b024a0 (patch) | |
tree | 92986b2fda60ae8a24932d892da8469932d654a8 /libmproxy/proxy/server.py | |
parent | 159543dd2b2f0f38ba4f86109d58b7a2e53d6566 (diff) | |
parent | fbb23b5c9fae6e402d84ddae3c3b8c218def366c (diff) | |
download | mitmproxy-e2069d52a81a2aef99dcd2da4fbc61e926b024a0.tar.gz mitmproxy-e2069d52a81a2aef99dcd2da4fbc61e926b024a0.tar.bz2 mitmproxy-e2069d52a81a2aef99dcd2da4fbc61e926b024a0.zip |
Merge pull request #638 from iroiro123/http-transparent
HTTP Transparent Proxy
Diffstat (limited to 'libmproxy/proxy/server.py')
-rw-r--r-- | libmproxy/proxy/server.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libmproxy/proxy/server.py b/libmproxy/proxy/server.py index e1587df1..71704413 100644 --- a/libmproxy/proxy/server.py +++ b/libmproxy/proxy/server.py @@ -117,6 +117,16 @@ class ConnectionHandler: self.server_conn.address(), "info") self.conntype = "tcp" + + elif not self.server_conn and self.config.mode == "sslspoof": + port = self.config.mode.sslport + self.set_server_address(("-", port)) + self.establish_ssl(client=True) + host = self.client_conn.connection.get_servername() + if host: + self.set_server_address((host, port)) + self.establish_server_connection() + self.establish_ssl(server=True, sni=host) # Delegate handling to the protocol handler protocol_handler( @@ -308,6 +318,9 @@ class ConnectionHandler: host = upstream_cert.cn.decode("utf8").encode("idna") if self.server_conn.sni: sans.append(self.server_conn.sni) + # for ssl spoof mode + if hasattr(self.client_conn, "sni"): + sans.append(self.client_conn.sni) ret = self.config.certstore.get_cert(host, sans) if not ret: @@ -325,6 +338,8 @@ class ConnectionHandler: if not sn: return sni = sn.decode("utf8").encode("idna") + # for ssl spoof mode + self.client_conn.sni = sni if sni != self.server_conn.sni: self.log("SNI received: %s" % sni, "debug") |