|
|
11f6e1 |
Name: shim-signed
|
|
|
11f6e1 |
Version: 0.7
|
|
|
11f6e1 |
Release: 12%{?dist}
|
|
|
11f6e1 |
Summary: First-stage UEFI bootloader
|
|
|
11f6e1 |
Provides: shim = %{version}-%{release}
|
|
|
11f6e1 |
%define unsigned_release 10%{?dist}
|
|
|
11f6e1 |
ExclusiveArch: aarch64
|
|
|
11f6e1 |
|
|
|
11f6e1 |
License: BSD
|
|
|
11f6e1 |
URL: http://www.codon.org.uk/~mjg59/shim/
|
|
|
11f6e1 |
Source0: BOOT.CSV
|
|
|
11f6e1 |
Source1: shimx64.efi
|
|
|
11f6e1 |
Source2: shimaa64.efi
|
|
|
11f6e1 |
Source3: secureboot.cer
|
|
|
11f6e1 |
Source4: securebootca.cer
|
|
|
11f6e1 |
%ifarch x86_64
|
|
|
11f6e1 |
%global efiarch X64
|
|
|
11f6e1 |
%global shimsrc %{SOURCE1}
|
|
|
11f6e1 |
%endif
|
|
|
11f6e1 |
%ifarch aarch64
|
|
|
11f6e1 |
%global efiarch AA64
|
|
|
11f6e1 |
%global shimsrc %{SOURCE2}
|
|
|
11f6e1 |
%endif
|
|
|
11f6e1 |
|
|
|
11f6e1 |
BuildRequires: shim-unsigned = %{version}-%{unsigned_release}
|
|
|
11f6e1 |
BuildRequires: pesign >= 0.106-5%{dist}
|
|
|
11f6e1 |
|
|
|
11f6e1 |
# Shim uses OpenSSL, but cannot use the system copy as the UEFI ABI is not
|
|
|
11f6e1 |
# compatible with SysV (there's no red zone under UEFI) and there isn't a
|
|
|
11f6e1 |
# POSIX-style C library.
|
|
|
11f6e1 |
# BuildRequires: OpenSSL
|
|
|
11f6e1 |
Provides: bundled(openssl) = 0.9.8zb
|
|
|
11f6e1 |
|
|
|
11f6e1 |
# Shim is only required on platforms implementing the UEFI secure boot
|
|
|
11f6e1 |
# protocol. The only one of those we currently wish to support is 64-bit x86.
|
|
|
11f6e1 |
# Adding further platforms will require adding appropriate relocation code.
|
|
|
11f6e1 |
ExclusiveArch: x86_64 aarch64
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%global debug_package %{nil}
|
|
|
11f6e1 |
|
|
|
11f6e1 |
# Figure out the right file path to use
|
|
|
11f6e1 |
%if 0%{?rhel}
|
|
|
11f6e1 |
%global efidir redhat
|
|
|
11f6e1 |
%endif
|
|
|
11f6e1 |
%if 0%{?fedora}
|
|
|
11f6e1 |
%global efidir fedora
|
|
|
11f6e1 |
%endif
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%define ca_signed_arches x86_64
|
|
|
11f6e1 |
%define rh_signed_arches x86_64 aarch64
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%description
|
|
|
11f6e1 |
Initial UEFI bootloader that handles chaining to a trusted full bootloader
|
|
|
11f6e1 |
under secure boot environments. This package contains the version signed by
|
|
|
11f6e1 |
the UEFI signing service.
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%package -n shim
|
|
|
11f6e1 |
Summary: First-stage UEFI bootloader
|
|
|
11f6e1 |
Requires: shim-unsigned = %{version}-%{unsigned_release}
|
|
|
11f6e1 |
Requires: mokutil = %{version}-%{unsigned_release}
|
|
|
11f6e1 |
Provides: shim-signed = %{version}-%{release}
|
|
|
11f6e1 |
Obsoletes: shim-signed < %{version}-%{release}
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%description -n shim
|
|
|
11f6e1 |
Initial UEFI bootloader that handles chaining to a trusted full bootloader
|
|
|
11f6e1 |
under secure boot environments. This package contains the version signed by
|
|
|
11f6e1 |
the UEFI signing service.
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%prep
|
|
|
11f6e1 |
cd %{_builddir}
|
|
|
11f6e1 |
rm -rf shim-signed-%{version}
|
|
|
11f6e1 |
mkdir shim-signed-%{version}
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%build
|
|
|
11f6e1 |
%define vendor_token_str %{expand:%%{nil}%%{?vendor_token_name:-t "%{vendor_token_name}"}}
|
|
|
11f6e1 |
%define vendor_cert_str %{expand:%%{!?vendor_cert_nickname:-c "Red Hat Test Certificate"}%%{?vendor_cert_nickname:-c "%%{vendor_cert_nickname}"}}
|
|
|
11f6e1 |
|
|
|
11f6e1 |
cd shim-signed-%{version}
|
|
|
11f6e1 |
%ifarch %{ca_signed_arches}
|
|
|
11f6e1 |
pesign -i %{shimsrc} -h -P > shim.hash
|
|
|
11f6e1 |
if ! cmp shim.hash %{_datadir}/shim/shim.hash ; then
|
|
|
11f6e1 |
echo Invalid signature\! > /dev/stderr
|
|
|
11f6e1 |
exit 1
|
|
|
11f6e1 |
fi
|
|
|
11f6e1 |
cp %{shimsrc} shim.efi
|
|
|
11f6e1 |
%endif
|
|
|
11f6e1 |
%ifarch %{rh_signed_arches}
|
|
|
11f6e1 |
%pesign -s -i %{_datadir}/shim/shim.efi -a %{SOURCE4} -c %{SOURCE3} -n redhatsecureboot301 -o shim-%{efidir}.efi
|
|
|
11f6e1 |
%endif
|
|
|
11f6e1 |
%ifarch %{rh_signed_arches}
|
|
|
11f6e1 |
%ifnarch %{ca_signed_arches}
|
|
|
11f6e1 |
cp shim-%{efidir}.efi shim.efi
|
|
|
11f6e1 |
%endif
|
|
|
11f6e1 |
%endif
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%pesign -s -i %{_datadir}/shim/MokManager.efi -o MokManager.efi -a %{SOURCE4} -c %{SOURCE3} -n redhatsecureboot301
|
|
|
11f6e1 |
%pesign -s -i %{_datadir}/shim/fallback.efi -o fallback.efi -a %{SOURCE4} -c %{SOURCE3} -n redhatsecureboot301
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%install
|
|
|
11f6e1 |
rm -rf $RPM_BUILD_ROOT
|
|
|
11f6e1 |
cd shim-signed-%{version}
|
|
|
11f6e1 |
install -D -d -m 0755 $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/
|
|
|
11f6e1 |
install -m 0644 shim.efi $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/shim.efi
|
|
|
11f6e1 |
install -m 0644 shim-%{efidir}.efi $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/shim-%{efidir}.efi
|
|
|
11f6e1 |
install -m 0644 MokManager.efi $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/MokManager.efi
|
|
|
11f6e1 |
install -m 0644 %{SOURCE0} $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/BOOT.CSV
|
|
|
11f6e1 |
|
|
|
11f6e1 |
install -D -d -m 0755 $RPM_BUILD_ROOT/boot/efi/EFI/BOOT/
|
|
|
11f6e1 |
install -m 0644 shim.efi $RPM_BUILD_ROOT/boot/efi/EFI/BOOT/BOOT%{efiarch}.EFI
|
|
|
11f6e1 |
install -m 0644 fallback.efi $RPM_BUILD_ROOT/boot/efi/EFI/BOOT/fallback.efi
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%files -n shim
|
|
|
11f6e1 |
/boot/efi/EFI/%{efidir}/shim.efi
|
|
|
11f6e1 |
/boot/efi/EFI/%{efidir}/shim-%{efidir}.efi
|
|
|
11f6e1 |
/boot/efi/EFI/%{efidir}/MokManager.efi
|
|
|
11f6e1 |
/boot/efi/EFI/%{efidir}/BOOT.CSV
|
|
|
11f6e1 |
/boot/efi/EFI/BOOT/BOOT%{efiarch}.EFI
|
|
|
11f6e1 |
/boot/efi/EFI/BOOT/fallback.efi
|
|
|
11f6e1 |
|
|
|
11f6e1 |
%changelog
|
|
|
11f6e1 |
* Wed Feb 25 2015 Peter Jones <pjones@redhat.com> - 0.7-12
|
|
|
11f6e1 |
- Fix some minor build bugs on Aarch64
|
|
|
11f6e1 |
Related: rhbz#1190191
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Tue Feb 24 2015 Peter Jones <pjones@redhat.com> - 0.7-11
|
|
|
11f6e1 |
- Fix section loading on Aarch64
|
|
|
11f6e1 |
Related: rhbz#1190191
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Wed Dec 17 2014 Peter Jones <pjones@redhat.com> - 0.7-10
|
|
|
11f6e1 |
- Rebuild for Aarch64 to get \EFI\BOOT\BOOTAA64.EFI named right.
|
|
|
11f6e1 |
(I managed to fix the inputs but not the outputs in -9.)
|
|
|
11f6e1 |
Related: rhbz#1100048
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Wed Dec 17 2014 Peter Jones <pjones@redhat.com> - 0.7-9
|
|
|
11f6e1 |
- Rebuild for Aarch64 to get \EFI\BOOT\BOOTAA64.EFI named right.
|
|
|
11f6e1 |
Related: rhbz#1100048
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Tue Oct 21 2014 Peter Jones <pjones@redhat.com> - 0.7-8
|
|
|
11f6e1 |
- Build for aarch64 as well
|
|
|
11f6e1 |
Related: rhbz#1100048
|
|
|
11f6e1 |
- out-of-bounds memory read flaw in DHCPv6 packet processing
|
|
|
11f6e1 |
Resolves: CVE-2014-3675
|
|
|
11f6e1 |
- heap-based buffer overflow flaw in IPv6 address parsing
|
|
|
11f6e1 |
Resolves: CVE-2014-3676
|
|
|
11f6e1 |
- memory corruption flaw when processing Machine Owner Keys (MOKs)
|
|
|
11f6e1 |
Resolves: CVE-2014-3677
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Tue Sep 23 2014 Peter Jones <pjones@redhat.com> - 0.7-7
|
|
|
11f6e1 |
- Make sure we use the right keys on Aarch64.
|
|
|
11f6e1 |
(It's only a demo at this stage.)
|
|
|
11f6e1 |
Related: rhbz#1100048
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Tue Sep 23 2014 Peter Jones <pjones@redhat.com> - 0.7-6
|
|
|
11f6e1 |
- Add ARM Aarch64.
|
|
|
11f6e1 |
Related: rhbz#1100048
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Thu Feb 27 2014 Peter Jones <pjones@redhat.com> - 0.7-5.2
|
|
|
11f6e1 |
- Get the right signatures on shim-redhat.efi
|
|
|
11f6e1 |
Related: rhbz#1064449
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Thu Feb 27 2014 Peter Jones <pjones@redhat.com> - 0.7-5.1
|
|
|
11f6e1 |
- Update for signed shim for RHEL 7
|
|
|
11f6e1 |
Resolves: rhbz#1064449
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Thu Nov 21 2013 Peter Jones <pjones@redhat.com> - 0.7-5
|
|
|
11f6e1 |
- Fix shim-unsigned deps.
|
|
|
11f6e1 |
Related: rhbz#1032583
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Thu Nov 21 2013 Peter Jones <pjones@redhat.com> - 0.7-4
|
|
|
11f6e1 |
- Make dhcp4 work better.
|
|
|
11f6e1 |
Related: rhbz#1032583
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Thu Nov 14 2013 Peter Jones <pjones@redhat.com> - 0.7-3
|
|
|
11f6e1 |
- Make lockdown include UEFI and other KEK/DB entries.
|
|
|
11f6e1 |
Related: rhbz#1030492
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Fri Nov 08 2013 Peter Jones <pjones@redhat.com> - 0.7-2
|
|
|
11f6e1 |
- Handle SetupMode better in lockdown as well
|
|
|
11f6e1 |
Related: rhbz#996863
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Wed Nov 06 2013 Peter Jones <pjones@redhat.com> - 0.7-1
|
|
|
11f6e1 |
- Don't treat SetupMode variable's presence as meaning we're in SetupMode.
|
|
|
11f6e1 |
Related: rhbz#996863
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Wed Nov 06 2013 Peter Jones <pjones@redhat.com> - 0.6-3
|
|
|
11f6e1 |
- Use the correct CA and signer certificates.
|
|
|
11f6e1 |
Related: rhbz#996863
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Thu Oct 31 2013 Peter Jones <pjones@redhat.com> - 0.6-1
|
|
|
11f6e1 |
- Update to 0.6-1
|
|
|
11f6e1 |
Resolves: rhbz#1008379
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Wed Aug 07 2013 Peter Jones <pjones@redhat.com> - 0.4-3.2
|
|
|
11f6e1 |
- Depend on newer pesign.
|
|
|
11f6e1 |
Related: rhbz#989442
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Tue Aug 06 2013 Peter Jones <pjones@redhat.com> - 0.4-3.1
|
|
|
11f6e1 |
- Rebuild with newer pesign
|
|
|
11f6e1 |
Related: rhbz#989442
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Tue Aug 06 2013 Peter Jones <pjones@redhat.com> - 0.4-3
|
|
|
11f6e1 |
- Update for RHEL signing with early test keys.
|
|
|
11f6e1 |
Related: rhbz#989442
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Thu Jun 20 2013 Peter Jones <pjones@redhat.com> - 0.4-1
|
|
|
11f6e1 |
- Provide a fallback for uninitialized Boot#### and BootOrder
|
|
|
11f6e1 |
Resolves: rhbz#963359
|
|
|
11f6e1 |
- Move all signing from shim-unsigned to here
|
|
|
11f6e1 |
- properly compare our generated hash from shim-unsigned with the hash of
|
|
|
11f6e1 |
the signed binary (as opposed to doing it manually)
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Fri May 31 2013 Peter Jones <pjones@redhat.com> - 0.2-4.4
|
|
|
11f6e1 |
- Re-sign to get alignments that match the new specification.
|
|
|
11f6e1 |
Resolves: rhbz#963361
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2-4.3
|
|
|
11f6e1 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Wed Jan 02 2013 Peter Jones <pjones@redhat.com> - 0.2-3.3
|
|
|
11f6e1 |
- Add obsoletes and provides for earlier shim-signed packages, to cover
|
|
|
11f6e1 |
the package update cases where previous versions were installed.
|
|
|
11f6e1 |
Related: rhbz#888026
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Mon Dec 17 2012 Peter Jones <pjones@redhat.com> - 0.2-3.2
|
|
|
11f6e1 |
- Make the shim-unsigned dep be on the subpackage.
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Sun Dec 16 2012 Peter Jones <pjones@redhat.com> - 0.2-3.1
|
|
|
11f6e1 |
- Rebuild to provide "shim" package directly instead of just as a Provides:
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Sat Dec 15 2012 Peter Jones <pjones@redhat.com> - 0.2-3
|
|
|
11f6e1 |
- Also provide shim-fedora.efi, signed only by the fedora signer.
|
|
|
11f6e1 |
- Fix the fedora signature on the result to actually be correct.
|
|
|
11f6e1 |
- Update for shim-unsigned 0.2-3
|
|
|
11f6e1 |
|
|
|
11f6e1 |
* Mon Dec 03 2012 Peter Jones <pjones@redhat.com> - 0.2-2
|
|
|
11f6e1 |
- Initial build
|