summary refs log tree commit diff
path: root/synapse/config/tls.py
diff options
context:
space:
mode:
authorDavid Robertson <davidr@element.io>2021-10-08 14:49:41 +0100
committerGitHub <noreply@github.com>2021-10-08 14:49:41 +0100
commit797ee7812db28f6cf130d68e2d10911c826b0be5 (patch)
tree7dc5c31a4f18ebdcdcae21d9987f85bfd8892a45 /synapse/config/tls.py
parentFix overwriting profile when making room public (#11003) (diff)
downloadsynapse-797ee7812db28f6cf130d68e2d10911c826b0be5.tar.xz
Relax `ignore-missing-imports` for modules that have stubs now and update mypy (#11006)
Updating mypy past version 0.9 means that third-party stubs are no-longer distributed with typeshed. See http://mypy-lang.blogspot.com/2021/06/mypy-0900-released.html for details.
We therefore pull in stub packages in setup.py

Additionally, some modules that we were previously ignoring import failures for now have stubs. So let's use them.

The rest of this change consists of fixups to make the newer mypy + stubs pass CI.

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Diffstat (limited to 'synapse/config/tls.py')
-rw-r--r--synapse/config/tls.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/synapse/config/tls.py b/synapse/config/tls.py
index 5679f05e42..6227434bac 100644
--- a/synapse/config/tls.py
+++ b/synapse/config/tls.py
@@ -172,9 +172,12 @@ class TlsConfig(Config):
                 )
 
         # YYYYMMDDhhmmssZ -- in UTC
-        expires_on = datetime.strptime(
-            tls_certificate.get_notAfter().decode("ascii"), "%Y%m%d%H%M%SZ"
-        )
+        expiry_data = tls_certificate.get_notAfter()
+        if expiry_data is None:
+            raise ValueError(
+                "TLS Certificate has no expiry date, and this is not permitted"
+            )
+        expires_on = datetime.strptime(expiry_data.decode("ascii"), "%Y%m%d%H%M%SZ")
         now = datetime.utcnow()
         days_remaining = (expires_on - now).days
         return days_remaining