cvsdist e32c112
# For the curious:
a9e5f01
# 0.9.8jk + EAP-FAST soversion = 8
58b40a3
# 1.0.0 soversion = 10
510bcc2
# 1.1.0 soversion = 1.1 (same as upstream although presence of some symbols
510bcc2
#                        depends on build configuration options)
347681c
# 3.0.0 soversion = 3 (same as upstream)
347681c
%define soversion 3
cvsdist b966cc9
cvsdist b966cc9
# Arches on which we need to prevent arch conflicts on opensslconf.h, must
cvsdist b966cc9
# also be handled in opensslconf-new.h.
357b7a7
%define multilib_arches %{ix86} ia64 %{mips} ppc ppc64 s390 s390x sparcv9 sparc64 x86_64
cvsdist b966cc9
4855397
%define srpmhash() %{lua:
4855397
local files = rpm.expand("%_specdir/openssl.spec")
4855397
for i, p in ipairs(patches) do
4855397
   files = files.." "..p
4855397
end
4855397
for i, p in ipairs(sources) do
4855397
   files = files.." "..p
4855397
end
4855397
local sha256sum = assert(io.popen("cat "..files.." 2>/dev/null | sha256sum"))
4855397
local hash = sha256sum:read("*a")
4855397
sha256sum:close()
4855397
print(string.sub(hash, 0, 16))
4855397
}
4855397
a9591c7
%global _performance_build 1
a9591c7
00c4986
Summary: Utilities from the general purpose cryptography library with TLS implementation
cvsdist e21e184
Name: openssl
9409bc7
Version: 3.1.1
9409bc7
Release: 1%{?dist}
00c4986
Epoch: 1
477bb5e
Source: openssl-%{version}.tar.gz
cvsdist e21e184
Source2: Makefile.certificate
347681c
Source3: genpatches
82a6212
Source4: openssl.rpmlintrc
cvsdist 321fa67
Source6: make-dummy-cert
c67ea97
Source7: renew-dummy-cert
347681c
Source9: configuration-switch.h
347681c
Source10: configuration-prefix.h
4855397
Source14: 0025-for-tests.patch
1eb7adc
# # Patches exported from source git
1eb7adc
# # Aarch64 and ppc64le use lib64
1eb7adc
Patch1:   0001-Aarch64-and-ppc64le-use-lib64.patch
1eb7adc
# # Use more general default values in openssl.cnf
1eb7adc
Patch2:   0002-Use-more-general-default-values-in-openssl.cnf.patch
1eb7adc
# # Do not install html docs
1eb7adc
Patch3:   0003-Do-not-install-html-docs.patch
1eb7adc
# # Override default paths for the CA directory tree
1eb7adc
Patch4:   0004-Override-default-paths-for-the-CA-directory-tree.patch
1eb7adc
# # apps/ca: fix md option help text
1eb7adc
Patch5:   0005-apps-ca-fix-md-option-help-text.patch
1eb7adc
# # Disable signature verification with totally unsafe hash algorithms
1eb7adc
Patch6:   0006-Disable-signature-verification-with-totally-unsafe-h.patch
1eb7adc
# # Add support for PROFILE=SYSTEM system default cipherlist
1eb7adc
Patch7:   0007-Add-support-for-PROFILE-SYSTEM-system-default-cipher.patch
1eb7adc
# # Add FIPS_mode() compatibility macro
1eb7adc
Patch8:   0008-Add-FIPS_mode-compatibility-macro.patch
1eb7adc
# # Add check to see if fips flag is enabled in kernel
1eb7adc
Patch9:   0009-Add-Kernel-FIPS-mode-flag-support.patch
1eb7adc
# # Instead of replacing ectest.c and ec_curve.c, add the changes as a patch so
1eb7adc
# # that new modifications made to these files by upstream are not lost.
1eb7adc
Patch10:  0010-Add-changes-to-ectest-and-eccurve.patch
1eb7adc
# # remove unsupported EC curves
1eb7adc
Patch11:  0011-Remove-EC-curves.patch
1eb7adc
# # Disable explicit EC curves
1eb7adc
# # https://bugzilla.redhat.com/show_bug.cgi?id=2066412
1eb7adc
Patch12:  0012-Disable-explicit-ec.patch
1eb7adc
# # Skipped tests from former 0011-Remove-EC-curves.patch
1eb7adc
Patch13:  0013-skipped-tests-EC-curves.patch
1eb7adc
# # Instructions to load legacy provider in openssl.cnf
1eb7adc
Patch24:  0024-load-legacy-prov.patch
1eb7adc
# # Tmp: test name change
1eb7adc
Patch31:  0031-tmp-Fix-test-names.patch
1eb7adc
# # We load FIPS provider and set FIPS properties implicitly
1eb7adc
Patch32:  0032-Force-fips.patch
1eb7adc
# # Embed HMAC into the fips.so
1eb7adc
Patch33:  0033-FIPS-embed-hmac.patch
1eb7adc
# # Comment out fipsinstall command-line utility
1eb7adc
Patch34:  0034.fipsinstall_disable.patch
1eb7adc
# # Skip unavailable algorithms running `openssl speed`
1eb7adc
Patch35:  0035-speed-skip-unavailable-dgst.patch
1eb7adc
# # Extra public/private key checks required by FIPS-140-3
1eb7adc
Patch44:  0044-FIPS-140-3-keychecks.patch
1eb7adc
# # Minimize fips services
1eb7adc
Patch45:  0045-FIPS-services-minimize.patch
1eb7adc
# # Execute KATS before HMAC verification
1eb7adc
Patch47:  0047-FIPS-early-KATS.patch
1eb7adc
# # Selectively disallow SHA1 signatures rhbz#2070977
1eb7adc
Patch49:  0049-Allow-disabling-of-SHA1-signatures.patch
1eb7adc
# # Support SHA1 in TLS in LEGACY crypto-policy (which is SECLEVEL=1)
1eb7adc
Patch52:  0052-Allow-SHA1-in-seclevel-1-if-rh-allow-sha1-signatures.patch
1eb7adc
# # https://github.com/openssl/openssl/pull/18103
1eb7adc
# # The patch is incorporated in 3.0.3 but we provide this function since 3.0.1
1eb7adc
# # so the patch should persist
1eb7adc
Patch56:  0056-strcasecmp.patch
1eb7adc
# # https://github.com/openssl/openssl/pull/18175
1eb7adc
# # Patch57: 0057-strcasecmp-fix.patch
1eb7adc
# # https://bugzilla.redhat.com/show_bug.cgi?id=2053289
1eb7adc
Patch58:  0058-FIPS-limit-rsa-encrypt.patch
1eb7adc
# # https://bugzilla.redhat.com/show_bug.cgi?id=2087147
1eb7adc
Patch61:  0061-Deny-SHA-1-signature-verification-in-FIPS-provider.patch
1eb7adc
# 0062-fips-Expose-a-FIPS-indicator.patch
1eb7adc
Patch62:  0062-fips-Expose-a-FIPS-indicator.patch
1eb7adc
# # https://bugzilla.redhat.com/show_bug.cgi?id=2102535
1eb7adc
Patch73:  0073-FIPS-Use-OAEP-in-KATs-support-fixed-OAEP-seed.patch
1eb7adc
# [PATCH 30/35] 
1eb7adc
#  0074-FIPS-Use-digest_sign-digest_verify-in-self-test.patch
1eb7adc
Patch74:  0074-FIPS-Use-digest_sign-digest_verify-in-self-test.patch
1eb7adc
# # https://bugzilla.redhat.com/show_bug.cgi?id=2102535
1eb7adc
Patch75:  0075-FIPS-Use-FFDHE2048-in-self-test.patch
1eb7adc
# # Downstream only. Reseed DRBG using getrandom(GRND_RANDOM)
1eb7adc
# # https://bugzilla.redhat.com/show_bug.cgi?id=2102541
1eb7adc
Patch76:  0076-FIPS-140-3-DRBG.patch
1eb7adc
# # https://bugzilla.redhat.com/show_bug.cgi?id=2102542
1eb7adc
Patch77:  0077-FIPS-140-3-zeroization.patch
1eb7adc
# # https://bugzilla.redhat.com/show_bug.cgi?id=2114772
1eb7adc
Patch78:  0078-Add-FIPS-indicator-parameter-to-HKDF.patch
1eb7adc
# # https://github.com/openssl/openssl/pull/13817
9ce9458
Patch100: 0100-RSA-PKCS15-implicit-rejection.patch
347681c
347681c
License: ASL 2.0
cvsdist e21e184
URL: http://www.openssl.org/
4855397
BuildRequires: gcc g++
7a654fc
BuildRequires: coreutils, perl-interpreter, sed, zlib-devel, /usr/bin/cmp
341f751
BuildRequires: lksctp-tools-devel
1181966
BuildRequires: /usr/bin/rename
314b235
BuildRequires: /usr/bin/pod2man
9189f03
BuildRequires: /usr/sbin/sysctl
510bcc2
BuildRequires: perl(Test::Harness), perl(Test::More), perl(Math::BigInt)
c6d0704
BuildRequires: perl(Module::Load::Conditional), perl(File::Temp)
347681c
BuildRequires: perl(Time::HiRes), perl(IPC::Cmd), perl(Pod::Html), perl(Digest::SHA)
347681c
BuildRequires: perl(FindBin), perl(lib), perl(File::Compare), perl(File::Copy), perl(bigint)
347681c
BuildRequires: git-core
8f08128
BuildRequires: systemtap-sdt-devel
f20f5f4
Requires: coreutils
00c4986
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
cvsdist e21e184
cvsdist e21e184
%description
cvsdist 0d16b0b
The OpenSSL toolkit provides support for secure communications between
cvsdist 0d16b0b
machines. OpenSSL includes a certificate management tool and shared
cvsdist 0d16b0b
libraries which provide various cryptographic algorithms and
cvsdist 0d16b0b
protocols.
cvsdist e21e184
00c4986
%package libs
00c4986
Summary: A general purpose cryptography library with TLS implementation
00c4986
Requires: ca-certificates >= 2008-5
6035707
Requires: crypto-policies >= 20180730
6eb8f62
Recommends: openssl-pkcs11%{?_isa}
00c4986
00c4986
%description libs
00c4986
OpenSSL is a toolkit for supporting cryptography. The openssl-libs
00c4986
package contains the libraries that are used by various applications which
00c4986
support cryptographic algorithms and protocols.
00c4986
cvsdist e21e184
%package devel
499412d
Summary: Files for development of applications which will use OpenSSL
00c4986
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
b191bc7
Requires: pkgconfig
cvsdist e21e184
cvsdist e21e184
%description devel
cvsdist 0d16b0b
OpenSSL is a toolkit for supporting cryptography. The openssl-devel
15d9ef2
package contains include files needed to develop applications which
15d9ef2
support various cryptographic algorithms and protocols.
15d9ef2
cvsdist e21e184
%package perl
499412d
Summary: Perl scripts provided with OpenSSL
f852080
Requires: perl-interpreter
00c4986
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
cvsdist e21e184
cvsdist e21e184
%description perl
cvsdist 0d16b0b
OpenSSL is a toolkit for supporting cryptography. The openssl-perl
cvsdist 0d16b0b
package provides Perl scripts for converting certificates and keys
cvsdist 0d16b0b
from other formats to the formats used by the OpenSSL toolkit.
cvsdist e21e184
cvsdist e21e184
%prep
347681c
%autosetup -S git -n %{name}-%{version}
cvsdist 321fa67
2d6ef07
%build
e96bebc
# Figure out which flags we want to use.
e96bebc
# default
0b4cee3
sslarch=%{_os}-%{_target_cpu}
cvsdist e21e184
%ifarch %ix86
cvsdist e21e184
sslarch=linux-elf
cvsdist 4f250d3
if ! echo %{_target} | grep -q i686 ; then
cvsdist 4f250d3
	sslflags="no-asm 386"
