Pass validated username to check_login_simple
authorayleph <ayleph@thisshitistemp.com>
Sun, 3 Aug 2014 22:55:16 +0000 (15:55 -0700)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Thu, 30 Oct 2014 16:34:23 +0000 (11:34 -0500)
The login function in mediagoblin/auth/views.py grabs the username prior to
form validation. If validation passes, the pre-validated username is passed to
the check_login_simple function.

Lowercasifying of the username occurs as part of form validation. By sending
the pre-validated username, there's a chance of sending a username with
uppercase letters. This will fail to match any user ids in the database, as
all of the usernames are lowercased during the registration process.

This change sends the post-validated username to check_login_simple, so that
any username that was entered by the user with uppercase letters has a chance
to be properly lowercased before being passed.

mediagoblin/auth/views.py

index a90db0eae9645c65688fe450b9edd53dfea4bce4..03a46f7b5944c8e907b110b2a94ffc0e864bf718 100644 (file)
@@ -86,10 +86,11 @@ def login(request):
     login_failed = False
 
     if request.method == 'POST':
-        username = login_form.username.data
 
         if login_form.validate():
-            user = check_login_simple(username, login_form.password.data)
+            user = check_login_simple(
+                login_form.username.data,
+                login_form.password.data)
 
             if user:
                 # set up login in session