diff --git a/.gitignore b/.gitignore index f82a3fa..895e390 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ openssl-1.0.0a-usa.tar.bz2 /openssl-1.0.0d-usa.tar.bz2 +/openssl-1.0.1c-usa.tar.xz diff --git a/hobble-openssl b/hobble-openssl index a8be844..4ca7eab 100755 --- a/hobble-openssl +++ b/hobble-openssl @@ -5,31 +5,37 @@ set -e # Clean out patent-or-otherwise-encumbered code. # MDC-2: 4,908,861 13/03/2007 - expired, we do not remove it but do not enable it anyway -# IDEA: 5,214,703 07/01/2012 +# IDEA: 5,214,703 07/01/2012 - expired, we do not remove it anymore # RC5: 5,724,428 01/11/2015 # EC: ????????? ??/??/2020 +# SRP: ????????? ??/??/20?? # Remove assembler portions of IDEA, MDC2, and RC5. -(find crypto/{idea,rc5}/asm -type f | xargs -r rm -fv) +(find crypto/rc5/asm -type f | xargs -r rm -fv) -# IDEA, MDC2, RC5, EC. -for a in idea rc5 ec ecdh ecdsa; do +# RC5, EC, SRP. +for a in rc5 ec ecdh ecdsa srp; do for c in `find crypto/$a -name "*.c" -a \! -name "*test*" -type f` ; do echo Destroying $c > $c done done -for c in `find crypto/evp -name "*_rc5.c" -o -name "*_idea.c" -o -name "*_ecdsa.c"`; do +for c in `find crypto/evp -name "*_rc5.c" -o -name "*_ecdsa.c"`; do + echo Destroying $c + > $c +done + +for c in `find crypto/bn -name "*gf2m.c"`; do echo Destroying $c > $c done for h in `find crypto ssl apps test -name "*.h"` ; do - echo Removing IDEA, RC5, and EC references from $h + echo Removing RC5, SRP and EC references from $h cat $h | \ awk 'BEGIN {ech=1;} \ - /^#[ \t]*ifndef.*NO_IDEA/ {ech--; next;} \ + /^#[ \t]*ifndef.*NO_SRP/ {ech--; next;} \ /^#[ \t]*ifndef.*NO_RC5/ {ech--; next;} \ /^#[ \t]*ifndef.*NO_EC/ {ech--; next;} \ /^#[ \t]*ifndef.*NO_ECDH/ {ech--; next;} \ diff --git a/mingw-openssl.spec b/mingw-openssl.spec index 9cf9891..6a7d513 100644 --- a/mingw-openssl.spec +++ b/mingw-openssl.spec @@ -1,8 +1,5 @@ %?mingw_package_header -%global mingw_build_win32 1 -%global mingw_build_win64 1 - # For the curious: # 0.9.5a soversion = 0 # 0.9.6 soversion = 1 @@ -26,8 +23,8 @@ %global thread_test_threads %{?threads:%{threads}}%{!?threads:1} Name: mingw-openssl -Version: 1.0.0d -Release: 7%{?dist} +Version: 1.0.1c +Release: 1%{?dist} Summary: MinGW port of the OpenSSL toolkit License: OpenSSL @@ -36,7 +33,7 @@ URL: http://www.openssl.org/ # We remove certain patented algorithms from the openssl source tarball # with the hobble-openssl script which is included below. -Source0: openssl-%{version}-usa.tar.bz2 +Source0: openssl-%{version}-usa.tar.xz Source1: hobble-openssl Source2: Makefile.certificate @@ -45,46 +42,44 @@ Source8: openssl-thread-test.c Source9: opensslconf-new.h Source10: opensslconf-new-warning.h -# Patches from Fedora native package. +Source11: README.FIPS # Build changes -Patch0: openssl-1.0.0-beta4-redhat.patch -Patch1: openssl-1.0.0-beta3-defaults.patch -Patch3: openssl-1.0.0-beta3-soversion.patch +Patch1: openssl-1.0.1-beta2-rpmbuild.patch +Patch2: openssl-1.0.0f-defaults.patch Patch4: openssl-1.0.0-beta5-enginesdir.patch Patch5: openssl-0.9.8a-no-rpath.patch Patch6: openssl-0.9.8b-test-use-localhost.patch Patch7: openssl-1.0.0-timezone.patch +Patch8: openssl-1.0.1c-perlfind.patch +Patch9: openssl-1.0.1c-aliasing.patch # Bug fixes Patch23: openssl-1.0.0-beta4-default-paths.patch -Patch24: openssl-0.9.8j-bad-mime.patch -Patch25: openssl-1.0.0a-manfix.patch # Functionality changes -Patch32: openssl-0.9.8g-ia64.patch Patch33: openssl-1.0.0-beta4-ca-dir.patch Patch34: openssl-0.9.6-x509.patch Patch35: openssl-0.9.8j-version-add-engines.patch -Patch38: openssl-1.0.0-beta5-cipher-change.patch -# Disabled this because it uses getaddrinfo which is lacking on Windows. -#Patch39: openssl-1.0.0b-ipv6-apps.patch -Patch40: openssl-1.0.0a-fips.patch -Patch41: openssl-1.0.0-beta3-fipscheck.patch -Patch43: openssl-1.0.0a-fipsmode.patch -Patch44: openssl-1.0.0-beta3-fipsrng.patch +Patch36: openssl-1.0.0e-doc-noeof.patch +Patch38: openssl-1.0.1-beta2-ssl-op-all.patch +Patch39: openssl-1.0.1c-ipv6-apps.patch +Patch40: openssl-1.0.1c-fips.patch Patch45: openssl-0.9.8j-env-nozlib.patch Patch47: openssl-1.0.0-beta5-readme-warning.patch -Patch49: openssl-1.0.0-beta4-algo-doc.patch -Patch50: openssl-1.0.0-beta4-dtls1-abi.patch -Patch51: openssl-1.0.0d-version.patch -Patch52: openssl-1.0.0b-aesni.patch -Patch53: openssl-1.0.0-name-hash.patch -Patch54: openssl-1.0.0c-speed-fips.patch -#Patch55: openssl-1.0.0c-apps-ipv6listen.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 Patch56: openssl-1.0.0c-rsa-x931.patch -Patch57: openssl-1.0.0c-fips186-3.patch -Patch58: openssl-1.0.0c-fips-md5-allow.patch -Patch59: openssl-1.0.0c-pkcs12-fips-default.patch +Patch58: openssl-1.0.1-beta2-fips-md5-allow.patch Patch60: openssl-1.0.0d-apps-dgst.patch +Patch63: openssl-1.0.0d-xmpp-starttls.patch +Patch65: openssl-1.0.0e-chil-fixes.patch +Patch66: openssl-1.0.1-pkgconfig-krb5.patch +Patch67: openssl-1.0.0-fips-pkcs8.patch +Patch68: openssl-1.0.1c-secure-getenv.patch # Backported fixes including security fixes +Patch81: openssl-1.0.1-beta2-padlock64.patch +Patch82: openssl-1.0.1c-backports.patch +Patch83: openssl-1.0.1c-ccm-init-str.patch +Patch84: openssl-1.0.1c-backports2.patch # MinGW-specific patches. # Rename *eay32.dll to lib*.dll @@ -96,6 +91,8 @@ Patch102: mingw32-openssl-1.0.0d-sfx.patch Patch103: mingw-openssl-drop-unneeded-reference-to-dlfcn-h.patch # Mingw-w64 compatibility patch Patch104: openssl_mingw64_install_fix.patch +# Prevent a build failure which occurs becuase we don't have FIPS enabled +Patch105: mingw-openssl-fix-fips-build-failure.patch BuildArch: noarch @@ -188,49 +185,52 @@ Static version of the MinGW port of the OpenSSL toolkit. %prep %setup -q -n openssl-%{version} +# The hobble_openssl is called here redundantly, just to be sure. +# The tarball has already the sources removed. %{SOURCE1} > /dev/null -%patch0 -p1 -b .redhat -%patch1 -p1 -b .defaults -%patch3 -p1 -b .soversion -%patch4 -p1 -b .enginesdir +%patch1 -p1 -b .rpmbuild +%patch2 -p1 -b .defaults +%patch4 -p1 -b .enginesdir %{?_rawbuild} %patch5 -p1 -b .no-rpath %patch6 -p1 -b .use-localhost %patch7 -p1 -b .timezone +%patch8 -p1 -b .perlfind +%patch9 -p1 -b .aliasing %patch23 -p1 -b .default-paths -%patch24 -p1 -b .bad-mime -%patch25 -p1 -b .manfix -%patch32 -p1 -b .ia64 %patch33 -p1 -b .ca-dir %patch34 -p1 -b .x509 %patch35 -p1 -b .version-add-engines -%patch38 -p1 -b .cipher-change +%patch36 -p1 -b .doc-noeof +%patch38 -p1 -b .op-all #patch39 -p1 -b .ipv6-apps %patch40 -p1 -b .fips -%patch41 -p1 -b .fipscheck -%patch43 -p1 -b .fipsmode -%patch44 -p1 -b .fipsrng %patch45 -p1 -b .env-nozlib %patch47 -p1 -b .warning %patch49 -p1 -b .algo-doc %patch50 -p1 -b .dtls1-abi -%patch51 -p1 -b .version -%patch52 -p1 -b .aesni -%patch53 -p1 -b .name-hash -%patch54 -p1 -b .spfips -#patch55 -p1 -b .ipv6listen -%patch56 -p1 -b .x931 -%patch57 -p1 -b .fips186-3 +#patch51 -p1 -b .version +#patch56 -p1 -b .x931 %patch58 -p1 -b .md5-allow -%patch59 -p1 -b .fips-default %patch60 -p1 -b .dgst - +#patch63 -p1 -b .starttls +%patch65 -p1 -b .chil +%patch66 -p1 -b .krb5 +%patch67 -p1 -b .pkcs8 +#patch68 -p1 -b .secure-getenv + +%patch81 -p1 -b .padlock64 +%patch82 -p1 -b .backports +%patch83 -p1 -b .init-str +%patch84 -p1 -b .backports2 + +# MinGW specific patches %patch101 -p1 -b .mingw-libversion %patch102 -p1 -b .mingw-sfx %patch103 -p0 -b .dlfcn %patch104 -p0 -b .mingw64 - +%patch105 -p1 -b .fips_mingw # Modify the various perl scripts to reference perl in the right location. perl util/perlpath.pl `dirname %{__perl}` @@ -261,8 +261,8 @@ PERL=%{__perl} \ --prefix=%{mingw32_prefix} \ --openssldir=%{mingw32_sysconfdir}/pki/tls \ zlib enable-camellia enable-seed enable-tlsext enable-rfc3779 \ - enable-cms enable-md2 no-idea no-mdc2 no-rc5 no-ec no-ecdh no-ecdsa \ - no-capieng \ + enable-cms enable-md2 no-mdc2 no-rc5 no-ec no-ec2m no-ecdh no-ecdsa \ + no-srp no-fips \ no-hw --cross-compile-prefix=%{mingw32_target}- \ --enginesdir=%{mingw32_libdir}/openssl/engines \ shared mingw @@ -293,8 +293,8 @@ PERL=%{__perl} \ --prefix=%{mingw64_prefix} \ --openssldir=%{mingw64_sysconfdir}/pki/tls \ zlib enable-camellia enable-seed enable-tlsext enable-rfc3779 \ - enable-cms enable-md2 no-idea no-mdc2 no-rc5 no-ec no-ecdh no-ecdsa \ - no-capieng \ + enable-cms enable-md2 no-mdc2 no-rc5 no-ec no-ec2m no-ecdh no-ecdsa \ + no-srp no-fips \ no-hw --cross-compile-prefix=%{mingw64_target}- \ --enginesdir=%{mingw64_libdir}/openssl/engines \ shared mingw64 @@ -472,6 +472,10 @@ mkdir -m700 $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/CA/private %changelog +* Fri Nov 9 2012 Erik van Pienbroek - 1.0.1c-1 +- Update to 1.0.1c +- Synced patches with native openssl-1.0.1c-7.fc19 + * Fri Jul 20 2012 Fedora Release Engineering - 1.0.0d-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild diff --git a/sources b/sources index 302a734..ed53453 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -531c1627ff9701cb8540ee3bd03de5d7 openssl-1.0.0d-usa.tar.bz2 +3b75bb21452767ed1779fbce32625b95 openssl-1.0.1c-usa.tar.xz