diff options
author | Aldo Cortesi <aldo@corte.si> | 2016-02-17 10:35:41 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@corte.si> | 2016-02-17 10:35:41 +1300 |
commit | 887ecf88967fe6caf8f8d5443e49b6bfcfbfcd0d (patch) | |
tree | 4c3b4f9cc555a945ddbeeb1b179070ef98b2eeff /netlib | |
parent | ef8e95956d938fd4891d79fdbfa83f8a77a482cb (diff) | |
parent | b87797ea255a0e2058e0574a5a00150f7f2df5db (diff) | |
download | mitmproxy-887ecf88967fe6caf8f8d5443e49b6bfcfbfcd0d.tar.gz mitmproxy-887ecf88967fe6caf8f8d5443e49b6bfcfbfcd0d.tar.bz2 mitmproxy-887ecf88967fe6caf8f8d5443e49b6bfcfbfcd0d.zip |
Merge pull request #950 from Kriechi/rename
Rename lib folders
Diffstat (limited to 'netlib')
-rw-r--r-- | netlib/netlib/tservers.py | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/netlib/netlib/tservers.py b/netlib/netlib/tservers.py deleted file mode 100644 index 44ef8063..00000000 --- a/netlib/netlib/tservers.py +++ /dev/null @@ -1,109 +0,0 @@ -from __future__ import (absolute_import, print_function, division) - -import threading -from six.moves import queue -from io import StringIO -import OpenSSL - -from netlib import tcp -from netlib import tutils - - -class ServerThread(threading.Thread): - - def __init__(self, server): - self.server = server - threading.Thread.__init__(self) - - def run(self): - self.server.serve_forever() - - def shutdown(self): - self.server.shutdown() - - -class ServerTestBase(object): - ssl = None - handler = None - addr = ("localhost", 0) - - @classmethod - def setup_class(cls): - cls.q = queue.Queue() - s = cls.makeserver() - cls.port = s.address.port - cls.server = ServerThread(s) - cls.server.start() - - @classmethod - def makeserver(cls): - return TServer(cls.ssl, cls.q, cls.handler, cls.addr) - - @classmethod - def teardown_class(cls): - cls.server.shutdown() - - @property - def last_handler(self): - return self.server.server.last_handler - - -class TServer(tcp.TCPServer): - - def __init__(self, ssl, q, handler_klass, addr): - """ - ssl: A dictionary of SSL parameters: - - cert, key, request_client_cert, cipher_list, - dhparams, v3_only - """ - tcp.TCPServer.__init__(self, addr) - - 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 is not None: - cert = self.ssl.get( - "cert", - tutils.test_data.path("data/server.crt")) - raw_key = self.ssl.get( - "key", - tutils.test_data.path("data/server.key")) - key = OpenSSL.crypto.load_privatekey( - OpenSSL.crypto.FILETYPE_PEM, - open(raw_key, "rb").read()) - if self.ssl.get("v3_only", False): - method = OpenSSL.SSL.SSLv3_METHOD - options = OpenSSL.SSL.OP_NO_SSLv2 | OpenSSL.SSL.OP_NO_TLSv1 - else: - method = OpenSSL.SSL.SSLv23_METHOD - options = None - h.convert_to_ssl( - cert, key, - method=method, - options=options, - handle_sni=getattr(h, "handle_sni", None), - 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), - alpn_select=self.ssl.get("alpn_select", None) - ) - h.handle() - h.finish() - - def handle_error(self, connection, client_address, fp=None): - s = StringIO() - tcp.TCPServer.handle_error(self, connection, client_address, s) - self.q.put(s.getvalue()) |