2022-05-26 14:39:29 +00:00
|
|
|
# Shared object version of libkcapi.
|
|
|
|
%global vmajor 1
|
2023-11-02 11:31:26 +00:00
|
|
|
%global vminor 4
|
2022-05-26 14:39:29 +00:00
|
|
|
%global vpatch 0
|
|
|
|
|
|
|
|
# Do we build the replacements packages?
|
|
|
|
%bcond_with replace_coreutils
|
|
|
|
# Replace fipscheck by default in Fedora 33+:
|
|
|
|
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
|
|
|
|
%bcond_without replace_fipscheck
|
|
|
|
%else
|
|
|
|
%bcond_with replace_fipscheck
|
|
|
|
%endif
|
|
|
|
# Replace hmaccalc by default in Fedora 28+:
|
|
|
|
%if 0%{?fedora} >= 28 || 0%{?rhel} >= 8
|
|
|
|
%bcond_without replace_hmaccalc
|
|
|
|
%else
|
|
|
|
%bcond_with replace_hmaccalc
|
|
|
|
%endif
|
|
|
|
%if 0%{?fedora} >= 29 || 0%{?rhel} >= 8
|
|
|
|
%bcond_without test_package
|
|
|
|
%else
|
|
|
|
%bcond_with test_package
|
|
|
|
%endif
|
2023-11-02 11:31:26 +00:00
|
|
|
# disable cppcheck analysis in ELN/RHEL to avoid the dependency bz#1931518
|
|
|
|
%if 0%{?rhel}
|
|
|
|
%bcond_with cppcheck
|
|
|
|
%else
|
|
|
|
%bcond_without cppcheck
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# Use `--without test` to build without running the tests
|
|
|
|
%bcond_without test
|
|
|
|
# Use `--without fuzz_test` to skip the fuzz test during build
|
|
|
|
%bcond_without fuzz_test
|
|
|
|
# Use `--without doc` to build without the -doc subpackage
|
|
|
|
%bcond_without doc
|
|
|
|
# Use `--without clang_sa` to skip clang static analysis during build
|
|
|
|
%bcond_without clang_sa
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
# This package needs at least Linux Kernel v4.10.0.
|
|
|
|
%global min_kernel_ver 4.10.0
|
|
|
|
|
|
|
|
# Do we need to tweak sysctl.d? In newer versions of the Linux
|
|
|
|
# Kernel the default ancillary buffer size is set high enough.
|
|
|
|
# TODO: Adapt this when the patch for net/core/sock.c is merged.
|
|
|
|
%if %{lua:print(rpm.vercmp('99.0.0', posix.uname('%r')));} >= 0
|
|
|
|
%global with_sysctl_tweak 1
|
|
|
|
%else
|
|
|
|
%global with_sysctl_tweak 0
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{with_sysctl_tweak}
|
|
|
|
# Priority for the sysctl.d preset.
|
|
|
|
%global sysctl_prio 50
|
|
|
|
|
|
|
|
# Value used for the sysctl.d preset.
|
|
|
|
%global sysctl_optmem_max 81920
|
|
|
|
|
|
|
|
# Extension for the README.distro file.
|
|
|
|
%global distroname_ext %{?fedora:fedora}%{?rhel:redhat}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# Lowest limit to run the testsuite. If we cannot obtain this
|
|
|
|
# value, we asume the testsuite cannot be run.
|
|
|
|
%global test_optmem_max %(%{__cat} /proc/sys/net/core/optmem_max || echo 0)
|
|
|
|
|
|
|
|
# For picking patches from upstream commits or pull requests.
|
|
|
|
%global giturl https://github.com/smuellerDD/%{name}
|
|
|
|
|
|
|
|
# Do we replace some coreutils?
|
|
|
|
%if %{with replace_coreutils}
|
|
|
|
# TODO: Adapt this when replacing some coreutils initially.
|
|
|
|
%global coreutils_evr 8.29-1%{?dist}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# Do we replace fipscheck?
|
|
|
|
%if %{with replace_fipscheck}
|
|
|
|
%global fipscheck_evr 1.5.0-9
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# Do we replace hmaccalc?
|
|
|
|
%if %{with replace_hmaccalc}
|
|
|
|
%global hmaccalc_evr 0.9.14-10%{?dist}
|
|
|
|
%endif
|
|
|
|
|
2023-11-02 11:31:26 +00:00
|
|
|
%global apps_hmaccalc sha1hmac sha224hmac sha256hmac sha384hmac sha512hmac sm3hmac
|
|
|
|
%global apps_fipscheck sha1sum sha224sum sha256sum sha384sum sha512sum md5sum sm3sum fipscheck fipshmac
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
# On old kernels use mock hashers implemented via openssl
|
|
|
|
%if %{lua:print(rpm.vercmp(posix.uname('%r'), '3.19'));} >= 0
|
|
|
|
%global sha512hmac bin/kcapi-hasher -n sha512hmac
|
|
|
|
%global fipshmac bin/kcapi-hasher -n fipshmac
|
|
|
|
%else
|
2023-11-02 11:31:26 +00:00
|
|
|
%global sha512hmac bash %{SOURCE2}
|
|
|
|
%global fipshmac bash %{SOURCE3}
|
2022-05-26 14:39:29 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
# Add generation of HMAC checksums of the final stripped
|
|
|
|
# binaries. %%define with lazy globbing is used here
|
|
|
|
# intentionally, because using %%global does not work.
|
|
|
|
%define __spec_install_post \
|
|
|
|
%{?__debug_package:%{__debug_install_post}} \
|
|
|
|
%{__arch_install_post} \
|
|
|
|
%{__os_install_post} \
|
|
|
|
bin_path=%{buildroot}%{_bindir} \
|
|
|
|
lib_path=%{buildroot}/%{_lib} \
|
|
|
|
for app in %{apps_hmaccalc}; do \
|
|
|
|
test -e "$bin_path"/$app || continue \
|
|
|
|
{ %sha512hmac "$bin_path"/$app || exit 1; } \\\
|
|
|
|
| cut -f 1 -d ' ' >"$lib_path"/hmaccalc/$app.hmac \
|
|
|
|
done \
|
|
|
|
for app in %{apps_fipscheck}; do \
|
|
|
|
test -e "$bin_path"/$app || continue \
|
|
|
|
%fipshmac -d "$lib_path"/fipscheck "$bin_path"/$app || exit 1 \
|
|
|
|
done \
|
|
|
|
%{_sbindir}/hardlink -cfv %{buildroot}%{_bindir} \
|
|
|
|
%fipshmac -d "$lib_path"/fipscheck \\\
|
|
|
|
"$lib_path"/libkcapi.so.%{version} || exit 1 \
|
|
|
|
%{__ln_s} libkcapi.so.%{version}.hmac \\\
|
|
|
|
"$lib_path"/fipscheck/libkcapi.so.%{vmajor}.hmac \
|
|
|
|
%{nil}
|
|
|
|
|
|
|
|
|
|
|
|
Name: libkcapi
|
|
|
|
Version: %{vmajor}.%{vminor}.%{vpatch}
|
2023-11-02 11:31:26 +00:00
|
|
|
Release: 1%{?dist}
|
2022-05-26 14:39:29 +00:00
|
|
|
Summary: User space interface to the Linux Kernel Crypto API
|
|
|
|
|
2023-11-02 11:31:26 +00:00
|
|
|
License: BSD-3-Clause OR GPL-2.0-only
|
|
|
|
URL: https://www.chronox.de/%{name}.html
|
|
|
|
Source0: https://www.chronox.de/%{name}/%{name}-%{version}.tar.xz
|
|
|
|
Source1: https://www.chronox.de/%{name}/%{name}-%{version}.tar.xz.asc
|
2022-05-26 14:39:29 +00:00
|
|
|
Source2: sha512hmac-openssl.sh
|
|
|
|
Source3: fipshmac-openssl.sh
|
|
|
|
|
2023-11-02 11:31:26 +00:00
|
|
|
Patch1: 001-tests-kernel-version.patch
|
2023-11-02 11:39:02 +00:00
|
|
|
Patch2: 002-fips-disable-ansi_cprng.patch
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
BuildRequires: bash
|
|
|
|
BuildRequires: coreutils
|
|
|
|
BuildRequires: gcc
|
2023-11-02 11:31:26 +00:00
|
|
|
BuildRequires: git-core
|
2022-05-26 14:39:29 +00:00
|
|
|
BuildRequires: hardlink
|
|
|
|
BuildRequires: kernel-headers >= %{min_kernel_ver}
|
|
|
|
BuildRequires: libtool
|
2023-11-02 11:31:26 +00:00
|
|
|
BuildRequires: make
|
2022-05-26 14:39:29 +00:00
|
|
|
BuildRequires: openssl
|
2023-11-02 11:31:26 +00:00
|
|
|
BuildRequires: perl-interpreter
|
2022-05-26 14:39:29 +00:00
|
|
|
BuildRequires: systemd
|
|
|
|
BuildRequires: xmlto
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with doc}
|
|
|
|
BuildRequires: docbook-utils-pdf
|
|
|
|
%endif
|
|
|
|
%if %{with clang_sa}
|
|
|
|
BuildRequires: clang
|
|
|
|
%endif
|
|
|
|
%if %{with cppcheck}
|
|
|
|
BuildRequires: cppcheck >= 2.4
|
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
# For ownership of %%{_sysctldir}.
|
|
|
|
Requires: systemd
|
|
|
|
|
|
|
|
Obsoletes: %{name}-replacements <= %{version}-%{release}
|
|
|
|
|
|
|
|
%description
|
|
|
|
libkcapi allows user-space to access the Linux kernel crypto API.
|
|
|
|
|
|
|
|
This library uses the netlink interface and exports easy to use APIs
|
|
|
|
so that a developer does not need to consider the low-level netlink
|
|
|
|
interface handling.
|
|
|
|
|
|
|
|
The library does not implement any cipher algorithms. All consumer
|
|
|
|
requests are sent to the kernel for processing. Results from the
|
|
|
|
kernel crypto API are returned to the consumer via the library API.
|
|
|
|
|
|
|
|
The kernel interface and therefore this library can be used by
|
|
|
|
unprivileged processes.
|
|
|
|
|
|
|
|
|
|
|
|
%package devel
|
|
|
|
Summary: Development files for the %{name} package
|
|
|
|
Requires: %{name}%{?_isa} == %{version}-%{release}
|
|
|
|
|
|
|
|
%description devel
|
|
|
|
Header files for applications that use %{name}.
|
|
|
|
|
|
|
|
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with doc}
|
2022-05-26 14:39:29 +00:00
|
|
|
%package doc
|
|
|
|
Summary: User documentation for the %{name} package
|
|
|
|
Requires: %{name}%{?_isa} == %{version}-%{release}
|
|
|
|
|
|
|
|
%description doc
|
|
|
|
User documentation for %{name}.
|
2023-11-02 11:31:26 +00:00
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
%if %{with replace_coreutils}
|
|
|
|
%package checksum
|
|
|
|
Summary: Drop-in replacement for *sum utils provided by the %{name} package
|
|
|
|
Requires: %{name}%{?_isa} == %{version}-%{release}
|
|
|
|
|
|
|
|
Requires: coreutils%{?_isa} >= %{coreutils_evr}
|
|
|
|
|
|
|
|
Conflicts: coreutils < %{coreutils_evr}
|
|
|
|
Conflicts: coreutils-single
|
|
|
|
|
|
|
|
%description checksum
|
|
|
|
Provides drop-in replacements for sha*sum tools (from package
|
|
|
|
coreutils) using %{name}.
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with replace_fipscheck}
|
|
|
|
%package fipscheck
|
|
|
|
Summary: Drop-in replacements for fipscheck/fipshmac provided by the %{name} package
|
|
|
|
Requires: %{name}%{?_isa} == %{version}-%{release}
|
|
|
|
|
|
|
|
Obsoletes: fipscheck <= %{fipscheck_evr}
|
|
|
|
|
|
|
|
Provides: fipscheck == %{fipscheck_evr}.1
|
|
|
|
Provides: fipscheck%{?_isa} == %{fipscheck_evr}.1
|
|
|
|
|
|
|
|
%description fipscheck
|
|
|
|
Provides drop-in replacements for fipscheck and fipshmac tools (from
|
|
|
|
package fipscheck) using %{name}.
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with replace_hmaccalc}
|
|
|
|
%package hmaccalc
|
|
|
|
Summary: Drop-in replacements for hmaccalc provided by the %{name} package
|
|
|
|
Requires: %{name}%{?_isa} == %{version}-%{release}
|
|
|
|
|
|
|
|
Obsoletes: hmaccalc <= %{hmaccalc_evr}
|
|
|
|
|
|
|
|
Provides: hmaccalc == %{hmaccalc_evr}.1
|
|
|
|
Provides: hmaccalc%{?_isa} == %{hmaccalc_evr}.1
|
|
|
|
|
|
|
|
%description hmaccalc
|
|
|
|
Provides drop-in replacements for sha*hmac tools (from package
|
|
|
|
hmaccalc) using %{name}.
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%package static
|
|
|
|
Summary: Static library for -static linking with %{name}
|
|
|
|
Requires: %{name}-devel%{?_isa} == %{version}-%{release}
|
|
|
|
|
|
|
|
%description static
|
|
|
|
This package contains the %{name} static libraries for -static
|
|
|
|
linking. You don't need this, unless you link statically, which
|
|
|
|
is highly discouraged.
|
|
|
|
|
|
|
|
|
|
|
|
%package tools
|
|
|
|
Summary: Utility applications for the %{name} package
|
|
|
|
Requires: %{name}%{?_isa} == %{version}-%{release}
|
|
|
|
|
|
|
|
%description tools
|
|
|
|
Utility applications that are provided with %{name}. This includes
|
|
|
|
tools to use message digests, symmetric ciphers and random number
|
|
|
|
generators implemented in the Linux kernel from command line.
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with test_package}
|
|
|
|
%package tests
|
|
|
|
Summary: Testing scripts for the %{name} package
|
|
|
|
Requires: %{name}%{?_isa} == %{version}-%{release}
|
|
|
|
Requires: %{name}-tools%{?_isa} == %{version}-%{release}
|
|
|
|
%if %{with replace_hmaccalc}
|
|
|
|
Requires: %{name}-hmaccalc%{?_isa} == %{version}-%{release}
|
|
|
|
%endif
|
|
|
|
%if %{with replace_coreutils}
|
|
|
|
Requires: %{name}-checksum%{?_isa} == %{version}-%{release}
|
|
|
|
%endif
|
|
|
|
Requires: coreutils
|
|
|
|
Requires: openssl
|
2023-11-02 11:31:26 +00:00
|
|
|
Requires: perl-interpreter
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
%description tests
|
|
|
|
Auxiliary scripts for testing %{name}.
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%autosetup -p 1 -S git
|
|
|
|
|
|
|
|
%if %{with_sysctl_tweak}
|
|
|
|
%{__cat} << EOF > README.%{distroname_ext}
|
|
|
|
This package increases the default limit of the ancillary buffer size
|
|
|
|
per kernel socket defined in \`net.core.optmem_max\` to %{sysctl_optmem_max} bytes.
|
|
|
|
|
|
|
|
For this preset to become active it requires a reboot after the
|
|
|
|
installation of this package. You can also manually increase this
|
|
|
|
limit by invocing \`sysctl net.core.optmem_max=%{sysctl_optmem_max}\` as the
|
|
|
|
super-user, e.g. using \`su\` or \`sudo\` on the terminal.
|
|
|
|
|
|
|
|
This is done to provide consumers of the new Linux Kernel Crypto API
|
|
|
|
User Space Interface a well sufficient and reasonable maximum limit
|
|
|
|
by default, especially when using AIO with a larger amount of IOVECs.
|
|
|
|
|
|
|
|
For further information about the AF_ALG kernel socket and AIO, see
|
|
|
|
the discussion at the kernel-crypto mailing-list:
|
|
|
|
https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg30417.html
|
|
|
|
|
|
|
|
See the instructions given in '%{_sysctldir}/50-default.conf',
|
|
|
|
if you need or want to override the preset made by this package.
|
|
|
|
EOF
|
|
|
|
|
|
|
|
%{__cat} << EOF > %{sysctl_prio}-%{name}-optmem_max.conf
|
|
|
|
# See the 'README.%{distroname_ext}' file shipped in %%doc
|
|
|
|
# with the %{name} package.
|
|
|
|
#
|
|
|
|
# See '%{_sysctldir}/50-default.conf',
|
|
|
|
# if you need or want to override this preset.
|
|
|
|
|
|
|
|
# Increase the ancillary buffer size per socket.
|
|
|
|
net.core.optmem_max = %{sysctl_optmem_max}
|
|
|
|
EOF
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%{_bindir}/autoreconf -fiv
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
%configure \
|
|
|
|
--libdir=/%{_lib} \
|
|
|
|
--disable-silent-rules \
|
|
|
|
--enable-kcapi-encapp \
|
|
|
|
--enable-kcapi-dgstapp \
|
|
|
|
--enable-kcapi-hasher \
|
|
|
|
--enable-kcapi-rngapp \
|
|
|
|
--enable-kcapi-speed \
|
|
|
|
--enable-kcapi-test \
|
|
|
|
--enable-shared \
|
|
|
|
--enable-static \
|
|
|
|
--enable-sum-prefix= \
|
|
|
|
--enable-sum-dir=/%{_lib} \
|
|
|
|
--with-pkgconfigdir=%{_libdir}/pkgconfig
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with doc}
|
2022-05-26 14:39:29 +00:00
|
|
|
%make_build all doc
|
2023-11-02 11:31:26 +00:00
|
|
|
%else
|
|
|
|
%make_build all man
|
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
%make_install
|
|
|
|
|
|
|
|
# Install sysctl.d preset.
|
|
|
|
%{__mkdir_p} %{buildroot}%{_sysctldir}
|
|
|
|
%{__install} -Dpm 0644 -t %{buildroot}%{_sysctldir} \
|
|
|
|
%{sysctl_prio}-%{name}-optmem_max.conf
|
|
|
|
|
|
|
|
# Install into proper location for inclusion by %%doc.
|
|
|
|
%{__mkdir_p} %{buildroot}%{_pkgdocdir}
|
|
|
|
%{__install} -Dpm 0644 -t %{buildroot}%{_pkgdocdir} \
|
|
|
|
%if %{with_sysctl_tweak}
|
|
|
|
README.%{distroname_ext} \
|
|
|
|
%endif
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with doc}
|
|
|
|
doc/%{name}.p{df,s} \
|
|
|
|
%endif
|
|
|
|
README.md CHANGES.md TODO
|
|
|
|
|
|
|
|
%if %{with doc}
|
2022-05-26 14:39:29 +00:00
|
|
|
%{__cp} -pr lib/doc/html %{buildroot}%{_pkgdocdir}
|
2023-11-02 11:31:26 +00:00
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
# Install replacement tools, if enabled.
|
|
|
|
%if !%{with replace_coreutils}
|
|
|
|
%{__rm} -f \
|
|
|
|
%{buildroot}%{_bindir}/md5sum \
|
2023-11-02 11:31:26 +00:00
|
|
|
%{buildroot}%{_bindir}/sha*sum \
|
|
|
|
%{buildroot}%{_bindir}/sm*sum
|
2022-05-26 14:39:29 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%if !%{with replace_fipscheck}
|
|
|
|
%{__rm} -f %{buildroot}%{_bindir}/fips*
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if !%{with replace_hmaccalc}
|
|
|
|
%{__rm} -f %{buildroot}%{_bindir}/sha*hmac
|
2023-11-02 11:31:26 +00:00
|
|
|
%{__rm} -f %{buildroot}%{_bindir}/sm*hmac
|
2022-05-26 14:39:29 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
# We don't ship autocrap dumplings.
|
|
|
|
%{_bindir}/find %{buildroot} -type f -name '*.la' -print -delete
|
|
|
|
|
|
|
|
# HMAC checksums are generated during __spec_install_post.
|
|
|
|
%{_bindir}/find %{buildroot} -type f -name '*.hmac' -print -delete
|
|
|
|
|
|
|
|
# Remove 0-size files.
|
|
|
|
%{_bindir}/find %{buildroot} -type f -size 0 -print -delete
|
|
|
|
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with doc}
|
2022-05-26 14:39:29 +00:00
|
|
|
# Make sure all docs have non-exec permissions, except for the dirs.
|
|
|
|
%{_bindir}/find %{buildroot}%{_pkgdocdir} -type f -print | \
|
|
|
|
%{_bindir}/xargs %{__chmod} -c 0644
|
|
|
|
%{_bindir}/find %{buildroot}%{_pkgdocdir} -type d -print | \
|
|
|
|
%{_bindir}/xargs %{__chmod} -c 0755
|
2023-11-02 11:31:26 +00:00
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
# Possibly save some space by hardlinking.
|
|
|
|
for d in %{_mandir} %{_pkgdocdir}; do
|
|
|
|
%{_sbindir}/hardlink -cfv %{buildroot}$d
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
# Some basic sanity checks.
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with clang_sa}
|
|
|
|
%make_build scan
|
|
|
|
%endif
|
|
|
|
%if %{with cppcheck}
|
|
|
|
%make_build cppcheck
|
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with test}
|
2022-05-26 14:39:29 +00:00
|
|
|
# On some arches `/proc/sys/net/core/optmem_max` is lower than 20480,
|
|
|
|
# which is the lowest limit needed to run the testsuite. If that limit
|
|
|
|
# is not met, we do not run it.
|
|
|
|
%if %{test_optmem_max} >= 20480
|
|
|
|
# Skip the testsuite on old kernels.
|
|
|
|
%if %{lua:print(rpm.vercmp(posix.uname('%r'), '5.1'));} >= 0
|
|
|
|
# Real testsuite.
|
|
|
|
pushd test
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with fuzz_test}
|
|
|
|
ENABLE_FUZZ_TEST=1 \
|
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
NO_32BIT_TEST=1 \
|
2023-11-02 11:31:26 +00:00
|
|
|
./test-invocation.sh
|
2022-05-26 14:39:29 +00:00
|
|
|
popd
|
|
|
|
%endif
|
|
|
|
%endif
|
2023-11-02 11:31:26 +00:00
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
%ldconfig_scriptlets
|
|
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
%doc %dir %{_pkgdocdir}
|
|
|
|
%doc %{_pkgdocdir}/README.md
|
2023-11-02 11:31:26 +00:00
|
|
|
%license COPYING*
|
2022-05-26 14:39:29 +00:00
|
|
|
/%{_lib}/%{name}.so.%{vmajor}
|
|
|
|
/%{_lib}/%{name}.so.%{version}
|
|
|
|
/%{_lib}/fipscheck/%{name}.so.%{vmajor}.hmac
|
|
|
|
/%{_lib}/fipscheck/%{name}.so.%{version}.hmac
|
|
|
|
%if %{with_sysctl_tweak}
|
|
|
|
%doc %{_pkgdocdir}/README.%{distroname_ext}
|
|
|
|
%{_sysctldir}/%{sysctl_prio}-%{name}-optmem_max.conf
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
%doc %{_pkgdocdir}/CHANGES.md
|
|
|
|
%doc %{_pkgdocdir}/TODO
|
|
|
|
%{_includedir}/kcapi.h
|
|
|
|
%{_mandir}/man3/kcapi_*.3.*
|
|
|
|
/%{_lib}/%{name}.so
|
|
|
|
%{_libdir}/pkgconfig/%{name}.pc
|
|
|
|
|
|
|
|
|
2023-11-02 11:31:26 +00:00
|
|
|
%if %{with doc}
|
2022-05-26 14:39:29 +00:00
|
|
|
%files doc
|
2023-11-02 11:31:26 +00:00
|
|
|
%doc %{_pkgdocdir}/html
|
|
|
|
%doc %{_pkgdocdir}/%{name}.pdf
|
|
|
|
%doc %{_pkgdocdir}/%{name}.ps
|
|
|
|
%endif
|
2022-05-26 14:39:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
%if %{with replace_coreutils}
|
|
|
|
%files checksum
|
|
|
|
%{_bindir}/md5sum
|
|
|
|
%{_bindir}/sha*sum
|
2023-11-02 11:31:26 +00:00
|
|
|
%{_bindir}/sm*sum
|
2022-05-26 14:39:29 +00:00
|
|
|
/%{_lib}/fipscheck/md5sum.hmac
|
|
|
|
/%{_lib}/fipscheck/sha*sum.hmac
|
2023-11-02 11:31:26 +00:00
|
|
|
/%{_lib}/fipscheck/sm*sum.hmac
|
2022-05-26 14:39:29 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{with replace_fipscheck}
|
|
|
|
%files fipscheck
|
|
|
|
%{_bindir}/fips*
|
|
|
|
/%{_lib}/fipscheck/fips*.hmac
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{with replace_hmaccalc}
|
|
|
|
%files hmaccalc
|
|
|
|
%{_bindir}/sha*hmac
|
2023-11-02 11:31:26 +00:00
|
|
|
%{_bindir}/sm*hmac
|
2022-05-26 14:39:29 +00:00
|
|
|
/%{_lib}/hmaccalc/sha*hmac.hmac
|
2023-11-02 11:31:26 +00:00
|
|
|
/%{_lib}/hmaccalc/sm*hmac.hmac
|
2022-05-26 14:39:29 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%files static
|
|
|
|
/%{_lib}/%{name}.a
|
|
|
|
|
|
|
|
|
|
|
|
%files tools
|
|
|
|
%{_bindir}/kcapi*
|
|
|
|
%{_mandir}/man1/kcapi*.1.*
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with test_package}
|
|
|
|
%files tests
|
|
|
|
%{_libexecdir}/%{name}/*
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
2023-11-02 11:31:26 +00:00
|
|
|
* Wed Nov 01 2023 Zoltan Fridrich <zfridric@redhat.com> - 1.4.0-1
|
|
|
|
- Update to new upstream release 1.4.0
|
|
|
|
Resolves: RHEL-5366
|
2023-11-02 11:39:02 +00:00
|
|
|
- Add a patch to fix auxiliary tests in FIPS mode
|
|
|
|
Resolves: RHEL-2406
|
2023-11-02 11:31:26 +00:00
|
|
|
|
2022-05-26 14:39:29 +00:00
|
|
|
* Tue May 26 2020 Sahana Prasad <sahana@redhat.com> - 1.2.0-2
|
|
|
|
- Fix double free issue in hasher()
|
|
|
|
|
|
|
|
* Mon May 25 2020 Sahana Prasad <sahana@redhat.com> - 1.2.0-1
|
|
|
|
- [RHEL] Update to upstream version 1.2.0
|
|
|
|
|
|
|
|
* Thu Apr 30 2020 Sahana Prasad <sahana@redhat.com> - 1.1.5-3
|
|
|
|
- Enables building on old kernels [sync fix in Fedora from omosnance].
|
|
|
|
- This is required for covscans as they run on RHEL7 machines.
|
|
|
|
|
|
|
|
* Wed Apr 29 2020 Sahana Prasad <sahana@redhat.com> - 1.1.5-2
|
|
|
|
- Drop the license from the doc subpackage to avoid conflicts
|
|
|
|
|
|
|
|
* Mon Apr 27 2020 Sahana Prasad <sahana@redhat.com> - 1.1.5-1
|
|
|
|
- [RHEL] Update to upstream version 1.1.5
|
|
|
|
- [RHEL] Sync with Fedora branch
|
|
|
|
|
|
|
|
* Thu Aug 09 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-16_1
|
|
|
|
- [RHEL] Apply 'Add missing dependencies to the tests package'
|
|
|
|
- [RHEL] Apply 'Update patch from upstream'
|
|
|
|
|
|
|
|
* Thu Aug 09 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-16
|
|
|
|
- Add missing dependencies to the tests package
|
|
|
|
- Update patch from upstream
|
|
|
|
|
|
|
|
* Thu Aug 09 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-15_1
|
|
|
|
- [RHEL] Apply 'Build and tests require perl'
|
|
|
|
|
|
|
|
* Thu Aug 09 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-15
|
|
|
|
- Build and tests require perl
|
|
|
|
|
|
|
|
* Thu Aug 09 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-14_2
|
|
|
|
- [RHEL] Re-enable AEAD tests and ignore test result
|
|
|
|
- [RHEL] Drop the ppc64 ignore-failures workaround
|
|
|
|
|
|
|
|
* Thu Aug 09 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-14_1
|
|
|
|
- [RHEL] Apply 'Add missing script to the 'tests' package'
|
|
|
|
|
|
|
|
* Thu Aug 09 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-14
|
|
|
|
- Add missing script to the 'tests' package
|
|
|
|
|
|
|
|
* Wed Aug 08 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-13_1
|
|
|
|
- [RHEL] Sync with the Fedora branch
|
|
|
|
|
|
|
|
* Wed Aug 08 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-13
|
|
|
|
- Add missing requires to the 'tests' subpackage
|
|
|
|
|
|
|
|
* Wed Aug 08 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-12_1
|
|
|
|
- [RHEL] Sync with the Fedora branch
|
|
|
|
|
|
|
|
* Tue Aug 07 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-12
|
|
|
|
- Produce a subpackage with test scripts
|
|
|
|
- Build the 'tests' subpackage conditionally
|
|
|
|
|
|
|
|
* Wed Aug 01 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-11_1
|
|
|
|
- [RHEL] Sync with the Fedora branch
|
|
|
|
|
|
|
|
* Wed Aug 01 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-11
|
|
|
|
- Add patch to fix unwanted closing of FD 0
|
|
|
|
|
|
|
|
* Tue Jul 31 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-10
|
|
|
|
- Remove the kernel headers workaround
|
|
|
|
|
|
|
|
* Mon Jul 30 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-9_1
|
|
|
|
- [RHEL] Sync with the Fedora branch
|
|
|
|
- [RHEL] Rebase the disable-AEAD-tests patch
|
|
|
|
|
|
|
|
* Fri Jul 27 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.1.1-9
|
|
|
|
- Rebuild for new binutils
|
|
|
|
|
|
|
|
* Fri Jul 27 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-8
|
|
|
|
- Add more Coverity fixes from upstream
|
|
|
|
- Add patch to fix AEAD fuzz test for BE arches
|
|
|
|
- Fixup specfile
|
|
|
|
|
|
|
|
* Mon Jul 23 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-7_1
|
|
|
|
- [RHEL] Sync with the Fedora branch
|
|
|
|
- [RHEL] Fixup specfile
|
|
|
|
- [RHEL] Rebase the disable-AEAD-tests patch
|
|
|
|
|
|
|
|
* Mon Jul 23 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-7
|
|
|
|
- Add various fixes from upstream
|
|
|
|
- Drop the Requires on kernel package
|
|
|
|
|
|
|
|
* Wed Jul 18 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-3_2
|
|
|
|
- [RHEL] Temporarily disable AEAD tests
|
|
|
|
|
|
|
|
* Mon Jul 16 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-6
|
|
|
|
- Put .hmac files into a separate directory
|
|
|
|
|
|
|
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-5
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
|
|
|
* Thu Jul 12 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-4
|
|
|
|
- Add patch to work around FTBFS on rawhide
|
|
|
|
|
|
|
|
* Wed Jul 11 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-3_1
|
|
|
|
- [RHEL] Sync with the Fedora branch
|
|
|
|
|
|
|
|
* Wed Jul 11 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-3
|
|
|
|
- Fix off-by-one error in checkfile parsing
|
|
|
|
|
|
|
|
* Wed Jul 11 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-2_2
|
|
|
|
- [RHEL] Disable fuzz test
|
|
|
|
|
|
|
|
* Wed Jul 11 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-2_1
|
|
|
|
- [RHEL] Sync with the Fedora branch
|
|
|
|
|
|
|
|
* Wed Jul 11 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-2
|
|
|
|
- Fix command-line parsing in libkcapi-hmaccalc
|
|
|
|
|
|
|
|
* Tue Jul 10 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-1_2
|
|
|
|
- [RHEL] Work around build failure with new kernel headers
|
|
|
|
|
|
|
|
* Mon Jun 18 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-1_1
|
|
|
|
- [RHEL] Skip CLang static analysis
|
|
|
|
- [RHEL] Remove the dependency on kernel package
|
|
|
|
|
|
|
|
* Mon Jun 18 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.1-1
|
|
|
|
- Update to upstream version 1.1.1
|
|
|
|
|
|
|
|
* Wed May 09 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.0-5
|
|
|
|
- Skip CLang static analysis in RHEL
|
|
|
|
- Revert "Skip CLang static analysis in RHEL"
|
|
|
|
- Use own sha512hmac and fipscheck
|
|
|
|
|
|
|
|
* Wed May 02 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.0-4
|
|
|
|
- Fix description lines being too long
|
|
|
|
|
|
|
|
* Fri Apr 27 2018 Björn Esser <besser82@fedoraproject.org> - 1.1.0-3
|
|
|
|
- Fix conditional for hmaccalc replacement
|
|
|
|
|
|
|
|
* Mon Apr 16 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.0-2
|
|
|
|
- Enable hmaccalc replacements in Fedora 28+
|
|
|
|
|
|
|
|
* Thu Apr 12 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.0-1
|
|
|
|
- Update to upstream version 1.1.0
|
|
|
|
|
|
|
|
* Sat Mar 31 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-10
|
|
|
|
- Replace single patches with a monolitic one from upstream
|
|
|
|
- Obsolete replacements subpackage
|
|
|
|
- Ignore failing tests on %%{power64} temporarily
|
|
|
|
|
|
|
|
* Thu Mar 08 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.0.3-9
|
|
|
|
- Split up the replacements subpackage
|
|
|
|
|
|
|
|
* Mon Feb 26 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-8
|
|
|
|
- Increase optmem_max preset to 81920
|
|
|
|
|
|
|
|
* Mon Feb 26 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-7
|
|
|
|
- Obsoletes work by package name, not by provides (rhbz#1537225)
|
|
|
|
|
|
|
|
* Sun Feb 25 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-6
|
|
|
|
- Add patch to fix a copy-paste typo
|
|
|
|
|
|
|
|
* Sat Feb 17 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-5
|
|
|
|
- Add patch to fix build with -Werror
|
|
|
|
|
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org>
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
|
|
|
|
* Sun Feb 04 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-3
|
|
|
|
- Switch to %%ldconfig_scriptlets
|
|
|
|
|
|
|
|
* Wed Jan 17 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-2
|
|
|
|
- Decrease optmem_max preset to 40960
|
|
|
|
- Let the build fail, if the minimum kernel version cannot be met
|
|
|
|
- Conditionalize the sysctl.d tweak on version of the kernel
|
|
|
|
- Conditionalize the name of README.distro on the distro
|
|
|
|
|
|
|
|
* Tue Jan 16 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-1
|
|
|
|
- Initial import (rhbz#1533929)
|
|
|
|
|
|
|
|
* Tue Jan 16 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.13
|
|
|
|
- Increase optmem_max preset to 81920
|
|
|
|
|
|
|
|
* Tue Jan 16 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.12
|
|
|
|
- Add sysctl.d preset and README.fedora
|
|
|
|
|
|
|
|
* Mon Jan 15 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.11
|
|
|
|
- Make the contents of the -replacements package configurable
|
|
|
|
|
|
|
|
* Mon Jan 15 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.10
|
|
|
|
- Fix Obsoletes of the -replacements package
|
|
|
|
|
|
|
|
* Sun Jan 14 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.9
|
|
|
|
- Disable the -replacements package until we have a plan for it
|
|
|
|
|
|
|
|
* Sun Jan 14 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.8
|
|
|
|
- Move the kcapi-hasher binary to -replacements package, since it is
|
|
|
|
not of much use without the linked invocation names and saves the
|
|
|
|
extra Requires on the -tools package
|
|
|
|
|
|
|
|
* Sun Jan 14 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.7
|
|
|
|
- Fix internal Requires of sub-packages
|
|
|
|
- Hardlink files in %%{_bindir}
|
|
|
|
|
|
|
|
* Sun Jan 14 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.6
|
|
|
|
- Add patches from upstream
|
|
|
|
|
|
|
|
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.5
|
|
|
|
- Add patches from upstream
|
|
|
|
|
|
|
|
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.4
|
|
|
|
- Asume the testsuite cannot be run, if the value of optmem_max cannot
|
|
|
|
be obtained
|
|
|
|
|
|
|
|
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.3
|
|
|
|
- Move libraries to /%%{_lib} instead of %%{_libdir}, which is useful
|
|
|
|
during boot when the library might be needed before a potentially
|
|
|
|
seperate /usr partition is mounted
|
|
|
|
|
|
|
|
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.2
|
|
|
|
- Asume optmem_max is at least 20480, if the real value cannot be obtained
|
|
|
|
|
|
|
|
* Fri Jan 12 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.1
|
|
|
|
- New upstream release
|
|
|
|
|
|
|
|
* Wed Jan 10 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.2-0.1
|
|
|
|
- Initial rpm release (rhbz#1533929)
|