mirror of
https://mau.dev/maunium/synapse.git
synced 2024-08-23 10:45:48 +00:00
Merge pull request #3288 from matrix-org/rav/no_spam_guests
Avoid sending consent notice to guest users
This commit is contained in:
commit
60f09b1e11
@ -32,7 +32,8 @@ DEFAULT_CONFIG = """\
|
|||||||
#
|
#
|
||||||
# 'server_notice_content', if enabled, will send a user a "Server Notice"
|
# 'server_notice_content', if enabled, will send a user a "Server Notice"
|
||||||
# asking them to consent to the privacy policy. The 'server_notices' section
|
# asking them to consent to the privacy policy. The 'server_notices' section
|
||||||
# must also be configured for this to work.
|
# must also be configured for this to work. Notices will *not* be sent to
|
||||||
|
# guest users unless 'send_server_notice_to_guests' is set to true.
|
||||||
#
|
#
|
||||||
# 'block_events_error', if set, will block any attempts to send events
|
# 'block_events_error', if set, will block any attempts to send events
|
||||||
# until the user consents to the privacy policy. The value of the setting is
|
# until the user consents to the privacy policy. The value of the setting is
|
||||||
@ -46,6 +47,7 @@ DEFAULT_CONFIG = """\
|
|||||||
# body: >-
|
# body: >-
|
||||||
# To continue using this homeserver you must review and agree to the
|
# To continue using this homeserver you must review and agree to the
|
||||||
# terms and conditions at %(consent_uri)s
|
# terms and conditions at %(consent_uri)s
|
||||||
|
# send_server_notice_to_guests: True
|
||||||
# block_events_error: >-
|
# block_events_error: >-
|
||||||
# To continue using this homeserver you must review and agree to the
|
# To continue using this homeserver you must review and agree to the
|
||||||
# terms and conditions at %(consent_uri)s
|
# terms and conditions at %(consent_uri)s
|
||||||
@ -60,6 +62,7 @@ class ConsentConfig(Config):
|
|||||||
self.user_consent_version = None
|
self.user_consent_version = None
|
||||||
self.user_consent_template_dir = None
|
self.user_consent_template_dir = None
|
||||||
self.user_consent_server_notice_content = None
|
self.user_consent_server_notice_content = None
|
||||||
|
self.user_consent_server_notice_to_guests = False
|
||||||
self.block_events_without_consent_error = None
|
self.block_events_without_consent_error = None
|
||||||
|
|
||||||
def read_config(self, config):
|
def read_config(self, config):
|
||||||
@ -74,6 +77,9 @@ class ConsentConfig(Config):
|
|||||||
self.block_events_without_consent_error = consent_config.get(
|
self.block_events_without_consent_error = consent_config.get(
|
||||||
"block_events_error",
|
"block_events_error",
|
||||||
)
|
)
|
||||||
|
self.user_consent_server_notice_to_guests = bool(consent_config.get(
|
||||||
|
"send_server_notice_to_guests", False,
|
||||||
|
))
|
||||||
|
|
||||||
def default_config(self, **kwargs):
|
def default_config(self, **kwargs):
|
||||||
return DEFAULT_CONFIG
|
return DEFAULT_CONFIG
|
||||||
|
@ -42,6 +42,7 @@ class ConsentServerNotices(object):
|
|||||||
|
|
||||||
self._current_consent_version = hs.config.user_consent_version
|
self._current_consent_version = hs.config.user_consent_version
|
||||||
self._server_notice_content = hs.config.user_consent_server_notice_content
|
self._server_notice_content = hs.config.user_consent_server_notice_content
|
||||||
|
self._send_to_guests = hs.config.user_consent_server_notice_to_guests
|
||||||
|
|
||||||
if self._server_notice_content is not None:
|
if self._server_notice_content is not None:
|
||||||
if not self._server_notices_manager.is_enabled():
|
if not self._server_notices_manager.is_enabled():
|
||||||
@ -78,6 +79,10 @@ class ConsentServerNotices(object):
|
|||||||
try:
|
try:
|
||||||
u = yield self._store.get_user_by_id(user_id)
|
u = yield self._store.get_user_by_id(user_id)
|
||||||
|
|
||||||
|
if u["is_guest"] and not self._send_to_guests:
|
||||||
|
# don't send to guests
|
||||||
|
return
|
||||||
|
|
||||||
if u["consent_version"] == self._current_consent_version:
|
if u["consent_version"] == self._current_consent_version:
|
||||||
# user has already consented
|
# user has already consented
|
||||||
return
|
return
|
||||||
|
Loading…
Reference in New Issue
Block a user