mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-22 04:34:28 +03:00
Check shadow_hs as well as hs during 3pid reg
This commit is contained in:
parent
70e039c7ae
commit
9b13038d05
1 changed files with 8 additions and 6 deletions
|
@ -43,17 +43,19 @@ def check_3pid_allowed(hs, medium, address):
|
||||||
{'medium': medium, 'address': address}
|
{'medium': medium, 'address': address}
|
||||||
)
|
)
|
||||||
|
|
||||||
# Assume false if invalid response
|
# Check for invalid response
|
||||||
if 'hs' not in data:
|
if 'hs' not in data and 'shadow_hs' not in data:
|
||||||
|
defer.returnValue(False)
|
||||||
|
|
||||||
|
# Check if this user is intended to register for this homeserver
|
||||||
|
if data['hs'] != hs.config.server_name and data['shadow_hs'] != hs.config.server_name:
|
||||||
defer.returnValue(False)
|
defer.returnValue(False)
|
||||||
|
|
||||||
if data.get('requires_invite', False) and data.get('invited', False) == False:
|
if data.get('requires_invite', False) and data.get('invited', False) == False:
|
||||||
# Requires an invite but hasn't been invited
|
# Requires an invite but hasn't been invited
|
||||||
defer.returnValue(False)
|
defer.returnValue(False)
|
||||||
if hs.config.allow_invited_3pids and data.get('invited'):
|
|
||||||
defer.returnValue(True)
|
defer.returnValue(True)
|
||||||
else:
|
|
||||||
defer.returnValue(data['hs'] == hs.config.server_name)
|
|
||||||
|
|
||||||
if hs.config.allowed_local_3pids:
|
if hs.config.allowed_local_3pids:
|
||||||
for constraint in hs.config.allowed_local_3pids:
|
for constraint in hs.config.allowed_local_3pids:
|
||||||
|
|
Loading…
Reference in a new issue