Bug 1808136

Summary: Missing symlink from libtpm2tss.so to tpm2tss.so
Product: [Fedora] Fedora Reporter: nicolasoliver03
Component: tpm2-tss-engineAssignee: Mathias Zavala <zvl.mathias>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: zvl.mathias
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tpm2-tss-engine-1.0.1-2.fc31 tpm2-tss-engine-1.0.1-2.fc32 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-12 21:55:37 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:

Description nicolasoliver03 2020-02-27 22:22:49 UTC
Description of problem:

Missing symlink from libtpm2tss.so to tpm2tss.so. The openssl engine cannot be selected with the -engine tpm2tss id.

Version-Release number of selected component (if applicable):

Latest

How reproducible:

Attempts to display engine information with the tpm2tss id fails


Steps to Reproduce:
1. dnf install tpm2-tss-engine
2. openssl engine -t -c tpm2tss

Actual results:

Engine tpm2tss not found

Expected results:

Engine information should be displayed

Additional info:

Reported to code owners in https://github.com/tpm2-software/tpm2-tss-engine/issues/162

Explanation from maintainer: OpenSSL 1.1 changed the file name it looks for for when trying to load the engine name from libname.so to just name.so, see https://github.com/openssl/openssl/commit/9ee0ed3de66678a15db126d10b3e4226e835b8f5. For this reason, tpm2-tss-engine creates a symlink from libtpm2tss.so to tpm2tss.so during installation (https://github.com/tpm2-software/tpm2-tss-engine/blob/2da48e4ceadc91a7198136309a81b8611327bdf3/Makefile.am#L83-L89) so that the given example code works with OpenSSL 1.0 and OpenSSL 1.1. It seems like a packaging error if the Fedora package does not create this symlink as well.

Comment 1 nicolasoliver03 2020-02-28 15:31:31 UTC
Additional info from maintainer: 

@dnoliver I think I found the issue in the spec file https://copr-be.cloud.fedoraproject.org/results/mzavalavz/tpm2-tss-engine/fedora-31-x86_64/01138511-tpm2-tss-engine/tpm2-tss-engine.spec

tpm2tss.so is listed under %files devel for the devel package instead of the main package.

Hope this helps.

Comment 2 Mathias Zavala 2020-02-29 13:32:29 UTC
Thanks a lot for the report. I'll work on the fix

Comment 3 Mathias Zavala 2020-03-02 16:55:54 UTC
The spec file has been updated, it should work as expected now

Comment 4 Fedora Update System 2020-03-02 21:57:51 UTC
FEDORA-2020-7878fb1117 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-7878fb1117

Comment 5 Fedora Update System 2020-03-02 22:18:37 UTC
FEDORA-2020-216608bd2c has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-216608bd2c

Comment 6 Fedora Update System 2020-03-03 16:10:14 UTC
tpm2-tss-engine-1.0.1-2.fc32 has been pushed to the Fedora 32 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-7878fb1117

Comment 7 Fedora Update System 2020-03-03 20:28:14 UTC
tpm2-tss-engine-1.0.1-2.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-216608bd2c

Comment 8 nicolasoliver03 2020-03-09 18:44:53 UTC
Works great!

[root@fedora-server-1 yum.repos.d]# rpm -qa tpm2-tss-engine
tpm2-tss-engine-1.0.1-2.fc31.x86_64

[root@fedora-server-1 yum.repos.d]# find /usr/ | grep tpm2tss
/usr/lib64/engines-1.1/libtpm2tss.so
/usr/lib64/engines-1.1/tpm2tss.so

[root@fedora-server-1 yum.repos.d]# openssl engine -t -c tpm2tss
(tpm2tss) TPM2-TSS engine for OpenSSL
 [RSA, RAND]
     [ available ]

Thank you!

Comment 9 Fedora Update System 2020-03-12 21:55:37 UTC
tpm2-tss-engine-1.0.1-2.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2020-03-16 20:20:09 UTC
tpm2-tss-engine-1.0.1-2.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2020-03-16 20:31:49 UTC
tpm2-tss-engine-1.0.1-2.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.