/usr/lib/ssl/engines subdirectory not packaged
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openssl (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: openssl
When I try to load an Engine usually bundled with OpenSSL, I get the complaint that the shared library containing the engine can't be loaded:
sctemme@
23449:error:
23449:error:
23449:error:
23449:error:
When I do the same in an OpenSSL build from source, I can load that Engine:
sctemme@
(chil) CHIL hardware engine support
[RSA, DH, RAND]
[ available ]
SO_PATH: Specifies the path to the 'hwcrhk' shared library
(input flags): STRING
FORK_CHECK: Turns fork() checking on (non-zero) or off (zero)
(input flags): NUMERIC
THREAD_
(input flags): NUMERIC
SET_
(input flags): [Internal]
SET_
(input flags): [Internal]
I have previously ensured that the underlying library that this Engine needs is available, but this is not germane to this issue.
sctemme@
libnfhwcrhk.so (libc6,x86-64) => /opt/nfast/
The source build has the Engine libraries under its lib/engines directory:
sctemme@
sctemme@
total 236
-r-xr-xr-x 1 sctemme sctemme 24932 2011-03-24 11:28 lib4758cca.so
-r-xr-xr-x 1 sctemme sctemme 24824 2011-03-24 11:28 libaep.so
-r-xr-xr-x 1 sctemme sctemme 20150 2011-03-24 11:28 libatalla.so
-r-xr-xr-x 1 sctemme sctemme 7762 2011-03-24 11:28 libcapi.so
-r-xr-xr-x 1 sctemme sctemme 31169 2011-03-24 11:28 libchil.so
-r-xr-xr-x 1 sctemme sctemme 29068 2011-03-24 11:28 libcswift.so
-r-xr-xr-x 1 sctemme sctemme 7761 2011-03-24 11:28 libgmp.so
-r-xr-xr-x 1 sctemme sctemme 19509 2011-03-24 11:28 libnuron.so
-r-xr-xr-x 1 sctemme sctemme 31296 2011-03-24 11:28 libsureware.so
-r-xr-xr-x 1 sctemme sctemme 25264 2011-03-24 11:28 libubsec.so
This directory is not present in the libssl package:
sctemme@
/.
/lib
/lib/libcrypto.
/lib/libssl.
/usr
/usr/share
/usr/share/doc
/usr/share/
/usr/share/
/usr/share/
/usr/share/
/usr/lib
/usr/lib/
/usr/lib/
When I build the Debian package from source, there is evidence of the Engines being built:
sctemme@
total 464
-rwxr-xr-x 1 sctemme sctemme 55249 2011-04-19 20:14 lib4758cca.so
-rwxr-xr-x 1 sctemme sctemme 51855 2011-04-19 20:14 libaep.so
-rwxr-xr-x 1 sctemme sctemme 41523 2011-04-19 20:14 libatalla.so
-rwxr-xr-x 1 sctemme sctemme 11624 2011-04-19 20:14 libcapi.so
-rwxr-xr-x 1 sctemme sctemme 65943 2011-04-19 20:14 libchil.so
-rwxr-xr-x 1 sctemme sctemme 62245 2011-04-19 20:14 libcswift.so
-rwxr-xr-x 1 sctemme sctemme 11623 2011-04-19 20:14 libgmp.so
-rwxr-xr-x 1 sctemme sctemme 39409 2011-04-19 20:14 libnuron.so
-rwxr-xr-x 1 sctemme sctemme 64985 2011-04-19 20:14 libsureware.so
-rwxr-xr-x 1 sctemme sctemme 52373 2011-04-19 20:14 libubsec.so
Could it be that when the OpenSSL project split out the Engine libraries into separate files, this move was not picked up by the rules file and the Engine libraries not copied into the package?
This is on Maverick x86_64.
This issue does not appear in Natty Narwhal:
sctemme@surtur:~$ /usr/bin/openssl engine -tt -vvvv -c chil LOCKING: Turns thread-safe locking on (zero) or off (non-zero) USER_INTERFACE: Set the global user interface (internal) CALLBACK_ DATA: Set the global user interface extra data (internal)
(chil) CHIL hardware engine support
[RSA, DH, RAND]
[ available ]
SO_PATH: Specifies the path to the 'hwcrhk' shared library
(input flags): STRING
FORK_CHECK: Turns fork() checking on (non-zero) or off (zero)
(input flags): NUMERIC
THREAD_
(input flags): NUMERIC
SET_
(input flags): [Internal]
SET_
(input flags): [Internal]
sctemme@ surtur: /opt/nfast/ toolkits$ dpkg -L libssl0.9.8 so.0.9. 8 so.0.9. 8 doc/libssl0. 9.8 doc/libssl0. 9.8/copyright doc/libssl0. 9.8/changelog. Debian. gz ssl/engines ssl/engines/ libchil. so <-- There's the one I need! ssl/engines/ libcswift. so ssl/engines/ lib4758cca. so ssl/engines/ libcapi. so ssl/engines/ libsureware. so ssl/engines/ libubsec. so ssl/engines/ libgmp. so ssl/engines/ libatalla. so ssl/engines/ libnuron. so ssl/engines/ libaep. so libcrypto. so.0.9. 8 libssl. so.0.9. 8
/.
/lib
/lib/libcrypto.
/lib/libssl.
/usr
/usr/share
/usr/share/doc
/usr/share/
/usr/share/
/usr/share/
/usr/lib
/usr/lib/ssl
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/