summary refs log tree commit diff
path: root/synapse/config
diff options
context:
space:
mode:
authorJacek KuĊ›nierz <jacek.kusnierz@tum.de>2022-06-16 12:48:18 +0200
committerGitHub <noreply@github.com>2022-06-16 11:48:18 +0100
commit0ef1307619799bec2bbb96ce6516f307b0f8f217 (patch)
treedfbaaad6bfb22e0244733df8e538bcc6b8d5d660 /synapse/config
parentAdd instructions for running Complement with `gotestfmt`-formatted output loc... (diff)
downloadsynapse-0ef1307619799bec2bbb96ce6516f307b0f8f217.tar.xz
Add custom well-known (#13035)
Co-authored-by: David Robertson <david.m.robertson1@gmail.com>
Diffstat (limited to 'synapse/config')
-rw-r--r--synapse/config/server.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/synapse/config/server.py b/synapse/config/server.py
index 828938e5ec..085fe22c51 100644
--- a/synapse/config/server.py
+++ b/synapse/config/server.py
@@ -301,6 +301,26 @@ class ServerConfig(Config):
                 "public_baseurl cannot contain query parameters or a #-fragment"
             )
 
+        self.extra_well_known_client_content = config.get(
+            "extra_well_known_client_content", {}
+        )
+
+        if not isinstance(self.extra_well_known_client_content, dict):
+            raise ConfigError(
+                "extra_well_known_content must be a dictionary of key-value pairs"
+            )
+
+        if "m.homeserver" in self.extra_well_known_client_content:
+            raise ConfigError(
+                "m.homeserver is not supported in extra_well_known_content, "
+                "use public_baseurl in base config instead."
+            )
+        if "m.identity_server" in self.extra_well_known_client_content:
+            raise ConfigError(
+                "m.identity_server is not supported in extra_well_known_content, "
+                "use default_identity_server in base config instead."
+            )
+
         # Whether to enable user presence.
         presence_config = config.get("presence") or {}
         self.use_presence = presence_config.get("enabled")