|
@@ -380,13 +380,12 @@ def setup(config_options):
|
|
|
|
|
|
hs.setup_master()
|
|
|
|
|
|
- @defer.inlineCallbacks
|
|
|
- def do_acme():
|
|
|
+ async def do_acme() -> bool:
|
|
|
"""
|
|
|
Reprovision an ACME certificate, if it's required.
|
|
|
|
|
|
Returns:
|
|
|
- Deferred[bool]: Whether the cert has been updated.
|
|
|
+ Whether the cert has been updated.
|
|
|
"""
|
|
|
acme = hs.get_acme_handler()
|
|
|
|
|
@@ -405,7 +404,7 @@ def setup(config_options):
|
|
|
provision = True
|
|
|
|
|
|
if provision:
|
|
|
- yield acme.provision_certificate()
|
|
|
+ await acme.provision_certificate()
|
|
|
|
|
|
return provision
|
|
|
|
|
@@ -415,7 +414,7 @@ def setup(config_options):
|
|
|
Provision a certificate from ACME, if required, and reload the TLS
|
|
|
certificate if it's renewed.
|
|
|
"""
|
|
|
- reprovisioned = yield do_acme()
|
|
|
+ reprovisioned = yield defer.ensureDeferred(do_acme())
|
|
|
if reprovisioned:
|
|
|
_base.refresh_certificate(hs)
|
|
|
|
|
@@ -427,8 +426,8 @@ def setup(config_options):
|
|
|
acme = hs.get_acme_handler()
|
|
|
# Start up the webservices which we will respond to ACME
|
|
|
# challenges with, and then provision.
|
|
|
- yield acme.start_listening()
|
|
|
- yield do_acme()
|
|
|
+ yield defer.ensureDeferred(acme.start_listening())
|
|
|
+ yield defer.ensureDeferred(do_acme())
|
|
|
|
|
|
# Check if it needs to be reprovisioned every day.
|
|
|
hs.get_clock().looping_call(reprovision_acme, 24 * 60 * 60 * 1000)
|