mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-19 05:58:34 +02:00
improve code quality
This commit is contained in:
@@ -70,7 +70,6 @@ class AuthenticationTestCase(ModoTestCase):
|
||||
|
||||
def test_password_scheme(self):
|
||||
"""Validate password scheme changes."""
|
||||
url = reverse("core:parameters")
|
||||
username = "user@test.com"
|
||||
password = "toto"
|
||||
data = {"username": username, "password": password}
|
||||
@@ -79,26 +78,26 @@ class AuthenticationTestCase(ModoTestCase):
|
||||
|
||||
self.client.logout()
|
||||
self.set_global_parameter("password_scheme", "sha512crypt")
|
||||
response = self.client.post(reverse("core:login"), data)
|
||||
self.client.post(reverse("core:login"), data)
|
||||
user.refresh_from_db()
|
||||
self.assertTrue(user.password.startswith("{SHA512-CRYPT}"))
|
||||
|
||||
self.client.logout()
|
||||
self.set_global_parameter("password_scheme", "sha256")
|
||||
response = self.client.post(reverse("core:login"), data)
|
||||
self.client.post(reverse("core:login"), data)
|
||||
user.refresh_from_db()
|
||||
self.assertTrue(user.password.startswith("{SHA256}"))
|
||||
|
||||
self.client.logout()
|
||||
self.set_global_parameter("password_scheme", "fallback_scheme")
|
||||
response = self.client.post(reverse("core:login"), data)
|
||||
self.client.post(reverse("core:login"), data)
|
||||
user.refresh_from_db()
|
||||
self.assertTrue(user.password.startswith(pw_hash.scheme))
|
||||
|
||||
self.client.logout()
|
||||
self.set_global_parameter("password_scheme", "sha256crypt")
|
||||
self.set_global_parameter("update_scheme", False)
|
||||
response = self.client.post(reverse("core:login"), data)
|
||||
self.client.post(reverse("core:login"), data)
|
||||
user.refresh_from_db()
|
||||
self.assertTrue(user.password.startswith(pw_hash.scheme))
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ def dologin(request):
|
||||
raise_exception=False):
|
||||
# check if password scheme is correct
|
||||
scheme = param_tools.get_global_parameter("password_scheme",
|
||||
raise_exception=False)
|
||||
raise_exception=False)
|
||||
# use SHA512CRYPT as default fallback
|
||||
if scheme is None:
|
||||
pwhash = get_password_hasher('sha512crypt')()
|
||||
@@ -47,7 +47,8 @@ def dologin(request):
|
||||
pwhash = get_password_hasher(scheme)()
|
||||
if not user.password.startswith(pwhash.scheme):
|
||||
logging.info(
|
||||
_("Password scheme mismatch. Updating %s password") % user.username
|
||||
_("Password scheme mismatch. Updating %s password"),
|
||||
user.username
|
||||
)
|
||||
user.set_password(form.cleaned_data["password"])
|
||||
user.save()
|
||||
|
||||
Reference in New Issue
Block a user