Since exceptions will be caught be outer try:except: pair anyway, mark
the test of MD5 code by the comment that explains why we need to really
test it.
Do it for both hashlib.md5 and md5 modules.
Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Sat Dec 8 18:41:07 CET 2012 on sn-devel-104
# make sure we have md5. some systems don't have it
try:
from hashlib import md5
- try:
- foo = md5.md5('abcd')
- except ValueError:
- raise
+ # Even if hashlib.md5 exists, it may be unusable.
+ # Try to use MD5 function. In FIPS mode this will cause an exception
+ # and we'll get to the replacement code
+ foo = md5.md5('abcd')
except:
try:
import md5
- try:
- foo = md5.md5('abcd')
- except ValueError:
- raise
+ # repeat the same check here, mere success of import is not enough.
+ # Try to use MD5 function. In FIPS mode this will cause an exception
+ foo = md5.md5('abcd')
except:
import Constants
Constants.SIG_NIL = hash('abcd')