From 925f92884399183f512cf8d5a9f46b202ec86a23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonel=20C=C3=A2mara?= Date: Wed, 8 Nov 2017 11:53:29 +0000 Subject: [PATCH] Copy all CRYPT attributes thanks @abastardi --- gluon/authapi.py | 3 ++- gluon/tools.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gluon/authapi.py b/gluon/authapi.py index ddae855a..db2ae13f 100644 --- a/gluon/authapi.py +++ b/gluon/authapi.py @@ -988,7 +988,8 @@ class AuthAPI(object): requires = [requires] requires = list(filter(lambda t: isinstance(t, CRYPT), requires)) if requires: - requires[0] = CRYPT(key=settings.hmac_key, min_length=0) + requires[0] = CRYPT(**requires[0].__dict__) # Copy the existing CRYPT attributes + requires[0].min_length = 0 # But do not enforce minimum length for the old password old_password = kwargs.get('old_password', '') new_password = kwargs.get('new_password', '') diff --git a/gluon/tools.py b/gluon/tools.py index 80b905ac..b063b6ea 100644 --- a/gluon/tools.py +++ b/gluon/tools.py @@ -3693,7 +3693,8 @@ class Auth(AuthAPI): requires = [requires] requires = list(filter(lambda t: isinstance(t, CRYPT), requires)) if requires: - requires[0] = CRYPT(key=self.settings.hmac_key, min_length=0) + requires[0] = CRYPT(**requires[0].__dict__) # Copy the existing CRYPT attributes + requires[0].min_length = 0 # But do not enforce minimum length for the old password form = SQLFORM.factory( Field('old_password', 'password', requires=requires, label=self.messages.old_password),