diff options
Diffstat (limited to 'libmproxy/protocol')
-rw-r--r-- | libmproxy/protocol/http.py | 2 | ||||
-rw-r--r-- | libmproxy/protocol/primitives.py | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py index 8a321078..8f9d5f5d 100644 --- a/libmproxy/protocol/http.py +++ b/libmproxy/protocol/http.py @@ -1035,12 +1035,14 @@ class HTTPHandler(ProtocolHandler, TemporaryServerChangeMixin): if not self.c.config.get_upstream_server: self.c.set_server_address((request.host, request.port), proxy.AddressPriority.FROM_PROTOCOL) + self.c.establish_server_connection() flow.server_conn = self.c.server_conn # Update server_conn attribute on the flow self.c.client_conn.send( 'HTTP/1.1 200 Connection established\r\n' + ('Proxy-agent: %s\r\n' % self.c.server_version) + '\r\n' ) + self.ssl_upgrade() self.skip_authentication = True return False diff --git a/libmproxy/protocol/primitives.py b/libmproxy/protocol/primitives.py index 8c0ea5db..5743bb6a 100644 --- a/libmproxy/protocol/primitives.py +++ b/libmproxy/protocol/primitives.py @@ -181,6 +181,7 @@ class TemporaryServerChangeMixin(object): self.c.del_server_connection() self.c.set_server_address(address, priority) + self.c.establish_server_connection(ask=False) if ssl: self.c.establish_ssl(server=True) |