From 62d7d66ae5592175bb35a2a8d2f69b1924d6e1f2 Mon Sep 17 00:00:00 2001
From: Matthew Hodgson <matthew@matrix.org>
Date: Fri, 19 Jan 2018 18:23:56 +0000
Subject: [PATCH] oops, check all login types

---
 synapse/rest/client/v2_alpha/register.py | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/synapse/rest/client/v2_alpha/register.py b/synapse/rest/client/v2_alpha/register.py
index bf68e34a5..4e73f9a40 100644
--- a/synapse/rest/client/v2_alpha/register.py
+++ b/synapse/rest/client/v2_alpha/register.py
@@ -365,20 +365,17 @@ class RegisterRestServlet(RestServlet):
         # /register/email/requestToken when we requested a 3pid, but that's not
         # guaranteed.
 
-        if (
-            auth_result and
-            (
-                LoginType.EMAIL_IDENTITY in auth_result or
-                LoginType.EMAIL_MSISDN in auth_result
-            )
-        ):
-            medium = auth_result[LoginType.EMAIL_IDENTITY].threepid['medium']
-            address = auth_result[LoginType.EMAIL_IDENTITY].threepid['address']
+        if auth_result:
+            for login_type in [LoginType.EMAIL_IDENTITY, LoginType.EMAIL_MSISDN]:
+                if login_type in auth_result:
+                    medium = auth_result[login_type].threepid['medium']
+                    address = auth_result[login_type].threepid['address']
 
-            if not check_3pid_allowed(self.hs, medium, address):
-                raise SynapseError(
-                    403, "Third party identifier is not allowed", Codes.THREEPID_DENIED,
-                )
+                    if not check_3pid_allowed(self.hs, medium, address):
+                        raise SynapseError(
+                            403, "Third party identifier is not allowed",
+                            Codes.THREEPID_DENIED,
+                        )
 
         if registered_user_id is not None:
             logger.info(