From acdf8a62f640efd8f6a356f72efec7397f9372a5 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Fri, 26 Jul 2013 13:16:10 +0200 Subject: [PATCH] use symbol versioning also for the textual version - additional manual page fix --- openssl-1.0.1-version.patch | 43 ------------------------ openssl-1.0.1e-version.patch | 63 ++++++++++++++++++++++++++++++++++++ openssl.spec | 8 +++-- 3 files changed, 69 insertions(+), 45 deletions(-) delete mode 100644 openssl-1.0.1-version.patch create mode 100644 openssl-1.0.1e-version.patch diff --git a/openssl-1.0.1-version.patch b/openssl-1.0.1-version.patch deleted file mode 100644 index 831aa61..0000000 --- a/openssl-1.0.1-version.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up openssl-1.0.1/crypto/cversion.c.version openssl-1.0.1/crypto/cversion.c ---- openssl-1.0.1/crypto/cversion.c.version 2004-04-19 20:09:22.000000000 +0200 -+++ openssl-1.0.1/crypto/cversion.c 2012-03-14 20:58:20.630352536 +0100 -@@ -110,8 +110,15 @@ const char *SSLeay_version(int t) - return("not available"); - } - --unsigned long SSLeay(void) -+unsigned long _original_SSLeay(void) -+ { -+ return(0x10000003); -+ } -+ -+unsigned long _current_SSLeay(void) - { - return(SSLEAY_VERSION_NUMBER); - } - -+__asm__(".symver _original_SSLeay,SSLeay@"); -+__asm__(".symver _current_SSLeay,SSLeay@@OPENSSL_1.0.1"); -diff -up openssl-1.0.1/Makefile.shared.version openssl-1.0.1/Makefile.shared ---- openssl-1.0.1/Makefile.shared.version 2012-03-14 20:58:20.553350959 +0100 -+++ openssl-1.0.1/Makefile.shared 2012-03-14 20:58:20.631352556 +0100 -@@ -151,7 +151,7 @@ DO_GNU_SO=$(CALC_VERSIONS); \ - SHLIB_SUFFIX=; \ - ALLSYMSFLAGS='-Wl,--whole-archive'; \ - NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ -- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" -+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--default-symver,--version-script=version.map -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" - - DO_GNU_APP=LDFLAGS="$(CFLAGS)" - -diff -up openssl-1.0.1/version.map.version openssl-1.0.1/version.map ---- openssl-1.0.1/version.map.version 2012-03-14 20:58:20.631352556 +0100 -+++ openssl-1.0.1/version.map 2012-03-14 20:58:20.631352556 +0100 -@@ -0,0 +1,7 @@ -+OPENSSL_1.0.1 { -+ global: -+ SSLeay; -+ local: -+ _original*; -+ _current*; -+}; diff --git a/openssl-1.0.1e-version.patch b/openssl-1.0.1e-version.patch new file mode 100644 index 0000000..e73f2c9 --- /dev/null +++ b/openssl-1.0.1e-version.patch @@ -0,0 +1,63 @@ +diff -up openssl-1.0.1e/crypto/cversion.c.version openssl-1.0.1e/crypto/cversion.c +--- openssl-1.0.1e/crypto/cversion.c.version 2013-02-11 16:02:47.000000000 +0100 ++++ openssl-1.0.1e/crypto/cversion.c 2013-07-26 12:28:12.739161925 +0200 +@@ -62,7 +62,7 @@ + #include "buildinf.h" + #endif + +-const char *SSLeay_version(int t) ++const char *_current_SSLeay_version(int t) + { + if (t == SSLEAY_VERSION) + return OPENSSL_VERSION_TEXT; +@@ -110,8 +110,25 @@ const char *SSLeay_version(int t) + return("not available"); + } + +-unsigned long SSLeay(void) ++const char *_original_SSLeay_version(int t) ++ { ++ if (t == SSLEAY_VERSION) ++ return "OpenSSL 1.0.0-fips 29 Mar 2010"; ++ else ++ return _current_SSLeay_version(t); ++ } ++ ++unsigned long _original_SSLeay(void) ++ { ++ return(0x10000003); ++ } ++ ++unsigned long _current_SSLeay(void) + { + return(SSLEAY_VERSION_NUMBER); + } + ++__asm__(".symver _original_SSLeay,SSLeay@"); ++__asm__(".symver _original_SSLeay_version,SSLeay_version@"); ++__asm__(".symver _current_SSLeay,SSLeay@@OPENSSL_1.0.1"); ++__asm__(".symver _current_SSLeay_version,SSLeay_version@@OPENSSL_1.0.1"); +diff -up openssl-1.0.1e/Makefile.shared.version openssl-1.0.1e/Makefile.shared +--- openssl-1.0.1e/Makefile.shared.version 2013-07-26 12:23:43.615545603 +0200 ++++ openssl-1.0.1e/Makefile.shared 2013-07-26 12:23:43.701547398 +0200 +@@ -151,7 +151,7 @@ DO_GNU_SO=$(CALC_VERSIONS); \ + SHLIB_SUFFIX=; \ + ALLSYMSFLAGS='-Wl,--whole-archive'; \ + NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ +- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" ++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--default-symver,--version-script=version.map -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" + + DO_GNU_APP=LDFLAGS="$(CFLAGS)" + +diff -up openssl-1.0.1e/version.map.version openssl-1.0.1e/version.map +--- openssl-1.0.1e/version.map.version 2013-07-26 12:23:43.701547398 +0200 ++++ openssl-1.0.1e/version.map 2013-07-26 12:29:10.698371472 +0200 +@@ -0,0 +1,8 @@ ++OPENSSL_1.0.1 { ++ global: ++ SSLeay; ++ SSLeay_version; ++ local: ++ _original*; ++ _current*; ++}; diff --git a/openssl.spec b/openssl.spec index 823c627..083a648 100644 --- a/openssl.spec +++ b/openssl.spec @@ -21,7 +21,7 @@ Summary: Utilities from the general purpose cryptography library with TLS implementation Name: openssl Version: 1.0.1e -Release: 12%{?dist} +Release: 13%{?dist} Epoch: 1 # We have to remove certain patented algorithms from the openssl source # tarball with the hobble-openssl script which is included below. @@ -59,7 +59,7 @@ Patch45: openssl-1.0.1e-env-zlib.patch Patch47: openssl-1.0.0-beta5-readme-warning.patch Patch49: openssl-1.0.1a-algo-doc.patch Patch50: openssl-1.0.1-beta2-dtls1-abi.patch -Patch51: openssl-1.0.1-version.patch +Patch51: openssl-1.0.1e-version.patch Patch56: openssl-1.0.0c-rsa-x931.patch Patch58: openssl-1.0.1-beta2-fips-md5-allow.patch Patch60: openssl-1.0.0d-apps-dgst.patch @@ -441,6 +441,10 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/fipscanister.* %postun libs -p /sbin/ldconfig %changelog +* Fri Jul 26 2013 Tomas Mraz 1.0.1e-13 +- additional manual page fix +- use symbol versioning also for the textual version + * Thu Jul 25 2013 Tomas Mraz 1.0.1e-12 - additional manual page fixes