I got an email this morning from my MiaB instance with a bunch of errors. In the interest of helping track the issue, I’ll share it here:
Traceback (most recent call last):
File "management/ssl_certificates.py", line 807, in <module>
provision_certificates_cmdline()
File "management/ssl_certificates.py", line 450, in provision_certificates_cmdline
status = provision_certificates(env, agree_to_tos_url=agree_to_tos_url, logger=my_logger, force_domains=force_domains, show_extended_problems=show_extended_problems)
File "management/ssl_certificates.py", line 271, in provision_certificates
import requests.exceptions
File "/usr/local/lib/python3.4/dist-packages/requests/__init__.py", line 52, in <module>
from .packages.urllib3.contrib import pyopenssl
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 46, in <module>
import OpenSSL.SSL
File "/usr/local/lib/python3.4/dist-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/usr/local/lib/python3.4/dist-packages/OpenSSL/rand.py", line 12, in <module>
from OpenSSL._util import (
File "/usr/local/lib/python3.4/dist-packages/OpenSSL/_util.py", line 6, in <module>
from cryptography.hazmat.bindings.openssl.binding import Binding
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 173, in <module>
Binding.init_static_locks()
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 137, in init_static_locks
cls._ensure_ffi_initialized()
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 124, in _ensure_ffi_initialized
cls.lib = build_conditional_library(lib, CONDITIONAL_NAMES)
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 89, in build_conditional_library
if not getattr(lib, condition):
AttributeError: cffi library '_openssl' has no function, constant or global variable named 'Cryptography_HAS_SCRYPT'
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.4/multiprocessing/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "/usr/lib/python3.4/multiprocessing/pool.py", line 47, in starmapstar
return list(itertools.starmap(args[0], args[1]))
File "management/status_checks.py", line 332, in run_domain_checks_on_domain
ssl_certificates = get_ssl_certificates(env)
File "/root/mailinabox/management/ssl_certificates.py", line 47, in get_ssl_certificates
pem = load_pem(load_cert_chain(fn)[0])
File "/root/mailinabox/management/ssl_certificates.py", line 765, in load_pem
return serialization.load_pem_private_key(pem, password=None, backend=default_backend())
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/backends/__init__.py", line 71, in default_backend
_default_backend = MultiBackend(_available_backends())
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/backends/__init__.py", line 28, in _available_backends
"cryptography.backends"
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/backends/__init__.py", line 27, in <listcomp>
for ep in pkg_resources.iter_entry_points(
File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 2302, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module>
from cryptography.hazmat.backends.openssl.backend import backend
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/backends/openssl/backend.py", line 52, in <module>
from cryptography.hazmat.bindings.openssl import binding
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 173, in <module>
Binding.init_static_locks()
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 137, in init_static_locks
cls._ensure_ffi_initialized()
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 124, in _ensure_ffi_initialized
cls.lib = build_conditional_library(lib, CONDITIONAL_NAMES)
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 89, in build_conditional_library
if not getattr(lib, condition):
AttributeError: cffi library '_openssl' has no function, constant or global variable named 'Cryptography_HAS_SCRYPT'
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "management/status_checks.py", line 970, in <module>
run_and_output_changes(env, pool)
File "management/status_checks.py", line 826, in run_and_output_changes
run_checks(True, env, cur, pool)
File "management/status_checks.py", line 65, in run_checks
run_domain_checks(rounded_values, env, output, pool)
File "management/status_checks.py", line 323, in run_domain_checks
ret = pool.starmap(run_domain_checks_on_domain, args, chunksize=1)
File "/usr/lib/python3.4/multiprocessing/pool.py", line 268, in starmap
return self._map_async(func, iterable, starmapstar, chunksize).get()
File "/usr/lib/python3.4/multiprocessing/pool.py", line 599, in get
raise self._value
AttributeError: cffi library '_openssl' has no function, constant or global variable named 'Cryptography_HAS_SCRYPT'