cvsdist 4f250d3
fi
cvsdist e21e184
%endif
6536aa4
%ifarch x86_64
6536aa4
sslflags=enable-ec_nistp_64_gcc_128
6536aa4
%endif
3bbf540
%ifarch sparcv9
cvsdist e21e184
sslarch=linux-sparcv9
cvsdist 821b825
sslflags=no-asm
cvsdist e21e184
%endif
3bbf540
%ifarch sparc64
3bbf540
sslarch=linux64-sparcv9
3bbf540
sslflags=no-asm
3bbf540
%endif
65e6d90
%ifarch alpha alphaev56 alphaev6 alphaev67
cvsdist 566a67e
sslarch=linux-alpha-gcc
cvsdist e21e184
%endif
cc7d549
%ifarch s390 sh3eb sh4eb
cc7d549
sslarch="linux-generic32 -DB_ENDIAN"
cvsdist 821b825
%endif
cvsdist 107c5de
%ifarch s390x
00c4986
sslarch="linux64-s390x"
cvsdist 7520711
%endif
6705192
%ifarch %{arm}
6705192
sslarch=linux-armv4
6705192
%endif
18455c9
%ifarch aarch64
18455c9
sslarch=linux-aarch64
6536aa4
sslflags=enable-ec_nistp_64_gcc_128
18455c9
%endif
6705192
%ifarch sh3 sh4
b191bc7
sslarch=linux-generic32
b191bc7
%endif
239d122
%ifarch ppc64 ppc64p7
55a3598
sslarch=linux-ppc64
55a3598
%endif
239d122
%ifarch ppc64le
239d122
sslarch="linux-ppc64le"
6536aa4
sslflags=enable-ec_nistp_64_gcc_128
239d122
%endif
1004dab
%ifarch mips mipsel
1004dab
sslarch="linux-mips32 -mips32r2"
1004dab
%endif
1004dab
%ifarch mips64 mips64el
1004dab
sslarch="linux64-mips64 -mips64r2"
1004dab
%endif
1004dab
%ifarch mips64el
1004dab
sslflags=enable-ec_nistp_64_gcc_128
1004dab
%endif
d0c38b1
%ifarch riscv64
d0c38b1
sslarch=linux-generic64
d0c38b1
%endif
a0bd929
ktlsopt=enable-ktls
a0bd929
%ifarch armv7hl
a0bd929
ktlsopt=disable-ktls
a0bd929
%endif
55a3598
510bcc2
# Add -Wa,--noexecstack here so that libcrypto's assembler modules will be
510bcc2
# marked as not requiring an executable stack.
510bcc2
# Also add -DPURIFY to make using valgrind with openssl easier as we do not
510bcc2
# want to depend on the uninitialized memory as a source of entropy anyway.
68f387b
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wa,--noexecstack -Wa,--generate-missing-build-notes=yes -DPURIFY $RPM_LD_FLAGS"
510bcc2
e85d727
export HASHBANGPERL=/usr/bin/perl
e85d727
4855397
%define fips %{version}-%{srpmhash}
55a3598
# ia64, x86_64, ppc are OK by default
cvsdist e21e184
# Configure the build tree.  Override OpenSSL defaults with known-good defaults
cvsdist 821b825
# usable on all platforms.  The Configure script already knows to use -fPIC and
cvsdist 821b825
# RPM_OPT_FLAGS, so we can skip specifiying them here.
cvsdist 321fa67
./Configure \
653e1ef
	--prefix=%{_prefix} --openssldir=%{_sysconfdir}/pki/tls ${sslflags} \
