aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy
diff options
context:
space:
mode:
authoriroiro123 <user1@cygwin>2015-06-23 01:49:22 +0900
committeriroiro123 <user1@cygwin>2015-06-23 01:49:22 +0900
commitfbb23b5c9fae6e402d84ddae3c3b8c218def366c (patch)
tree1489789cc85f8a072f9b9d82c7d99ac331c6a2a5 /libmproxy
parent5c7fa7a594b2179fe5a223c2d8a449f0ca4c629b (diff)
downloadmitmproxy-fbb23b5c9fae6e402d84ddae3c3b8c218def366c.tar.gz
mitmproxy-fbb23b5c9fae6e402d84ddae3c3b8c218def366c.tar.bz2
mitmproxy-fbb23b5c9fae6e402d84ddae3c3b8c218def366c.zip
changed error handling (ssl spoof mode)
Diffstat (limited to 'libmproxy')
-rw-r--r--libmproxy/protocol/http.py7
-rw-r--r--libmproxy/proxy/server.py12
2 files changed, 10 insertions, 9 deletions
diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py
index 11436b30..9bce7206 100644
--- a/libmproxy/protocol/http.py
+++ b/libmproxy/protocol/http.py
@@ -1347,7 +1347,12 @@ class HTTPHandler(ProtocolHandler):
if self.c.config.mode == "sslspoof":
# SNI is processed in server.py
- return None
+ if not (flow.server_conn and flow.server_conn.ssl_established):
+ print ":::::::::::::::"
+ raise http.HttpError(
+ 400,
+ "Invalid request: No host information"
+ )
return None
diff --git a/libmproxy/proxy/server.py b/libmproxy/proxy/server.py
index df890f7c..71704413 100644
--- a/libmproxy/proxy/server.py
+++ b/libmproxy/proxy/server.py
@@ -123,14 +123,10 @@ class ConnectionHandler:
self.set_server_address(("-", port))
self.establish_ssl(client=True)
host = self.client_conn.connection.get_servername()
- if host is None:
- raise ProxyError(
- 400,
- "Invalid request: No host information"
- )
- self.set_server_address((host, port))
- self.establish_server_connection()
- self.establish_ssl(server=True, sni=host)
+ 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(