summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime “pep” Buquet <pep@bouah.net>2022-04-04 21:37:41 +0200
committerMaxime “pep” Buquet <pep@bouah.net>2022-04-05 01:24:14 +0200
commit41afbb10dfc88b01940f2a109d48cd0fde007cc9 (patch)
treed25125ed1220419f70bfc7d921387ebf81bc5a62
parent82ff68cfacf55aa1b79aa2f84f085ca346a75a74 (diff)
downloadslixmpp-41afbb10dfc88b01940f2a109d48cd0fde007cc9.tar.gz
slixmpp-41afbb10dfc88b01940f2a109d48cd0fde007cc9.tar.bz2
slixmpp-41afbb10dfc88b01940f2a109d48cd0fde007cc9.tar.xz
slixmpp-41afbb10dfc88b01940f2a109d48cd0fde007cc9.zip
Pass in useful value when raising InvalidCABundle
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
-rw-r--r--slixmpp/xmlstream/xmlstream.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/slixmpp/xmlstream/xmlstream.py b/slixmpp/xmlstream/xmlstream.py
index 9077f23c..a687c4f6 100644
--- a/slixmpp/xmlstream/xmlstream.py
+++ b/slixmpp/xmlstream/xmlstream.py
@@ -35,6 +35,7 @@ import ssl
import uuid
import warnings
import weakref
+import collections
from contextlib import contextmanager
import xml.etree.ElementTree as ET
@@ -82,7 +83,7 @@ class InvalidCABundle(Exception):
Exception raised when the CA Bundle file hasn't been found.
"""
- def __init__(self, path: Optional[Path]):
+ def __init__(self, path: Optional[Union[Path, Iterable[Path]]]):
self.path = path
@@ -793,8 +794,9 @@ class XMLStream(asyncio.BaseProtocol):
if bundle.is_file():
ca_cert = bundle
break
- if ca_cert is None:
- raise InvalidCABundle(ca_cert)
+ if ca_cert is None and \
+ isinstance(self.ca_certs, (Path, collections.abc.Iterable)):
+ raise InvalidCABundle(self.ca_certs)
self.ssl_context.verify_mode = ssl.CERT_REQUIRED
self.ssl_context.load_verify_locations(cafile=ca_cert)