diff --git a/synapse/server.py b/synapse/server.py
index 9985687b95..4d364fccce 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -31,6 +31,7 @@ from synapse.api.filtering import Filtering
from synapse.api.ratelimiting import Ratelimiter
from synapse.appservice.api import ApplicationServiceApi
from synapse.appservice.scheduler import ApplicationServiceScheduler
+from synapse.crypto import context_factory
from synapse.crypto.keyring import Keyring
from synapse.events.builder import EventBuilderFactory
from synapse.events.spamcheck import SpamChecker
@@ -46,6 +47,7 @@ from synapse.federation.transport.client import TransportLayerClient
from synapse.groups.attestations import GroupAttestationSigning, GroupAttestionRenewer
from synapse.groups.groups_server import GroupsServerHandler
from synapse.handlers import Handlers
+from synapse.handlers.acme import AcmeHandler
from synapse.handlers.appservice import ApplicationServicesHandler
from synapse.handlers.auth import AuthHandler, MacaroonGenerator
from synapse.handlers.deactivate_account import DeactivateAccountHandler
@@ -62,6 +64,7 @@ from synapse.handlers.presence import PresenceHandler
from synapse.handlers.profile import BaseProfileHandler, MasterProfileHandler
from synapse.handlers.read_marker import ReadMarkerHandler
from synapse.handlers.receipts import ReceiptsHandler
+from synapse.handlers.register import RegistrationHandler
from synapse.handlers.room import RoomContextHandler, RoomCreationHandler
from synapse.handlers.room_list import RoomListHandler
from synapse.handlers.room_member import RoomMemberMasterHandler
@@ -111,6 +114,8 @@ class HomeServer(object):
Attributes:
config (synapse.config.homeserver.HomeserverConfig):
+ _listening_services (list[twisted.internet.tcp.Port]): TCP ports that
+ we are listening on to provide HTTP services.
"""
__metaclass__ = abc.ABCMeta
@@ -129,6 +134,7 @@ class HomeServer(object):
'sync_handler',
'typing_handler',
'room_list_handler',
+ 'acme_handler',
'auth_handler',
'device_handler',
'e2e_keys_handler',
@@ -176,6 +182,7 @@ class HomeServer(object):
'pagination_handler',
'room_context_handler',
'sendmail',
+ 'registration_handler',
]
# This is overridden in derived application classes
@@ -194,6 +201,7 @@ class HomeServer(object):
self._reactor = reactor
self.hostname = hostname
self._building = {}
+ self._listening_services = []
self.clock = Clock(reactor)
self.distributor = Distributor()
@@ -310,6 +318,9 @@ class HomeServer(object):
def build_e2e_room_keys_handler(self):
return E2eRoomKeysHandler(self)
+ def build_acme_handler(self):
+ return AcmeHandler(self)
+
def build_application_service_api(self):
return ApplicationServiceApi(self)
@@ -350,10 +361,7 @@ class HomeServer(object):
return Keyring(self)
def build_event_builder_factory(self):
- return EventBuilderFactory(
- clock=self.get_clock(),
- hostname=self.hostname,
- )
+ return EventBuilderFactory(self)
def build_filtering(self):
return Filtering(self)
@@ -362,7 +370,10 @@ class HomeServer(object):
return PusherPool(self)
def build_http_client(self):
- return MatrixFederationHttpClient(self)
+ tls_client_options_factory = context_factory.ClientTLSOptionsFactory(
+ self.config
+ )
+ return MatrixFederationHttpClient(self, tls_client_options_factory)
def build_db_pool(self):
name = self.db_config["name"]
@@ -472,6 +483,9 @@ class HomeServer(object):
def build_room_context_handler(self):
return RoomContextHandler(self)
+ def build_registration_handler(self):
+ return RegistrationHandler(self)
+
def remove_pusher(self, app_id, push_key, user_id):
return self.get_pusherpool().remove_pusher(app_id, push_key, user_id)
|