From 9a4c5ae83fa85074dd2fa7d2df9eb9e43d22e7ab Mon Sep 17 00:00:00 2001 From: Jeef Date: Thu, 12 Oct 2023 06:20:13 -0600 Subject: [PATCH] FIPS attempt --- src/poetry/publishing/uploader.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/poetry/publishing/uploader.py b/src/poetry/publishing/uploader.py index e4d50888f7f..40a09967151 100644 --- a/src/poetry/publishing/uploader.py +++ b/src/poetry/publishing/uploader.py @@ -115,15 +115,23 @@ def post_data(self, file: Path) -> dict[str, Any]: blake2_256_hash = hashlib.blake2b(digest_size=256 // 8) - md5_hash = hashlib.md5() + md5_hash = None + try: + md5_hash = hashlib.md5() + except ValueError: + md5_hash = None + + md5_update = getattr(md5_hash, "update", lambda *args: None) + md5_hexdigest = getattr(md5_hash, "hexdigest", lambda: None) sha256_hash = hashlib.sha256() + with file.open("rb") as fp: for content in iter(lambda: fp.read(io.DEFAULT_BUFFER_SIZE), b""): - md5_hash.update(content) + md5_update(content) sha256_hash.update(content) blake2_256_hash.update(content) - md5_digest = md5_hash.hexdigest() + md5_digest = md5_hexdigest() sha2_digest = sha256_hash.hexdigest() blake2_256_digest = blake2_256_hash.hexdigest()