diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2015-06-06 11:54:35 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2015-06-06 11:54:35 +1200 |
commit | fcaabeb4556d299e8489d26f9eedc6db8fe1b86f (patch) | |
tree | 2bad0c7cdf1efd62d2c0f5a773085eae686acbbf /netlib/test.py | |
parent | 0269d0fb8b8726f8a84ebe916a553ef435a3a50d (diff) | |
parent | e39d8aed6d77b6cf5d57c795c69e735a7c1430fa (diff) | |
download | mitmproxy-fcaabeb4556d299e8489d26f9eedc6db8fe1b86f.tar.gz mitmproxy-fcaabeb4556d299e8489d26f9eedc6db8fe1b86f.tar.bz2 mitmproxy-fcaabeb4556d299e8489d26f9eedc6db8fe1b86f.zip |
Merge pull request #65 from Kriechi/h2-client
HTTP/2 protocol definition
Diffstat (limited to 'netlib/test.py')
-rw-r--r-- | netlib/test.py | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/netlib/test.py b/netlib/test.py index 14f50157..1e1b5e9d 100644 --- a/netlib/test.py +++ b/netlib/test.py @@ -4,6 +4,7 @@ import Queue import cStringIO import OpenSSL from . import tcp, certutils +from test import tutils class ServerThread(threading.Thread): @@ -55,22 +56,33 @@ class TServer(tcp.TCPServer): dhparams, v3_only """ tcp.TCPServer.__init__(self, addr) - self.ssl, self.q = ssl, q + + if ssl is True: + self.ssl = dict() + elif isinstance(ssl, dict): + self.ssl = ssl + else: + self.ssl = None + + self.q = q self.handler_klass = handler_klass self.last_handler = None def handle_client_connection(self, request, client_address): h = self.handler_klass(request, client_address, self) self.last_handler = h - if self.ssl: - cert = certutils.SSLCert.from_pem( - file(self.ssl["cert"], "rb").read() - ) - raw = file(self.ssl["key"], "rb").read() + if self.ssl is not None: + raw_cert = self.ssl.get( + "cert", + tutils.test_data.path("data/server.crt")) + cert = certutils.SSLCert.from_pem(open(raw_cert, "rb").read()) + raw_key = self.ssl.get( + "key", + tutils.test_data.path("data/server.key")) key = OpenSSL.crypto.load_privatekey( OpenSSL.crypto.FILETYPE_PEM, - raw) - if self.ssl["v3_only"]: + open(raw_key, "rb").read()) + if self.ssl.get("v3_only", False): method = tcp.SSLv3_METHOD options = OpenSSL.SSL.OP_NO_SSLv2 | OpenSSL.SSL.OP_NO_TLSv1 else: @@ -81,7 +93,7 @@ class TServer(tcp.TCPServer): method=method, options=options, handle_sni=getattr(h, "handle_sni", None), - request_client_cert=self.ssl["request_client_cert"], + request_client_cert=self.ssl.get("request_client_cert", None), cipher_list=self.ssl.get("cipher_list", None), dhparams=self.ssl.get("dhparams", None), chain_file=self.ssl.get("chain_file", None), |