Bug 1715243

Summary: m2crypto fails to build with OpenSSL in F31/Rawhide
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: m2cryptoAssignee: Neal Gompa <ngompa13>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: gholms, mcepl, mitr
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: m2crypto-0.35.2-1.fc30 m2crypto-0.35.2-1.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-26 04:07:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1700317, 1686977, 1732841    

Description Miro Hrončok 2019-05-29 22:37:09 UTC
m2crypto 0.32.0-1.fc31 fails to build with Python 3.8.0a4:


======================================================================
ERROR: test_rsa_exceptions (tests.test_rsa.RSATestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/M2Crypto-0.32.0/tests/test_rsa.py", line 49, in test_rsa_exceptions
    RSA.rsa_error()
  File "/builddir/build/BUILD/M2Crypto-0.32.0/M2Crypto/RSA.py", line 330, in rsa_error
    raise RSAError(Err.get_error_message())
  File "/builddir/build/BUILD/M2Crypto-0.32.0/M2Crypto/Err.py", line 48, in get_error_message
    return six.ensure_text(get_error_reason(get_error_code()))
  File "/builddir/build/BUILD/M2Crypto-0.32.0/M2Crypto/Err.py", line 43, in get_error_reason
    return six.ensure_text(m2.err_reason_error_string(err))
  File "/builddir/build/BUILD/M2Crypto-0.32.0/M2Crypto/six.py", line 906, in ensure_text
    raise TypeError("not expecting type '%s'" % type(s))
TypeError: not expecting type '<type 'NoneType'>'

======================================================================
FAIL: test_public_encrypt (tests.test_rsa.RSATestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/M2Crypto-0.32.0/tests/test_rsa.py", line 128, in test_public_encrypt
    priv.private_decrypt(ctxt, RSA.sslv23_padding)
AssertionError: RSAError not raised

----------------------------------------------------------------------
Ran 296 tests in 92.063s

FAILED (failures=1, errors=1, skipped=1)

Full logs at https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/m2crypto/

Comment 1 Neal Gompa 2019-05-29 23:19:22 UTC
This failure occurs even with Python 3.7. It's pretty much something has broken between OpenSSL and M2Crypto again...

Comment 2 Neal Gompa 2019-05-29 23:44:54 UTC
This failure occurs with 0.33.0 on Rawhide too: https://koji.fedoraproject.org/koji/taskinfo?taskID=35136689

Comment 3 Matěj Cepl 2019-06-08 08:40:17 UTC
What you want is M2Crypto 0.35.1 (or higher).

Comment 4 Neal Gompa 2019-06-09 01:30:19 UTC
(In reply to Matěj Cepl from comment #3)
> What you want is M2Crypto 0.35.1 (or higher).

Frustratingly, 0.35.1 doesn't work either...

When I build locally on Rawhide now, I get the following error:


======================================================================
ERROR: test_public_encrypt (tests.test_rsa.RSATestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/M2Crypto-0.35.1/tests/test_rsa.py", line 134, in test_public_encrypt
    priv.public_encrypt(self.data, RSA.no_padding)
  File "/builddir/build/BUILD/M2Crypto-0.35.1/M2Crypto/RSA.py", line 67, in public_encrypt
    return m2.rsa_public_encrypt(self.rsa, data, padding)
RSAError: data too small for key size

----------------------------------------------------------------------
Ran 297 tests in 71.041s

FAILED (errors=1, skipped=1)
Test failed: <unittest.runner.TextTestResult run=297 errors=1 failures=0>


Matěj, any idea what's going on here?

Comment 5 Matěj Cepl 2019-06-09 05:39:28 UTC
Yes, Sebastian Andrzej Siewior from Debian (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929903) discovered another problem and it has been fixed in yet unreleased commit https://gitlab.com/m2crypto/m2crypto/commit/3ee65bd56e92f8f3c465947b6752d92d5986dc81.

Comment 7 Fedora Update System 2019-06-25 02:47:43 UTC
FEDORA-2019-79f7935107 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-79f7935107

Comment 8 Fedora Update System 2019-06-26 04:07:00 UTC
m2crypto-0.35.2-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2019-06-26 04:11:04 UTC
m2crypto-0.35.2-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.