Recommended update for python-M2Crypto

Announcement ID: SUSE-RU-2025:20338-1
Release Date: May 22, 2025, 7:42 a.m.
Rating: moderate
References:
Affected Products:
  • SUSE Linux Micro 6.0

An update that has four fixes can now be installed.

Description:

This update for python-M2Crypto fixes the following issues:

Update to 0.44.0:

- fix(rsa): introduce internal cache for rsa.check_key()
  (bsc#1236664, srht#mcepl/m2crypto#369)
- fix[authcookie]: modernize the module
- fix(_lib): add missing #include for windows
- ci: relax fedora crypto policy to legacy.
- enhance setup.py for macos compatibility
- prefer packaging.version over distutils.version
- fix segfault with openssl 3.4.0
- fix[ec]: raise ioerror instead when load_key_bio() cannot read
  the file.
- doc: update installation instructions for windows.
- fix setting x509.verify_* variables
- fix building against openssl in non-standard location
- test_x509: use only x509_version_1 (0) as version for csr.

Update to 0.43.0:

  • feat[m2]: add m2.time_t_bits to checking for 32bitness.
  • fix[tests]: Use only X509_VERSION_1 (0) as version for CSR.
  • fix[EC]: raise ValueError when load_key_bio() cannot read the file (bsc#1231589).
  • ci: use -mpip wheel instead of -mbuild
  • fix: use PyMem_Malloc() instead of malloc()
  • fix[hints]: more work on conversion of type hints to the py3k ones
  • fix: make the package build even on Python 3.6
  • ci[local]: skip freezing local tests
  • fix[hints]: remove AnyStr type
  • test: add suggested test for RSA.{get,set}_ex_data
  • fix: implement interfaces for RSA_{get,set}ex_new
  • fix: generate src/SWIG/x509_v_flag.h to overcome weaknesses of swig
  • fix: replace literal enumeration of all VERIFY_ constants by a cycle
  • test: unify various test cases in test_ssl related to ftpslib
  • fix: replace deprecated url keyword in setup.cfg with complete project_urls map

Update 0.42.0:

  • allow ASN1_{Integer,String} be initialized directly
  • minimal infrastructure for type hints for a C extension and some type hints for some basic modules
  • time_t on 32bit Linux is 32bit (integer) not 64bit (long)
  • EOS for CentOS 7
  • correct checking for OpenSSL version number on Windows
  • make compatible with Python 3.13 (replace PyEval_CallObject with PyObject_CallObject)
  • fix typo in extern function signature (and proper type of engine_ctrl_cmd_string())
  • move the package to Sorucehut
  • setup CI to use Sourcehut CI
  • setup CI on GitLab for Windows as well (remove Appveyor)
  • initial draft of documentation for migration to pyca/cryptography
  • fix Read the Docs configuration (contributed kindly by Facundo Tuesca)

Update to 0.40.0:

  • BREAKING CHANGES:
    • There are no SWIG generated files (src/SWIG/_m2crytpo_wrap.c) included anymore, so swig must be installed, no exceptions! Also, for compatibility with Python 3.12+, swig 4.0+ is required.
    • All support for asyncore has been removed, as it has been removed in Python 3.12 as well (which means also removal of contrib/dispatcher.py, M2Crypto/SSL/ssl_dispatcher.py, ZServerSSL).
    • All use of distutils (including the bundled ones in setuptools) has been removed, so setup.py clean is no more.
    • Excessively complicated and error-prone __init__py has been cleaned and import M2Crypto doesn’t include everything anymore. Imports should specified as for example with from M2Crypto import foo.
  • ASN1_Time handling has been mostly rewritten and it almost works even on Windows.
  • All tests in Gitlab CI (with exceptions of some skipped tests especially on Windows) are now green, tests of Python 2.7 on CentOS 7 have been included.
  • Introduce m2.err_clear_error()
  • Make X509_verify_cert() accessible as m2.x509_verify_cert

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE Linux Micro 6.0
    zypper in -t patch SUSE-SLE-Micro-6.0-334=1

Package List:

  • SUSE Linux Micro 6.0 (aarch64 s390x x86_64)
    • python-M2Crypto-debugsource-0.44.0-1.1
    • python311-M2Crypto-debuginfo-0.44.0-1.1
    • python311-M2Crypto-0.44.0-1.1

References: