Cause: Uninitialized function in _hashlib library
Consequence: Some hashlib algorithms do not work
Fix: Initialize OpenSSL_add_all_digests function in _hashlib library
Result: Hashlib algorithms work
We have updated our Python from python-2.7.5-18 to python-2.7.5-34, which breaks some hashlib algorithms (md4).
Python 2.7.5-18:
>>> import hashlib
>>> hashlib.new('md4', 'foo')
<md4 HASH object @ 0x7f91907e9d50>
>>>
Python 2.7.5-34:
>>> import hashlib
>>> hashlib.new('md4', 'foo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/hashlib.py", line 111, in __hash_new
return _hashlib.new(name, string, usedforsecurity)
ValueError: unsupported hash type
Reverting back to 2.7.5-18 fixes the problem for now.
Hi,
This fix will be released in rhel-7.3. It is not present in current rhel-7.2 version of python (python-2.7.5-38.el7_2). Latest released python package contains mainly security fixes.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://rhn.redhat.com/errata/RHSA-2016-2586.html