From e9b7f4d7bf624ccb0ed503f20b85288a575d020d Mon Sep 17 00:00:00 2001 From: jahoti Date: Tue, 17 Aug 2021 00:00:00 +0000 Subject: Enable the hijacking proxy in the test suite to serve responses --- test/proxy_core.py | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) (limited to 'test/proxy_core.py') diff --git a/test/proxy_core.py b/test/proxy_core.py index 6b214cf..5a23278 100644 --- a/test/proxy_core.py +++ b/test/proxy_core.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 -# # Copyright (c) 2015, inaz2 # Copyright (C) 2021 jahoti # Licensing information is collated in the `copyright` file @@ -38,7 +36,7 @@ class ProxyRequestHandler(BaseHTTPRequestHandler): p1 = Popen((gen_cert_req % hostname).split(' '), stdout=PIPE).stdout Popen((sign_cert_req % (time.time() * 1000, certpath)).split(' '), stdin=p1, stderr=PIPE).communicate() - self.wfile.write('HTTP/1.1 200 Connection Established\r\n') + self.send_response(200) self.end_headers() self.connection = ssl.wrap_socket(self.connection, keyfile='cert.key', certfile=certpath, server_side=True) @@ -48,18 +46,6 @@ class ProxyRequestHandler(BaseHTTPRequestHandler): self.close_connection = int(self.headers.get('Proxy-Connection', '').lower() == 'close') def proxy(self): - if self.path == 'http://hachette.test/': - with open('ca.crt', 'rb') as f: - data = f.read() - - self.wfile.write('HTTP/1.1 200 OK\r\n') - self.send_header('Content-Type', 'application/x-x509-ca-cert') - self.send_header('Content-Length', len(data)) - self.send_header('Connection', 'close') - self.end_headers() - self.wfile.write(data) - return - content_length = int(self.headers.get('Content-Length', 0)) req_body = self.rfile.read(content_length) if content_length else None @@ -79,18 +65,10 @@ class ProxyRequestHandler(BaseHTTPRequestHandler): class ThreadingHTTPServer(ThreadingMixIn, HTTPServer): """The actual proxy server""" - address_family, daemon_threads, handler = socket.AF_INET6, True, ProxyRequestHandler + address_family, daemon_threads = socket.AF_INET6, True def handle_error(self, request, client_address): # suppress socket/ssl related errors cls, e = sys.exc_info()[:2] if not (cls is socket.error or cls is ssl.SSLError): return HTTPServer.handle_error(self, request, client_address) - - -def start(server_class, port=1337): - """Start up the proxy/server""" - - print('Serving HTTP Proxy') - httpd = server_class(('::1', port), ProxyRequestHandler) - httpd.serve_forever() -- cgit v1.2.3