Bug 841497

Summary: X509_subject_name_hash_old doesn't exist in RHEL7
Product: Red Hat Enterprise Linux 7 Reporter: Miroslav Vadkerti <mvadkert>
Component: opensslAssignee: Tomas Mraz <tmraz>
Status: CLOSED NOTABUG QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.0Keywords: Reopened
Target Milestone: beta   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-07-19 11:08:13 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 Miroslav Vadkerti 2012-07-19 07:59:31 UTC
Description of problem:
During regression testing I found that there seems to be a typo in openssl X509_subject_name_hash_old symbol name. According to readelf the symbol ends with _ol not _old:

# readelf --symbols /lib64/libcrypto.so.10 | grep X509_subject_name_hash_
  1341: 0000004b177f399c    26 FUNC    GLOBAL DEFAULT   12 X509_subject_name_hash_ol@@libcrypto.so.10


Version-Release number of selected component (if applicable):
openssl-1.0.1c-1.el7

How reproducible:
100%

Steps to Reproduce:
1. readelf --symbols /lib64/libcrypto.so.10 | grep X509_subject_name_hash_old 
  
Actual results:
No symbol found

Expected results:
X509_subject_name_hash_old exists and works well

Additional info:

Comment 1 Tomas Mraz 2012-07-19 08:51:29 UTC
The names are truncated in the readelf output.

Comment 2 Miroslav Vadkerti 2012-07-19 10:59:45 UTC
That is possible, anyway the function seems to be missing. Had it been deprecated??

/bin/ld: /tmp/cc6Ic736.o: undefined reference to symbol 'X509_subject_name_hash_old@@libcrypto.so.10'
/bin/ld: note: 'X509_subject_name_hash_old@@libcrypto.so.10' is defined in DSO /lib64/libcrypto.so.10 so try adding it to the linker command line
/lib64/libcrypto.so.10: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
:: [   FAIL   ] :: Running 'gcc -lssl -o./bz568395 bz568395.c' (Expected 0, got 1)

Comment 3 Tomas Mraz 2012-07-19 11:08:13 UTC
That's a buggy gcc command line. You need -lcrypto.

Comment 4 Miroslav Vadkerti 2012-07-19 11:14:14 UTC
Thanks!