Files
gentoo/dev-python/passlib/files/passlib-1.7.2-py39.patch
Michał Górny 14e42da775 dev-python/passlib: Port to py39
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2020-05-26 18:36:03 +02:00

20 lines
870 B
Diff

diff --git a/passlib/utils/__init__.py b/passlib/utils/__init__.py
index 69b55e5..d18ec50 100644
--- a/passlib/utils/__init__.py
+++ b/passlib/utils/__init__.py
@@ -807,7 +807,13 @@ else:
if isinstance(hash, bytes):
hash = hash.decode("ascii")
- result = _crypt(secret, hash)
+ try:
+ result = _crypt(secret, hash)
+ except OSError:
+ # new in py39 -- per https://bugs.python.org/issue39289,
+ # crypt() now throws OSError for various things, mainly unknown hash formats
+ # translating that to None for now (may revise safe_crypt behavior in future)
+ return None
if PYPY and isinstance(result, bytes):
result = result.decode("utf-8")
if not result or result[0:1] in _invalid_prefixes: