From: Alexander Bokovoy Date: Sat, 8 Dec 2012 15:57:20 +0000 (+0200) Subject: wafsamba: replace try:except: case with explicit comment about FIPS mode X-Git-Tag: ldb-1.1.15~439 X-Git-Url: http://git.samba.org/samba.git/?p=nivanova%2Fsamba-autobuild%2F.git;a=commitdiff_plain;h=b6e2be8e147b4d34a0424a8851b03b24f180048c wafsamba: replace try:except: case with explicit comment about FIPS mode 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 Autobuild-Date(master): Sat Dec 8 18:41:07 CET 2012 on sn-devel-104 --- diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index cab87a4dbba..c1ac7e29b21 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -388,17 +388,16 @@ def RUN_COMMAND(cmd, # 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')