f550490
	--system-ciphers-file=%{_sysconfdir}/crypto-policies/back-ends/openssl.config \
510bcc2
	zlib enable-camellia enable-seed enable-rfc3779 enable-sctp \
a0bd929
	enable-cms enable-md2 enable-rc5 ${ktlsopt} enable-fips\
4855397
	no-mdc2 no-ec2m no-sm2 no-sm4 enable-buildtest-c++\
106fe89
	shared  ${sslarch} $RPM_OPT_FLAGS '-DDEVRANDOM="\"/dev/urandom\"" -DREDHAT_FIPS_VERSION="\"%{fips}\""'\
106fe89
	-Wl,--allow-multiple-definition
cvsdist ee71aae
5a93773
# Do not run this in a production package the FIPS symbols must be patched-in
5a93773
#util/mkdef.pl crypto update
cvsdist e21e184
347681c
make -s %{?_smp_mflags} all
44abf9d
4240eca
# Clean up the .pc files
4240eca
for i in libcrypto.pc libssl.pc openssl.pc ; do
4240eca
  sed -i '/^Libs.private:/{s/-L[^ ]* //;s/-Wl[^ ]* //}' $i
4240eca
done
4240eca
1d20b5f
%check
cvsdist e21e184
# Verify that what was compiled actually works.
1d20b5f
9189f03
# Hack - either enable SCTP AUTH chunks in kernel or disable sctp for check
9189f03
(sysctl net.sctp.addip_enable=1 && sysctl net.sctp.auth_enable=1) || \
9189f03
(echo 'Failed to enable SCTP AUTH chunks, disabling SCTP for tests...' &&
347681c
 sed '/"msan" => "default",/a\ \ "sctp" => "default",' configdata.pm > configdata.pm.new && \
9189f03
 touch -r configdata.pm configdata.pm.new && \
9189f03
 mv -f configdata.pm.new configdata.pm)
