diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2018-08-10 12:23:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-10 12:23:54 +0100 |
commit | 3c0213a21754c9ad8f9309d7548284dd08302a92 (patch) | |
tree | bc9f07fdeb29929d3601afbe9a5891d932e519f8 /synapse/http | |
parent | Merge pull request #3655 from matrix-org/neilj/disable_hs (diff) | |
parent | more generic conversion of str/bytes to unicode (diff) | |
download | synapse-3c0213a21754c9ad8f9309d7548284dd08302a92.tar.xz |
Merge pull request #3439 from vojeroen/send_sni_for_federation_requests
send SNI for federation requests
Diffstat (limited to 'synapse/http')
-rw-r--r-- | synapse/http/endpoint.py | 12 | ||||
-rw-r--r-- | synapse/http/matrixfederationclient.py | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/synapse/http/endpoint.py b/synapse/http/endpoint.py index d65daa72bb..b0c9369519 100644 --- a/synapse/http/endpoint.py +++ b/synapse/http/endpoint.py @@ -26,7 +26,6 @@ from twisted.names.error import DNSNameError, DomainError logger = logging.getLogger(__name__) - SERVER_CACHE = {} # our record of an individual server which can be tried to reach a destination. @@ -103,15 +102,16 @@ def parse_and_validate_server_name(server_name): return host, port -def matrix_federation_endpoint(reactor, destination, ssl_context_factory=None, +def matrix_federation_endpoint(reactor, destination, tls_client_options_factory=None, timeout=None): """Construct an endpoint for the given matrix destination. Args: reactor: Twisted reactor. destination (bytes): The name of the server to connect to. - ssl_context_factory (twisted.internet.ssl.ContextFactory): Factory - which generates SSL contexts to use for TLS. + tls_client_options_factory + (synapse.crypto.context_factory.ClientTLSOptionsFactory): + Factory which generates TLS options for client connections. timeout (int): connection timeout in seconds """ @@ -122,13 +122,13 @@ def matrix_federation_endpoint(reactor, destination, ssl_context_factory=None, if timeout is not None: endpoint_kw_args.update(timeout=timeout) - if ssl_context_factory is None: + if tls_client_options_factory is None: transport_endpoint = HostnameEndpoint default_port = 8008 else: def transport_endpoint(reactor, host, port, timeout): return wrapClientTLS( - ssl_context_factory, + tls_client_options_factory.get_options(host), HostnameEndpoint(reactor, host, port, timeout=timeout)) default_port = 8448 diff --git a/synapse/http/matrixfederationclient.py b/synapse/http/matrixfederationclient.py index b3f5415aa6..762273f59b 100644 --- a/synapse/http/matrixfederationclient.py +++ b/synapse/http/matrixfederationclient.py @@ -61,14 +61,14 @@ MAX_SHORT_RETRIES = 3 class MatrixFederationEndpointFactory(object): def __init__(self, hs): - self.tls_server_context_factory = hs.tls_server_context_factory + self.tls_client_options_factory = hs.tls_client_options_factory def endpointForURI(self, uri): destination = uri.netloc return matrix_federation_endpoint( reactor, destination, timeout=10, - ssl_context_factory=self.tls_server_context_factory + tls_client_options_factory=self.tls_client_options_factory ) |