From 0f409981d2fab5fdfb3256de05857352ac13cbc4 Mon Sep 17 00:00:00 2001 From: Adam McNevin Date: Wed, 3 Dec 2025 11:29:47 -0800 Subject: [PATCH] update md5 fips compliance --- plone/app/blocks/layoutbehavior.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plone/app/blocks/layoutbehavior.py b/plone/app/blocks/layoutbehavior.py index 3c8349d..31d4644 100644 --- a/plone/app/blocks/layoutbehavior.py +++ b/plone/app/blocks/layoutbehavior.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from hashlib import md5 +import hashlib import logging from lxml import html @@ -83,7 +83,15 @@ class ILayoutAware(model.Schema): alsoProvides(ILayoutAware['sectionSiteLayout'], IOmittedField) -@cache(lambda fun, path, resolved: md5(resolved).hexdigest()) +def md5_fips(data): + try: + return hashlib.new('md5', data, usedforsecurity=False) + except TypeError: + # in case FIPS is not supported + return hashlib.md5(data) + + +@cache(lambda fun, path, resolved: md5_fips(resolved).hexdigest()) def applyTilePersistent(path, resolved): """Append X-Tile-Persistent into resolved layout's tile URLs to allow context specific tile configuration overrides.