36 lines
1.4 KiB
Diff
36 lines
1.4 KiB
Diff
From: Sergio Durigan Junior <sergiodj@sergiodj.net>
|
|
Date: Mon, 8 Aug 2016 20:16:35 -0400
|
|
Subject: Support python-bcrypt instead of py-bcrypt
|
|
|
|
This patch basically makes sure that the arguments to bcrypt.hashpw
|
|
are encoded to UTF-8. This is a requirement of python-bcrypt. Using
|
|
python-bcrypt has the advantage that the library is well maintained
|
|
and available on more distributions, like Debian.
|
|
---
|
|
pagure/lib/login.py | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/pagure/lib/login.py b/pagure/lib/login.py
|
|
index 4227c94..989fb4e 100644
|
|
--- a/pagure/lib/login.py
|
|
+++ b/pagure/lib/login.py
|
|
@@ -72,7 +72,8 @@ def get_users_by_group(session, group):
|
|
def generate_hashed_value(password):
|
|
""" Generate hash value for password
|
|
"""
|
|
- return '$2$' + bcrypt.hashpw(to_unicode(password), bcrypt.gensalt())
|
|
+ return '$2$' + bcrypt.hashpw(password.encode("utf8"),
|
|
+ bcrypt.gensalt().encode("utf8"))
|
|
|
|
|
|
def check_password(entered_password, user_password, seed=None):
|
|
@@ -86,7 +87,7 @@ def check_password(entered_password, user_password, seed=None):
|
|
_, version, user_password = user_password.split('$', 2)
|
|
|
|
if version == '2':
|
|
- password = bcrypt.hashpw(to_unicode(entered_password), user_password)
|
|
+ password = bcrypt.hashpw(entered_password.encode("utf8"), user_password.encode("utf8"))
|
|
|
|
elif version == '1':
|
|
password = '%s%s' % (to_unicode(entered_password), seed)
|