mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-27 02:24:18 +00:00
Adapt for new request_client_cert option in netlib.
This commit is contained in:
parent
3217fcad14
commit
5eeb52183a
@ -9,10 +9,11 @@ class PathodError(Exception): pass
|
|||||||
|
|
||||||
|
|
||||||
class SSLOptions:
|
class SSLOptions:
|
||||||
def __init__(self, certfile=None, keyfile=None, not_after_connect=None):
|
def __init__(self, certfile=None, keyfile=None, not_after_connect=None, request_client_cert=False):
|
||||||
self.keyfile = keyfile or utils.data.path("resources/server.key")
|
self.keyfile = keyfile or utils.data.path("resources/server.key")
|
||||||
self.certfile = certfile or utils.data.path("resources/server.crt")
|
self.certfile = certfile or utils.data.path("resources/server.crt")
|
||||||
self.not_after_connect = not_after_connect
|
self.not_after_connect = not_after_connect
|
||||||
|
self.request_client_cert = request_client_cert
|
||||||
|
|
||||||
|
|
||||||
class PathodHandler(tcp.BaseHandler):
|
class PathodHandler(tcp.BaseHandler):
|
||||||
@ -76,7 +77,8 @@ class PathodHandler(tcp.BaseHandler):
|
|||||||
self.convert_to_ssl(
|
self.convert_to_ssl(
|
||||||
self.server.ssloptions.certfile,
|
self.server.ssloptions.certfile,
|
||||||
self.server.ssloptions.keyfile,
|
self.server.ssloptions.keyfile,
|
||||||
handle_sni = self.handle_sni
|
handle_sni = self.handle_sni,
|
||||||
|
request_client_cert = self.server.ssloptions.request_client_cert
|
||||||
)
|
)
|
||||||
except tcp.NetLibError, v:
|
except tcp.NetLibError, v:
|
||||||
s = str(v)
|
s = str(v)
|
||||||
@ -181,7 +183,8 @@ class PathodHandler(tcp.BaseHandler):
|
|||||||
self.convert_to_ssl(
|
self.convert_to_ssl(
|
||||||
self.server.ssloptions.certfile,
|
self.server.ssloptions.certfile,
|
||||||
self.server.ssloptions.keyfile,
|
self.server.ssloptions.keyfile,
|
||||||
handle_sni = self.handle_sni
|
handle_sni = self.handle_sni,
|
||||||
|
request_client_cert = self.server.ssloptions.request_client_cert
|
||||||
)
|
)
|
||||||
except tcp.NetLibError, v:
|
except tcp.NetLibError, v:
|
||||||
s = str(v)
|
s = str(v)
|
||||||
@ -222,7 +225,7 @@ class Pathod(tcp.TCPServer):
|
|||||||
"""
|
"""
|
||||||
addr: (address, port) tuple. If port is 0, a free port will be
|
addr: (address, port) tuple. If port is 0, a free port will be
|
||||||
automatically chosen.
|
automatically chosen.
|
||||||
ssloptions: a dictionary containing certfile and keyfile specifications.
|
ssloptions: an SSLOptions object.
|
||||||
craftanchor: string specifying the path under which to anchor response generation.
|
craftanchor: string specifying the path under which to anchor response generation.
|
||||||
staticdir: path to a directory of static resources, or None.
|
staticdir: path to a directory of static resources, or None.
|
||||||
anchors: A list of (regex, spec) tuples, or None.
|
anchors: A list of (regex, spec) tuples, or None.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import json, cStringIO
|
import json, cStringIO
|
||||||
from libpathod import pathoc, test, version
|
from libpathod import pathoc, test, version, pathod
|
||||||
import tutils
|
import tutils
|
||||||
|
|
||||||
def test_response():
|
def test_response():
|
||||||
@ -8,10 +8,12 @@ def test_response():
|
|||||||
|
|
||||||
|
|
||||||
class _TestDaemon:
|
class _TestDaemon:
|
||||||
|
ssloptions = pathod.SSLOptions()
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpAll(self):
|
def setUpAll(self):
|
||||||
self.d = test.Daemon(
|
self.d = test.Daemon(
|
||||||
ssl=self.ssl,
|
ssl=self.ssl,
|
||||||
|
ssloptions=self.ssloptions,
|
||||||
staticdir=tutils.test_data.path("data"),
|
staticdir=tutils.test_data.path("data"),
|
||||||
anchors=[("/anchor/.*", "202")]
|
anchors=[("/anchor/.*", "202")]
|
||||||
)
|
)
|
||||||
@ -36,6 +38,7 @@ class _TestDaemon:
|
|||||||
|
|
||||||
class TestDaemonSSL(_TestDaemon):
|
class TestDaemonSSL(_TestDaemon):
|
||||||
ssl = True
|
ssl = True
|
||||||
|
ssloptions = pathod.SSLOptions(request_client_cert=True)
|
||||||
def test_sni(self):
|
def test_sni(self):
|
||||||
c = pathoc.Pathoc(
|
c = pathoc.Pathoc(
|
||||||
"127.0.0.1",
|
"127.0.0.1",
|
||||||
|
Loading…
Reference in New Issue
Block a user