wafsamba: replace try:except: case with explicit comment about FIPS mode
authorAlexander Bokovoy <ab@samba.org>
Sat, 8 Dec 2012 15:57:20 +0000 (17:57 +0200)
committerAlexander Bokovoy <ab@samba.org>
Sat, 8 Dec 2012 17:41:07 +0000 (18:41 +0100)
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

buildtools/wafsamba/samba_utils.py

index cab87a4dbba2f79c2683cf14a552aaa1d472dd50..c1ac7e29b21a4e8b2a889c8e81617bbfee7345e0 100644 (file)
@@ -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')