Blob Blame History Raw
From 81b8370844f5aecaee5e7178d82670c70399d824 Mon Sep 17 00:00:00 2001
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
Date: Mon, 24 Jul 2017 16:12:15 +0200
Subject: [PATCH] fence_scsi: add FIPS support

---
 fence/agents/scsi/fence_scsi.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/fence/agents/scsi/fence_scsi.py b/fence/agents/scsi/fence_scsi.py
index 37ff1d38..3ebe6513 100644
--- a/fence/agents/scsi/fence_scsi.py
+++ b/fence/agents/scsi/fence_scsi.py
@@ -182,7 +182,16 @@ def get_cluster_id(options):
 	cmd = options["--corosync-cmap-path"] + " totem.cluster_name"
 
 	match = re.search(r"\(str\) = (\S+)\n", run_cmd(options, cmd)["out"])
-	return hashlib.md5(match.group(1)).hexdigest() if match else fail_usage("Failed: cannot get cluster name")
+
+	if not match:
+		fail_usage("Failed: cannot get cluster name")
+
+	try:
+		return hashlib.md5(match.group(1)).hexdigest()
+	except ValueError:
+		# FIPS requires usedforsecurity=False and might not be
+		# available on all distros: https://bugs.python.org/issue9216
+		return hashlib.md5(match.group(1), usedforsecurity=False).hexdigest()
 
 
 def get_node_id(options):