9189f03
347681c
# We must revert patch4 before tests otherwise they will fail
347681c
patch -p1 -R < %{PATCH4}
4855397
#We must disable default provider before tests otherwise they will fail
4855397
patch -p1 < %{SOURCE14}
1d20b5f
dcd0fb1
OPENSSL_ENABLE_MD5_VERIFY=
dcd0fb1
export OPENSSL_ENABLE_MD5_VERIFY
0967bb5
%if 0%{?rhel}
0967bb5
OPENSSL_ENABLE_SHA1_SIGNATURES=
0967bb5
export OPENSSL_ENABLE_SHA1_SIGNATURES
0967bb5
%endif
9189f03
OPENSSL_SYSTEM_CIPHERS_OVERRIDE=xyz_nonexistent_file
9189f03
export OPENSSL_SYSTEM_CIPHERS_OVERRIDE
4855397
#embed HMAC into fips provider for test run
9409bc7
OPENSSL_CONF=/dev/null LD_LIBRARY_PATH=. apps/openssl dgst -binary -sha256 -mac HMAC -macopt hexkey:f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813 < providers/fips.so > providers/fips.so.hmac
4855397
objcopy --update-section .rodata1=providers/fips.so.hmac providers/fips.so providers/fips.so.mac
4855397
mv providers/fips.so.mac providers/fips.so
4855397
#run tests itself
347681c
make test HARNESS_JOBS=8
cvsdist e21e184
1d20b5f
# Add generation of HMAC checksum of the final stripped library
4855397
# We manually copy standard definition of __spec_install_post
4855397
# and add hmac calculation/embedding to fips.so
4855397
%define __spec_install_post \
4855397
    %{?__debug_package:%{__debug_install_post}} \
