mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 11:26:09 -04:00
ACME Reprovisioning (#4522)
This commit is contained in:
parent
4ffd10f46d
commit
6e2a5aa050
5 changed files with 89 additions and 25 deletions
|
@ -23,6 +23,7 @@ import psutil
|
|||
from daemonize import Daemonize
|
||||
|
||||
from twisted.internet import error, reactor
|
||||
from twisted.protocols.tls import TLSMemoryBIOFactory
|
||||
|
||||
from synapse.app import check_bind_error
|
||||
from synapse.crypto import context_factory
|
||||
|
@ -220,6 +221,24 @@ def refresh_certificate(hs):
|
|||
)
|
||||
logging.info("Certificate loaded.")
|
||||
|
||||
if hs._listening_services:
|
||||
logging.info("Updating context factories...")
|
||||
for i in hs._listening_services:
|
||||
# When you listenSSL, it doesn't make an SSL port but a TCP one with
|
||||
# a TLS wrapping factory around the factory you actually want to get
|
||||
# requests. This factory attribute is public but missing from
|
||||
# Twisted's documentation.
|
||||
if isinstance(i.factory, TLSMemoryBIOFactory):
|
||||
# We want to replace TLS factories with a new one, with the new
|
||||
# TLS configuration. We do this by reaching in and pulling out
|
||||
# the wrappedFactory, and then re-wrapping it.
|
||||
i.factory = TLSMemoryBIOFactory(
|
||||
hs.tls_server_context_factory,
|
||||
False,
|
||||
i.factory.wrappedFactory
|
||||
)
|
||||
logging.info("Context factories updated.")
|
||||
|
||||
|
||||
def start(hs, listeners=None):
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue