forked from MirrorHub/synapse
add disable_3pid_changes
This commit is contained in:
parent
20545a2199
commit
99bbe177b6
3 changed files with 21 additions and 0 deletions
|
@ -1065,6 +1065,11 @@ account_threepid_delegates:
|
||||||
#disable_set_displayname: false
|
#disable_set_displayname: false
|
||||||
#disable_set_avatar_url: false
|
#disable_set_avatar_url: false
|
||||||
|
|
||||||
|
# If true, stop users from trying to change the 3PIDs associated with
|
||||||
|
# their accounts.
|
||||||
|
#
|
||||||
|
#disable_3pid_changes: false
|
||||||
|
|
||||||
# Users who register on this homeserver will automatically be joined
|
# Users who register on this homeserver will automatically be joined
|
||||||
# to these rooms
|
# to these rooms
|
||||||
#
|
#
|
||||||
|
|
|
@ -131,6 +131,7 @@ class RegistrationConfig(Config):
|
||||||
|
|
||||||
self.disable_set_displayname = config.get("disable_set_displayname", False)
|
self.disable_set_displayname = config.get("disable_set_displayname", False)
|
||||||
self.disable_set_avatar_url = config.get("disable_set_avatar_url", False)
|
self.disable_set_avatar_url = config.get("disable_set_avatar_url", False)
|
||||||
|
self.disable_3pid_changes = config.get("disable_3pid_changes", False)
|
||||||
|
|
||||||
self.disable_msisdn_registration = config.get(
|
self.disable_msisdn_registration = config.get(
|
||||||
"disable_msisdn_registration", False
|
"disable_msisdn_registration", False
|
||||||
|
@ -341,6 +342,11 @@ class RegistrationConfig(Config):
|
||||||
#disable_set_displayname: false
|
#disable_set_displayname: false
|
||||||
#disable_set_avatar_url: false
|
#disable_set_avatar_url: false
|
||||||
|
|
||||||
|
# If true, stop users from trying to change the 3PIDs associated with
|
||||||
|
# their accounts.
|
||||||
|
#
|
||||||
|
#disable_3pid_changes: false
|
||||||
|
|
||||||
# Users who register on this homeserver will automatically be joined
|
# Users who register on this homeserver will automatically be joined
|
||||||
# to these rooms
|
# to these rooms
|
||||||
#
|
#
|
||||||
|
|
|
@ -599,6 +599,9 @@ class ThreepidRestServlet(RestServlet):
|
||||||
return 200, {"threepids": threepids}
|
return 200, {"threepids": threepids}
|
||||||
|
|
||||||
async def on_POST(self, request):
|
async def on_POST(self, request):
|
||||||
|
if self.hs.config.disable_3pid_changes:
|
||||||
|
raise SynapseError(400, "3PID changes disabled on this server")
|
||||||
|
|
||||||
requester = await self.auth.get_user_by_req(request)
|
requester = await self.auth.get_user_by_req(request)
|
||||||
user_id = requester.user.to_string()
|
user_id = requester.user.to_string()
|
||||||
body = parse_json_object_from_request(request)
|
body = parse_json_object_from_request(request)
|
||||||
|
@ -643,6 +646,9 @@ class ThreepidAddRestServlet(RestServlet):
|
||||||
|
|
||||||
@interactive_auth_handler
|
@interactive_auth_handler
|
||||||
async def on_POST(self, request):
|
async def on_POST(self, request):
|
||||||
|
if self.hs.config.disable_3pid_changes:
|
||||||
|
raise SynapseError(400, "3PID changes disabled on this server")
|
||||||
|
|
||||||
requester = await self.auth.get_user_by_req(request)
|
requester = await self.auth.get_user_by_req(request)
|
||||||
user_id = requester.user.to_string()
|
user_id = requester.user.to_string()
|
||||||
body = parse_json_object_from_request(request)
|
body = parse_json_object_from_request(request)
|
||||||
|
@ -738,10 +744,14 @@ class ThreepidDeleteRestServlet(RestServlet):
|
||||||
|
|
||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super(ThreepidDeleteRestServlet, self).__init__()
|
super(ThreepidDeleteRestServlet, self).__init__()
|
||||||
|
self.hs = hs
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.auth_handler = hs.get_auth_handler()
|
self.auth_handler = hs.get_auth_handler()
|
||||||
|
|
||||||
async def on_POST(self, request):
|
async def on_POST(self, request):
|
||||||
|
if self.hs.config.disable_3pid_changes:
|
||||||
|
raise SynapseError(400, "3PID changes disabled on this server")
|
||||||
|
|
||||||
body = parse_json_object_from_request(request)
|
body = parse_json_object_from_request(request)
|
||||||
assert_params_in_dict(body, ["medium", "address"])
|
assert_params_in_dict(body, ["medium", "address"])
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue