summary refs log tree commit diff
path: root/synapse/app
diff options
context:
space:
mode:
authorShay <hillerys@element.io>2022-03-25 10:11:01 -0700
committerGitHub <noreply@github.com>2022-03-25 10:11:01 -0700
commit3c41d87b67d3a62edfc660b4fe8f2545f5dbee4f (patch)
treeb11ef0e94c7bbe343f976836a92ca9905c4f6016 /synapse/app
parentAdd cache for `get_membership_from_event_ids` (#12272) (diff)
downloadsynapse-3c41d87b67d3a62edfc660b4fe8f2545f5dbee4f.tar.xz
Add restrictions by default to open registration in Synapse (#12091)
Diffstat (limited to 'synapse/app')
-rw-r--r--synapse/app/homeserver.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py
index ad2b7c9515..0f75e7b9d4 100644
--- a/synapse/app/homeserver.py
+++ b/synapse/app/homeserver.py
@@ -351,6 +351,23 @@ def setup(config_options: List[str]) -> SynapseHomeServer:
     if config.server.gc_seconds:
         synapse.metrics.MIN_TIME_BETWEEN_GCS = config.server.gc_seconds
 
+    if (
+        config.registration.enable_registration
+        and not config.registration.enable_registration_without_verification
+    ):
+        if (
+            not config.captcha.enable_registration_captcha
+            and not config.registration.registrations_require_3pid
+            and not config.registration.registration_requires_token
+        ):
+
+            raise ConfigError(
+                "You have enabled open registration without any verification. This is a known vector for "
+                "spam and abuse. If you would like to allow public registration, please consider adding email, "
+                "captcha, or token-based verification. Otherwise this check can be removed by setting the "
+                "`enable_registration_without_verification` config option to `true`."
+            )
+
     hs = SynapseHomeServer(
         config.server.server_name,
         config=config,