4855397
    %{__arch_install_post} \
4855397
    %{__os_install_post} \
9409bc7
    OPENSSL_CONF=/dev/null LD_LIBRARY_PATH=. apps/openssl dgst -binary -sha256 -mac HMAC -macopt hexkey:f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813 < $RPM_BUILD_ROOT%{_libdir}/ossl-modules/fips.so > $RPM_BUILD_ROOT%{_libdir}/ossl-modules/fips.so.hmac \
4855397
    objcopy --update-section .rodata1=$RPM_BUILD_ROOT%{_libdir}/ossl-modules/fips.so.hmac $RPM_BUILD_ROOT%{_libdir}/ossl-modules/fips.so $RPM_BUILD_ROOT%{_libdir}/ossl-modules/fips.so.mac \
4855397
    mv $RPM_BUILD_ROOT%{_libdir}/ossl-modules/fips.so.mac $RPM_BUILD_ROOT%{_libdir}/ossl-modules/fips.so \
4855397
    rm $RPM_BUILD_ROOT%{_libdir}/ossl-modules/fips.so.hmac \
4855397
%{nil}
79f559a
00c4986
%define __provides_exclude_from %{_libdir}/openssl
00c4986
cvsdist e21e184
%install
cvsdist e21e184
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
cvsdist e21e184
# Install OpenSSL.
f20f5f4
install -d $RPM_BUILD_ROOT{%{_bindir},%{_includedir},%{_libdir},%{_mandir},%{_libdir}/openssl,%{_pkgdocdir}}
a75e581
%make_install
58f96a7
rename so.%{soversion} so.%{version} $RPM_BUILD_ROOT%{_libdir}/*.so.%{soversion}
58f96a7
for lib in $RPM_BUILD_ROOT%{_libdir}/*.so.%{version} ; do
cvsdist 107c5de
	chmod 755 ${lib}
58f96a7
	ln -s -f `basename ${lib}` $RPM_BUILD_ROOT%{_libdir}/`basename ${lib} .%{version}`
58f96a7
	ln -s -f `basename ${lib}` $RPM_BUILD_ROOT%{_libdir}/`basename ${lib} .%{version}`.%{soversion}
3bdf494
done
cvsdist e21e184
347681c
# Remove static libraries
347681c
for lib in $RPM_BUILD_ROOT%{_libdir}/*.a ; do
347681c
	rm -f ${lib}
347681c
done
347681c
cvsdist 107c5de
# Install a makefile for generating keys and self-signed certs, and a script
cvsdist 107c5de
# for generating them on the fly.
79f559a
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/certs
f20f5f4
install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_pkgdocdir}/Makefile.certificate
510bcc2
install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/make-dummy-cert
510bcc2
install -m755 %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/renew-dummy-cert
510bcc2
510bcc2
# Move runable perl scripts to bindir
510bcc2
mv $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/misc/*.pl $RPM_BUILD_ROOT%{_bindir}
510bcc2
mv $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/misc/tsget $RPM_BUILD_ROOT%{_bindir}
cvsdist e21e184
cvsdist 0d16b0b
# Rename man pages so that they don't conflict with other system man pages.
6f11ea3
pushd $RPM_BUILD_ROOT%{_mandir}
347681c
mv man5/config.5ossl man5/openssl.cnf.5
6f11ea3
popd
cvsdist e21e184
290d51e
mkdir -m755 $RPM_BUILD_ROOT%{_sysconfdir}/pki/CA
79f559a
mkdir -m700 $RPM_BUILD_ROOT%{_sysconfdir}/pki/CA/private
290d51e
mkdir -m755 $RPM_BUILD_ROOT%{_sysconfdir}/pki/CA/certs
290d51e
mkdir -m755 $RPM_BUILD_ROOT%{_sysconfdir}/pki/CA/crl
290d51e
mkdir -m755 $RPM_BUILD_ROOT%{_sysconfdir}/pki/CA/newcerts
cvsdist 0cfdac5
9189f03
# Ensure the config file timestamps are identical across builds to avoid
acba378
# mulitlib conflicts and unnecessary renames on upgrade
acba378
touch -r %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/openssl.cnf
9189f03
touch -r %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/ct_log_list.cnf
acba378
510bcc2
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/openssl.cnf.dist
9189f03
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/ct_log_list.cnf.dist
4855397
#we don't use native fipsmodule.cnf because FIPS module is loaded automatically
347681c
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/fipsmodule.cnf
510bcc2
cvsdist c7b9ffb
# Determine which arch opensslconf.h is going to try to #include.
cvsdist c7b9ffb
basearch=%{_arch}
cvsdist c7b9ffb
%ifarch %{ix86}
cvsdist c7b9ffb
basearch=i386
cvsdist c7b9ffb
%endif
3bbf540
%ifarch sparcv9
3bbf540
basearch=sparc
3bbf540
%endif
3bbf540
%ifarch sparc64
3bbf540
basearch=sparc64
3bbf540
%endif
cvsdist c7b9ffb
8574fb5
# Next step of gradual disablement of SSL3.
8574fb5
# Make SSL3 disappear to newly built dependencies.
8574fb5
sed -i '/^\#ifndef OPENSSL_NO_SSL_TRACE/i\
3bfe874
#ifndef OPENSSL_NO_SSL3\
3bfe874
# define OPENSSL_NO_SSL3\
3bfe874
#endif' $RPM_BUILD_ROOT/%{_prefix}/include/openssl/opensslconf.h
8574fb5
cvsdist b966cc9
%ifarch %{multilib_arches}
347681c
# Do an configuration.h switcheroo to avoid file conflicts on systems where you
cvsdist b966cc9
# can have both a 32- and 64-bit version of the library, and they each need
cvsdist b966cc9
# their own correct-but-different versions of opensslconf.h to be usable.
4d4d77e
install -m644 %{SOURCE10} \
347681c
	$RPM_BUILD_ROOT/%{_prefix}/include/openssl/configuration-${basearch}.h
347681c
cat $RPM_BUILD_ROOT/%{_prefix}/include/openssl/configuration.h >> \
347681c
	$RPM_BUILD_ROOT/%{_prefix}/include/openssl/configuration-${basearch}.h
4d4d77e
install -m644 %{SOURCE9} \
347681c
	$RPM_BUILD_ROOT/%{_prefix}/include/openssl/configuration.h
cvsdist b966cc9
%endif
632ff53
2d6ef07
%files
6c0bfa0
%{!?_licensedir:%global license %%doc}
347681c
%license LICENSE.txt
347681c
%doc NEWS.md README.md
510bcc2
%{_bindir}/make-dummy-cert
510bcc2
%{_bindir}/renew-dummy-cert
510bcc2
%{_bindir}/openssl
347681c
%{_mandir}/man1/*
347681c
%{_mandir}/man5/*
347681c
%{_mandir}/man7/*
f20f5f4
%{_pkgdocdir}/Makefile.certificate
347681c
%exclude %{_mandir}/man1/*.pl*
347681c
%exclude %{_mandir}/man1/tsget*
79f559a
00c4986
%files libs
6c0bfa0
%{!?_licensedir:%global license %%doc}
347681c
%license LICENSE.txt
00c4986
%dir %{_sysconfdir}/pki/tls
00c4986
%dir %{_sysconfdir}/pki/tls/certs
00c4986
%dir %{_sysconfdir}/pki/tls/misc
00c4986
%dir %{_sysconfdir}/pki/tls/private
79f559a
%config(noreplace) %{_sysconfdir}/pki/tls/openssl.cnf
9189f03
%config(noreplace) %{_sysconfdir}/pki/tls/ct_log_list.cnf
c2e3151
%attr(0755,root,root) %{_libdir}/libcrypto.so.%{version}
347681c
%{_libdir}/libcrypto.so.%{soversion}
3bdf494
%attr(0755,root,root) %{_libdir}/libssl.so.%{version}
347681c
%{_libdir}/libssl.so.%{soversion}
510bcc2
%attr(0755,root,root) %{_libdir}/engines-%{soversion}
347681c
%attr(0755,root,root) %{_libdir}/ossl-modules
cvsdist e21e184
cvsdist e21e184
%files devel
347681c
%doc CHANGES.md doc/dir-locals.example.el doc/openssl-c-indent.el
cvsdist e21e184
%{_prefix}/include/openssl
510bcc2
%{_libdir}/*.so
347681c
%{_mandir}/man3/*
510bcc2
%{_libdir}/pkgconfig/*.pc
cvsdist e21e184
cvsdist e21e184
%files perl
510bcc2
%{_bindir}/c_rehash
510bcc2
%{_bindir}/*.pl
510bcc2
%{_bindir}/tsget
347681c
%{_mandir}/man1/*.pl*
347681c
%{_mandir}/man1/tsget*
510bcc2
%dir %{_sysconfdir}/pki/CA
510bcc2
%dir %{_sysconfdir}/pki/CA/private
510bcc2
%dir %{_sysconfdir}/pki/CA/certs
510bcc2
%dir %{_sysconfdir}/pki/CA/crl
510bcc2
%dir %{_sysconfdir}/pki/CA/newcerts
cvsdist e21e184
5ee2302
%ldconfig_scriptlets libs
cvsdist e21e184
cvsdist e21e184
%changelog
9409bc7
* Thu Jul 27 2023 Sahana Prasad <sahana@redhat.com> - 1:3.1.1-1
9409bc7
- Rebase to upstream version 3.1.1
9409bc7
  Resolves: CVE-2023-0464
9409bc7
  Resolves: CVE-2023-0465
9409bc7
  Resolves: CVE-2023-0466
9409bc7
  Resolves: CVE-2023-1255
9409bc7
  Resolves: CVE-2023-2650
9409bc7
2b0eda8
* Thu Jul 27 2023 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.8-4
2b0eda8
- Forbid custom EC more completely
2b0eda8
  Resolves: rhbz#2223953
2b0eda8
7e9699e
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0.8-3
7e9699e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
7e9699e
477bb5e
* Tue Mar 21 2023 Sahana Prasad <sahana@redhat.com> - 1:3.0.8-2
477bb5e
- Upload new upstream sources without manually hobbling them.
477bb5e
- Remove the hobbling script as it is redundant. It is now allowed to ship
477bb5e
  the sources of patented EC curves, however it is still made unavailable to use
477bb5e
  by compiling with the 'no-ec2m' Configure option. The additional forbidden
477bb5e
  curves such as P-160, P-192, wap-tls curves are manually removed by updating
477bb5e
  0011-Remove-EC-curves.patch.
477bb5e
- Enable Brainpool curves.
477bb5e
- Apply the changes to ec_curve.c and  ectest.c as a new patch
477bb5e
  0010-Add-changes-to-ectest-and-eccurve.patch instead of replacing them.
477bb5e
- Modify 0011-Remove-EC-curves.patch to allow Brainpool curves.
477bb5e
- Modify 0011-Remove-EC-curves.patch to allow code under macro OPENSSL_NO_EC2M.
477bb5e
  Resolves: rhbz#2130618, rhbz#2141672
477bb5e
194ef74
* Thu Feb 09 2023 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.8-1
194ef74
- Rebase to upstream version 3.0.8
194ef74
  Resolves: CVE-2022-4203
194ef74
  Resolves: CVE-2022-4304
194ef74
  Resolves: CVE-2022-4450
194ef74
  Resolves: CVE-2023-0215
194ef74
  Resolves: CVE-2023-0216
194ef74
  Resolves: CVE-2023-0217
194ef74
  Resolves: CVE-2023-0286
194ef74
  Resolves: CVE-2023-0401
194ef74
02d85d0
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0.7-4
02d85d0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
02d85d0
9ce9458
* Thu Jan 05 2023 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.7-3
9ce9458
- Backport implicit rejection for RSA PKCS#1 v1.5 encryption
9ce9458
  Resolves: rhbz#2153470
9ce9458
500ad3d
* Thu Jan 05 2023 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.7-2
500ad3d
- Refactor embedded mac verification in FIPS module
500ad3d
  Resolves: rhbz#2156045
500ad3d
106fe89
* Fri Dec 23 2022 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.7-1
106fe89
- Rebase to upstream version 3.0.7
106fe89
- C99 compatibility in downstream-only 0032-Force-fips.patch
106fe89
  Resolves: rhbz#2152504
106fe89
- Adjusting include for the FIPS_mode macro
106fe89
  Resolves: rhbz#2083876
106fe89
Simo Sorce e9a0511
* Wed Nov 16 2022 Simo sorce <simo@redhat.com> - 1:3.0.5-7
Simo Sorce e9a0511
- Backport patches to fix external providers compatibility issues
Simo Sorce e9a0511
f7a2c68
* Tue Nov 01 2022 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.5-6
f7a2c68
- CVE-2022-3602: X.509 Email Address Buffer Overflow
f7a2c68
- CVE-2022-3786: X.509 Email Address Buffer Overflow
f7a2c68
  Resolves: CVE-2022-3602
f7a2c68
  Resolves: CVE-2022-3786
f7a2c68
b5f6fd8
* Mon Sep 12 2022 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.5-5
b5f6fd8
- Update patches to make ELN build happy
b5f6fd8
  Resolves: rhbz#2123755
b5f6fd8
d54aeb5
* Fri Sep 09 2022 Clemens Lang <cllang@redhat.com> - 1:3.0.5-4
d54aeb5
- Fix AES-GCM on Power 8 CPUs
d54aeb5
  Resolves: rhbz#2124845
d54aeb5
4855397
* Thu Sep 01 2022 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.5-3
4855397
- Sync patches with RHEL
4855397
  Related: rhbz#2123755
d1b1996
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0.5-2
d1b1996
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
d1b1996
3290897
* Tue Jul 05 2022 Clemens Lang <cllang@redhat.com> - 1:3.0.5-1
3290897
- Rebase to upstream version 3.0.5
3290897
  Related: rhbz#2099972, CVE-2022-2097
3290897
8a03afa
* Wed Jun 01 2022 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.3-1
8a03afa
- Rebase to upstream version 3.0.3
8a03afa
8a03afa
* Thu Apr 28 2022 Clemens Lang <cllang@redhat.com> - 1:3.0.2-5
8a03afa
- Instrument with USDT probes related to SHA-1 deprecation
8a03afa
efdb8c6
* Wed Apr 27 2022 Clemens Lang <cllang@redhat.com> - 1:3.0.2-4
efdb8c6
- Support rsa_pkcs1_md5_sha1 in TLS 1.0/1.1 with rh-allow-sha1-signatures = yes
efdb8c6
  to restore TLS 1.0 and 1.1 support in LEGACY crypto-policy.
efdb8c6
  Related: rhbz#2069239
efdb8c6
8f08128
* Tue Apr 26 2022 Alexander Sosedkin <asosedkin@redhat.com> - 1:3.0.2-4
8f08128
- Instrument with USDT probes related to SHA-1 deprecation
8f08128
0967bb5
* Wed Apr 20 2022 Clemens Lang <cllang@redhat.com> - 1:3.0.2-3
0967bb5
- Disable SHA-1 by default in ELN using the patches from CentOS
0eaa001
- Fix a FIXME in the openssl.cnf(5) manpage
0967bb5
432cfa2
* Thu Apr 07 2022 Clemens Lang <cllang@redhat.com> - 1:3.0.2-2
82a6212
- Silence a few rpmlint false positives.
82a6212
82a6212
* Thu Apr 07 2022 Clemens Lang <cllang@redhat.com> - 1:3.0.2-2
432cfa2
- Allow disabling SHA1 signature creation and verification.
432cfa2
  Set rh-allow-sha1-signatures = no to disable.
432cfa2
  Allow SHA1 in TLS in SECLEVEL 1 if rh-allow-sha1-signatures = yes. This will
432cfa2
  support SHA1 in TLS in the LEGACY crypto-policy.
432cfa2
  Resolves: rhbz#2070977
432cfa2
  Related: rhbz#2031742, rhbz#2062640
432cfa2
a0bd929
* Fri Mar 18 2022 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.0.2-1
a0bd929
- Rebase to upstream version 3.0.2
a0bd929
b9f33d7
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0.0-2
b9f33d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
b9f33d7
347681c
* Thu Sep 09 2021 Sahana Prasad <sahana@redhat.com> - 1:3.0.0-1
347681c
- Rebase to upstream version 3.0.0