The mbedtls backend was only one of several optional cryptography backends
supported by unicrypto. The package already implements a complete backend
using python3-cryptography (unicrypto/backends/cryptography/), which covers
all supported ciphers: AES, DES, TDES and RC4.

The backend selection logic in unicrypto/__init__.py uses a preference table
that already lists 'cryptography' before 'mbedtls', so removing the mbedtls
backend causes no functional regression — the cryptography backend is
silently selected instead.

To fix the RC bug #1090176, three patches have been applied:

 - 001-remove-mbedtls-backend.patch: removes mbedtls from pref_to_module
   and preftable in unicrypto/__init__.py, so it is no longer attempted
   as a backend.

 - 002-remove-unavailable-backend-tests.patch: removes test functions that
   reference mbedtls, pycryptodome, pycryptodomex and pycrypto backends
   directly at module collection time, which caused ModuleNotFoundError
   during pytest collection in the Debian build environment.

 - 003-fix-cryptography-deprecation.patch: updates the cryptography backend
   to import ARC4 and TripleDES from cryptography.hazmat.decrepit, where
   they were moved since python3-cryptography 43.0.0, avoiding
   DeprecationWarning and ensuring forward compatibility with version 48.0.0
   which will remove them from the old location.


Nilson F. Silva

Reply via email to