diff --git a/lower-constraints.txt b/lower-constraints.txt index 04af416aa660..5702e8b020bc 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -83,7 +83,7 @@ oslo.rootwrap==5.8.0 oslo.serialization==2.21.1 oslo.service==1.40.1 oslo.upgradecheck==0.1.1 -oslo.utils==4.5.0 +oslo.utils==4.7.0 oslo.versionedobjects==1.35.0 oslo.vmware==2.17.0 oslotest==3.8.0 diff --git a/nova/privsep/fs.py b/nova/privsep/fs.py index 0c1cc94dc423..b5506449c63e 100644 --- a/nova/privsep/fs.py +++ b/nova/privsep/fs.py @@ -17,11 +17,11 @@ Helpers for filesystem related routines. """ -import hashlib import six from oslo_concurrency import processutils from oslo_log import log as logging +from oslo_utils.secretutils import md5 import nova.privsep @@ -284,7 +284,7 @@ def _get_hash_str(base_str): """ if isinstance(base_str, six.text_type): base_str = base_str.encode('utf-8') - return hashlib.md5(base_str).hexdigest() + return md5(base_str, usedforsecurity=False).hexdigest() def get_file_extension_for_os_type(os_type, default_ephemeral_format, diff --git a/nova/tests/unit/test_utils.py b/nova/tests/unit/test_utils.py index 5b8df06dae5d..e442543aaf29 100644 --- a/nova/tests/unit/test_utils.py +++ b/nova/tests/unit/test_utils.py @@ -13,7 +13,6 @@ # under the License. import datetime -import hashlib import os import os.path import tempfile @@ -31,6 +30,7 @@ from oslo_context import context as common_context from oslo_context import fixture as context_fixture from oslo_utils import encodeutils from oslo_utils import fixture as utils_fixture +from oslo_utils.secretutils import md5 import six from nova import context @@ -204,7 +204,7 @@ class GenericUtilsTestCase(test.NoDBTestCase): def test_get_hash_str(self): base_str = b"foo" base_unicode = u"foo" - value = hashlib.md5(base_str).hexdigest() + value = md5(base_str, usedforsecurity=False).hexdigest() self.assertEqual( value, utils.get_hash_str(base_str)) self.assertEqual( diff --git a/nova/utils.py b/nova/utils.py index 9ee45d7ad08d..116bd491457f 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -43,6 +43,7 @@ import oslo_messaging as messaging from oslo_utils import encodeutils from oslo_utils import excutils from oslo_utils import importutils +from oslo_utils.secretutils import md5 from oslo_utils import strutils from oslo_utils import timeutils import six @@ -785,7 +786,7 @@ def get_hash_str(base_str): """ if isinstance(base_str, six.text_type): base_str = base_str.encode('utf-8') - return hashlib.md5(base_str).hexdigest() + return md5(base_str, usedforsecurity=False).hexdigest() def get_sha256_str(base_str): diff --git a/requirements.txt b/requirements.txt index e62366561eee..ccf10aa7b9a2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -40,7 +40,7 @@ oslo.log>=3.36.0 # Apache-2.0 oslo.reports>=1.18.0 # Apache-2.0 oslo.serialization!=2.19.1,>=2.21.1 # Apache-2.0 oslo.upgradecheck>=0.1.1 -oslo.utils>=4.5.0 # Apache-2.0 +oslo.utils>=4.7.0 # Apache-2.0 oslo.db>=4.44.0 # Apache-2.0 oslo.rootwrap>=5.8.0 # Apache-2.0 oslo.messaging>=10.3.0 # Apache-2.0