summary refs log tree commit diff
path: root/synapse/federation/transport
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2018-07-04 18:15:03 +0100
committerRichard van der Hoff <richard@matrix.org>2018-07-04 18:59:51 +0100
commit546bc9e28b3d7758c732df8e120639d58d455164 (patch)
tree82be7e3ca557fc0997438f0fec1d644862f3dd07 /synapse/federation/transport
parentMerge pull request #3473 from matrix-org/erikj/thread_cache (diff)
downloadsynapse-546bc9e28b3d7758c732df8e120639d58d455164.tar.xz
More server_name validation
We need to do a bit more validation when we get a server name, but don't want
to be re-doing it all over the shop, so factor out a separate
parse_and_validate_server_name, and do the extra validation.

Also, use it to verify the server name in the config file.
Diffstat (limited to 'synapse/federation/transport')
-rw-r--r--synapse/federation/transport/server.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/synapse/federation/transport/server.py b/synapse/federation/transport/server.py
index 1180d4b69d..e1fdcc89dc 100644
--- a/synapse/federation/transport/server.py
+++ b/synapse/federation/transport/server.py
@@ -18,7 +18,7 @@ from twisted.internet import defer
 
 from synapse.api.urls import FEDERATION_PREFIX as PREFIX
 from synapse.api.errors import Codes, SynapseError, FederationDeniedError
-from synapse.http.endpoint import parse_server_name
+from synapse.http.endpoint import parse_and_validate_server_name
 from synapse.http.server import JsonResource
 from synapse.http.servlet import (
     parse_json_object_from_request, parse_integer_from_args, parse_string_from_args,
@@ -170,8 +170,9 @@ def _parse_auth_header(header_bytes):
                 return value
 
         origin = strip_quotes(param_dict["origin"])
+
         # ensure that the origin is a valid server name
-        parse_server_name(origin)
+        parse_and_validate_server_name(origin)
 
         key = strip_quotes(param_dict["key"])
         sig = strip_quotes(param_dict["sig"])