Bug 1059821

Summary: Unable to load bundled plugins
Product: Red Hat Enterprise Linux 7 Reporter: Nalin Dahyabhai <nalin>
Component: opencryptokiAssignee: Jakub Jelen <jjelen>
Status: CLOSED ERRATA QA Contact: Karel Srot <ksrot>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.0CC: bugproxy, hannsj_uhl, ksrot, nmavrogi
Target Milestone: rc   
Target Release: 7.3   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: opencryptoki-3.5-3.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 00:30:52 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: 1230910    

Description Nalin Dahyabhai 2014-01-30 18:26:15 UTC
Description of problem:
Unresolvable symbols make the package's plugins not loadable.

Version-Release number of selected component (if applicable):
opencryptoki-3.0-9.el7.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Start the pkcsslotd service.
2. Run "pkcs11-tool --module=/usr/lib64/pkcs11/PKCS11_API.so -L".
3. Examine the system logs using "journalctl -xn" or directly.

Actual results:
Available slots:
No slots.
... and in /var/log/messages:
Jan 30 13:20:27 pillbox pkcs11-tool: tpm_specific.c mkdir(/var/lock/opencryptoki/tpm/nalin): No such file or directory
Jan 30 13:20:27 pillbox pkcs11-tool: apiutil.c DL_Load: dlopen() failed for [libpkcs11_ica.so]; dlerror = [libpkcs11_ica.so: cannot open shared object file: No such file or directory]
Jan 30 13:20:27 pillbox pkcs11-tool: apiutil.c DL_Load: dlopen() failed for [libpkcs11_cca.so]; dlerror = [libpkcs11_cca.so: cannot open shared object file: No such file or directory]
Jan 30 13:20:27 pillbox pkcs11-tool: ../common/utility.c open(/var/lock/opencryptoki/swtok/LCK..swtok): No such file or directory
Jan 30 13:20:27 pillbox pkcs11-tool: apiutil.c DL_Load: dlopen() failed for [F[#005]; dlerror = [F[#005: cannot open shared object file: No such file or directory]

Expected results:
Available slots:
Slot 0 (0x0): Linux
  token label        : 
  token manufacturer : 
  token model        :  
  token flags        : PIN pad present, token initialized, user PIN count low, other flags=0x8a4832d0
  hardware version   : 1.0
  firmware version   : 0.0
  serial num         : 
Slot 1 (0x3): Linux
  token label        : 
  token manufacturer : 
  token model        :  
  token flags        : PIN pad present, token initialized, user PIN count low, other flags=0x8a4832d0
  hardware version   : 1.0
  firmware version   : 0.0
  serial num         : 

Comment 2 Petr Lautrbach 2014-02-07 11:31:47 UTC
opencryptoki package was split and the plugins are now in subpackages:

opencryptoki-ccatok.s390x : CCA cryptographic devices (secure-key) support for
opencryptoki-icatok.s390x : ICA cryptographic devices (clear-key) support for
opencryptoki-icsftok.s390x : ICSF token support for opencryptoki
opencryptoki-swtok.s390x : The software token implementation for opencryptoki
opencryptoki-tpmtok.s390x : Trusted Platform Module (TPM) device support for

Installing all the sub-packages should solve this issue.

Comment 3 Petr Lautrbach 2014-02-21 09:37:40 UTC
I'm postponing this for rhel-7.1.0. It's expected behaviour but messages could be more informative.

Comment 7 Jakub Jelen 2016-04-25 15:38:50 UTC
I don't think it is an issue any more. Currently main opencryptoki package

  Requires:       %{name}(token)

and libraries

  Provides:       %{name}(token)

which means that you need to have at least one token installed with opencryptoki package (swtok usually).

It was added in [1], and fixed with bug #904986 years ago. Can you please verify if it works?


[1] http://pkgs.devel.redhat.com/cgit/rpms/opencryptoki/commit/?id=6294303b305c1941009d0695485eca48810b4f81

Comment 8 Jakub Jelen 2016-04-25 16:16:07 UTC
Ok, the logs in the journal are a bit annoying. But  dlopen()  does not give us any guide why the action failed, except the string returned from  dlerror().

The only thing we can do about it from my current understanding is to make it more silent in the logs. Instead of LOG_ERR (which it is not), LOG_WARNING or LOG_NOTICE should be appropriate. I will send mail upstream to check if it is appropriate solution.

Comment 9 Jakub Jelen 2016-06-28 10:28:19 UTC
FYI, this was fixed in upstream (removing Cond NACK):

https://sourceforge.net/p/opencryptoki/opencryptoki/ci/786b6a4223119501f4aa7faf5a413c1ba10e38f6/

But I just finished a build for rhel-7.3. If we will do one more respin, I will cover also this fix. Otherwise it will be in the

Comment 14 errata-xmlrpc 2016-11-04 00:30:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2212.html