summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2016-10-19 11:13:55 +0100
committerDavid Baker <dave@matrix.org>2016-10-19 11:13:55 +0100
commitdf2a616c7b028a6eb8b50c57e7e73847287a6feb (patch)
tree9ec205b56673e1243acc5b269aa5a66f38c14b1d /synapse/handlers
parentRevert part of 6207399 (diff)
downloadsynapse-df2a616c7b028a6eb8b50c57e7e73847287a6feb.tar.xz
Convert emails to lowercase when storing
And db migration sql to convert existing addresses.
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/auth.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/synapse/handlers/auth.py b/synapse/handlers/auth.py
index dc0fe60e1b..3635521230 100644
--- a/synapse/handlers/auth.py
+++ b/synapse/handlers/auth.py
@@ -611,6 +611,18 @@ class AuthHandler(BaseHandler):
 
     @defer.inlineCallbacks
     def add_threepid(self, user_id, medium, address, validated_at):
+        # 'Canonicalise' email addresses down to lower case.
+        # We've now moving towards the Home Server being the entity that
+        # is responsible for validating threepids used for resetting passwords
+        # on accounts, so in future Synapse will gain knowledge of specific
+        # types (mediums) of threepid. For now, we still use the existing
+        # infrastructure, but this is the start of synapse gaining knowledge
+        # of specific types of threepid (and fixes the fact that checking
+        # for the presenc eof an email address during password reset was
+        # case sensitive).
+        if medium == 'email':
+            address = address.lower()
+
         yield self.store.user_add_threepid(
             user_id, medium, address, validated_at,
             self.hs.get_clock().time_msec()