From f332674ce1fb0780a887406c0076b88cc7ea8ad9 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 19 Apr 2015 10:43:16 +1200 Subject: 100% unit tests - Add SANs to pathod SSLConfig - Fix tricky SSL establishment error test. Lets see if it's platform portable. --- libpathod/pathod.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'libpathod') diff --git a/libpathod/pathod.py b/libpathod/pathod.py index 1506e743..457bdf61 100644 --- a/libpathod/pathod.py +++ b/libpathod/pathod.py @@ -22,9 +22,15 @@ class PathodError(Exception): class SSLOptions: - def __init__(self, confdir=CONFDIR, cn=None, not_after_connect=None, - request_client_cert=False, sslversion=tcp.SSLv23_METHOD, - ciphers=None, certs=None): + def __init__(self, + confdir=CONFDIR, + cn=None, + sans=(), + not_after_connect=None, + request_client_cert=False, + sslversion=tcp.SSLv23_METHOD, + ciphers=None, + certs=None): self.confdir = confdir self.cn = cn self.certstore = certutils.CertStore.from_store( @@ -37,13 +43,14 @@ class SSLOptions: self.request_client_cert = request_client_cert self.ciphers = ciphers self.sslversion = sslversion + self.sans = sans def get_cert(self, name): if self.cn: name = self.cn elif not name: name = DEFAULT_CERT_DOMAIN - return self.certstore.get_cert(name, []) + return self.certstore.get_cert(name, self.sans) class PathodHandler(tcp.BaseHandler): @@ -51,7 +58,9 @@ class PathodHandler(tcp.BaseHandler): sni = None def info(self, s): - logger.info("%s:%s: %s" % (self.address.host, self.address.port, str(s))) + logger.info( + "%s:%s: %s" % (self.address.host, self.address.port, str(s)) + ) def handle_sni(self, connection): self.sni = connection.get_servername() -- cgit v1.2.3