django1/django/core/cache/backends
Ade Lee d10c7bfe56 Fixed #28401 -- Allowed hashlib.md5() calls to work with FIPS kernels.
md5 is not an approved algorithm in FIPS mode, and trying to instantiate
a hashlib.md5() will fail when the system is running in FIPS mode.

md5 is allowed when in a non-security context. There is a plan to add a
keyword parameter (usedforsecurity) to hashlib.md5() to annotate whether
or not the instance is being used in a security context.

In the case where it is not, the instantiation of md5 will be allowed.
See https://bugs.python.org/issue9216 for more details.

Some downstream python versions already support this parameter. To
support these versions, a new encapsulation of md5() has been added.
This encapsulation will pass through the usedforsecurity parameter in
the case where the parameter is supported, and strip it if it is not.

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-10-12 08:58:27 +02:00
..
__init__.py Refactored cache from django/core/cache.py into django/core/cache package, with each backend getting a separate module. This keeps things cleaner and uses less memory, because the backend module is only loaded if it's needed. 2006-02-24 06:07:01 +00:00
base.py Fixed #32076 -- Added async methods to BaseCache. 2021-09-07 20:14:25 +02:00
db.py Fixed #33060 -- Added BaseCache.make_and_validate_key() hook. 2021-09-07 11:59:59 +02:00
dummy.py Fixed #33060 -- Added BaseCache.make_and_validate_key() hook. 2021-09-07 11:59:59 +02:00
filebased.py Fixed #28401 -- Allowed hashlib.md5() calls to work with FIPS kernels. 2021-10-12 08:58:27 +02:00
locmem.py Fixed #33060 -- Added BaseCache.make_and_validate_key() hook. 2021-09-07 11:59:59 +02:00
memcached.py Refs #32193 -- Removed MemcachedCache per deprecation timeline. 2021-09-20 21:23:01 +02:00
redis.py Fixed #33012 -- Added Redis cache backend. 2021-09-14 15:50:08 +02:00