Compare commits

...

No commits in common. 'c9' and 'i8' have entirely different histories.
c9 ... i8

1
.gitignore vendored

@ -1,2 +1 @@
SOURCES/shim-15.8.tar.bz2 SOURCES/shim-15.8.tar.bz2
SOURCES/vendordb.esl

@ -1,2 +1 @@
cdec924ca437a4509dcb178396996ddf92c11183 SOURCES/shim-15.8.tar.bz2 cdec924ca437a4509dcb178396996ddf92c11183 SOURCES/shim-15.8.tar.bz2
3371b3acf8fa4f3be91e90698d5c9ed66ccc19ab SOURCES/vendordb.esl

@ -0,0 +1 @@
shim.msvsphere,3,MSVSphere,shim,15.8,security@msvsphere.ru
1 shim.msvsphere 3 MSVSphere shim 15.8 security@msvsphere.ru

@ -1 +0,0 @@
shim.redhat,3,Red Hat Inc,shim,15.8,secalert@redhat.com
1 shim.redhat 3 Red Hat Inc shim 15.8 secalert@redhat.com

@ -20,9 +20,9 @@ fi
findsource() findsource()
{ {
( (
cd "${RPM_BUILD_ROOT}" cd ${RPM_BUILD_ROOT}
find usr/src/debug/ -type d | sed -e "s,^,%dir /," | sort -u | tac find usr/src/debug/ -type d | sed "s,^,%dir /,"
find usr/src/debug/ -type f | sed -e "s,^,/," | sort -u | tac find usr/src/debug/ -type f | sed "s,^,/,"
) )
} }
@ -32,12 +32,9 @@ finddebug()
declare -a dirs=() declare -a dirs=()
declare -a files=() declare -a files=()
declare -a excludes=() declare -a excludes=()
declare -a tmp=()
pushd "${RPM_BUILD_ROOT}" >/dev/null 2>&1 pushd ${RPM_BUILD_ROOT} >/dev/null 2>&1
for x in $(find usr/lib/debug/ -type f -iname *.efi.debug); do
mapfile -t tmp < <(find usr/lib/debug/ -type f -iname "*.efi.debug")
for x in "${tmp[@]}" ; do
if ! [ -e "${x}" ]; then if ! [ -e "${x}" ]; then
break break
fi fi
@ -60,10 +57,8 @@ finddebug()
excludes[${#excludes[@]}]=${x%%.debug} excludes[${#excludes[@]}]=${x%%.debug}
fi fi
done done
for x in "${files[@]}" ; do for x in ${files[@]} ; do
declare name declare name=$(dirname /${x})
name=$(dirname "/${x}")
while [ "${name}" != "/" ]; do while [ "${name}" != "/" ]; do
case "${name}" in case "${name}" in
"/usr/lib/debug"|"/usr/lib"|"/usr") "/usr/lib/debug"|"/usr/lib"|"/usr")
@ -72,24 +67,24 @@ finddebug()
dirs[${#dirs[@]}]=${name} dirs[${#dirs[@]}]=${name}
;; ;;
esac esac
name=$(dirname "${name}") name=$(dirname ${name})
done done
done done
popd >/dev/null 2>&1 popd >/dev/null 2>&1
for x in "${dirs[@]}" ; do for x in ${dirs[@]} ; do
echo "%dir ${x}" echo "%dir ${x}"
done | sort | uniq done | sort | uniq
for x in "${files[@]}" ; do for x in ${files[@]} ; do
echo "/${x}" echo "/${x}"
done | sort | uniq done | sort | uniq
for x in "${excludes[@]}" ; do for x in ${excludes[@]} ; do
echo "%exclude /${x}" echo "%exclude /${x}"
done done
} }
findsource > "build-${mainarch}/debugsource.list" findsource > build-${mainarch}/debugsource.list
finddebug "${mainarch}" > "build-${mainarch}/debugfiles.list" finddebug ${mainarch} > build-${mainarch}/debugfiles.list
if [ -v altarch ]; then if [ -v altarch ]; then
finddebug "${altarch}" > "build-${altarch}/debugfiles.list" finddebug ${altarch} > build-${altarch}/debugfiles.list
fi fi

Binary file not shown.

@ -1,7 +1,14 @@
%global pesign_vre 0.106-1 %global pesign_vre 0.106-1
%global gnuefi_vre 1:3.0.5-6
%global openssl_vre 1.0.2j %global openssl_vre 1.0.2j
%global efidir %(eval echo $(grep ^ID= /etc/os-release | sed -e 's/^ID=//' -e 's/rhel/redhat/')) %global debug_package %{nil}
%global __debug_package 1
%global _binaries_in_noarch_packages_terminate_build 0
%global __debug_install_post %{SOURCE100} x64 ia32
%undefine _debuginfo_subpackages
%global efidir msvsphere
%global shimrootdir %{_datadir}/shim/ %global shimrootdir %{_datadir}/shim/
%global shimversiondir %{shimrootdir}/%{version}-%{release} %global shimversiondir %{shimrootdir}/%{version}-%{release}
%global efiarch x64 %global efiarch x64
@ -9,28 +16,19 @@
%global efialtarch ia32 %global efialtarch ia32
%global shimaltdir %{shimversiondir}/%{efialtarch} %global shimaltdir %{shimversiondir}/%{efialtarch}
%global debug_package %{nil}
%global __debug_package 1
%global _binaries_in_noarch_packages_terminate_build 0
%global __debug_install_post %{SOURCE100} %{efiarch} %{efialtarch}
%undefine _debuginfo_subpackages
# currently here's what's in our dbx: nothing
%global dbxfile %{nil}
Name: shim-unsigned-%{efiarch} Name: shim-unsigned-%{efiarch}
Version: 15.8 Version: 15.8
Release: 2.el9 Release: 1.el8.inferit
Summary: First-stage UEFI bootloader Summary: First-stage UEFI bootloader
ExclusiveArch: x86_64 ExclusiveArch: x86_64
License: BSD License: BSD
URL: https://github.com/rhboot/shim URL: https://github.com/rhboot/shim
Source0: https://github.com/rhboot/shim/releases/download/%{version}/shim-%{version}.tar.bz2 Source0: https://github.com/rhboot/shim/releases/download/%{version}/shim-%{version}.tar.bz2
Source1: vendordb.esl Source1: spheresecurebootca.cer
%if 0%{?dbxfile} # currently here's what's in our dbx:
Source2: %{dbxfile} # nothing.
%endif Source2: dbx.esl
Source3: sbat.redhat.csv Source3: sbat.msvsphere.csv
Source4: shim.patches Source4: shim.patches
Source100: shim-find-debuginfo.sh Source100: shim-find-debuginfo.sh
@ -69,6 +67,7 @@ Provides: bundled(openssl) = %{openssl_vre}
%package debuginfo %package debuginfo
Summary: Debug information for shim-unsigned-%{efiarch} Summary: Debug information for shim-unsigned-%{efiarch}
Requires: %{name}-debugsource = %{version}-%{release}
Group: Development/Debug Group: Development/Debug
AutoReqProv: 0 AutoReqProv: 0
BuildArch: noarch BuildArch: noarch
@ -79,6 +78,7 @@ BuildArch: noarch
%package -n shim-unsigned-%{efialtarch}-debuginfo %package -n shim-unsigned-%{efialtarch}-debuginfo
Summary: Debug information for shim-unsigned-%{efialtarch} Summary: Debug information for shim-unsigned-%{efialtarch}
Group: Development/Debug Group: Development/Debug
Requires: %{name}-debugsource = %{version}-%{release}
AutoReqProv: 0 AutoReqProv: 0
BuildArch: noarch BuildArch: noarch
@ -103,20 +103,17 @@ mkdir build-%{efialtarch}
cp %{SOURCE3} data/ cp %{SOURCE3} data/
%build %build
COMMIT_ID=5914984a1ffeab841f482c791426d7ca9935a5e6 COMMITID=$(cat commit)
MAKEFLAGS="TOPDIR=.. -f ../Makefile COMMIT_ID=${COMMIT_ID} " MAKEFLAGS="TOPDIR=.. -f ../Makefile COMMITID=${COMMITID} "
MAKEFLAGS+="EFIDIR=%{efidir} PKGNAME=shim RELEASE=%{release} " MAKEFLAGS+="EFIDIR=%{efidir} PKGNAME=shim RELEASE=%{release} "
MAKEFLAGS+="ENABLE_SHIM_HASH=true " MAKEFLAGS+="ENABLE_SHIM_HASH=true "
MAKEFLAGS+="SBAT_AUTOMATIC_DATE=2023012900 "
MAKEFLAGS+="%{_smp_mflags}" MAKEFLAGS+="%{_smp_mflags}"
if [ -f "%{SOURCE1}" ]; then if [ -s "%{SOURCE1}" ]; then
MAKEFLAGS="$MAKEFLAGS VENDOR_DB_FILE=%{SOURCE1}" MAKEFLAGS="$MAKEFLAGS VENDOR_CERT_FILE=%{SOURCE1}"
fi fi
%if 0%{?dbxfile} if [ -s "%{SOURCE2}" ]; then
if [ -f "%{SOURCE2}" ]; then
MAKEFLAGS="$MAKEFLAGS VENDOR_DBX_FILE=%{SOURCE2}" MAKEFLAGS="$MAKEFLAGS VENDOR_DBX_FILE=%{SOURCE2}"
fi fi
%endif
cd build-%{efiarch} cd build-%{efiarch}
make ${MAKEFLAGS} \ make ${MAKEFLAGS} \
@ -124,20 +121,23 @@ make ${MAKEFLAGS} \
all all
cd .. cd ..
cd build-%{efialtarch}
setarch linux32 -B make ${MAKEFLAGS} ARCH=%{efialtarch} \
DEFAULT_LOADER='\\\\grub%{efialtarch}.efi' \
all
cd ..
%install %install
COMMIT_ID=5914984a1ffeab841f482c791426d7ca9935a5e6 COMMITID=$(cat commit)
MAKEFLAGS="TOPDIR=.. -f ../Makefile COMMIT_ID=${COMMIT_ID} " MAKEFLAGS="TOPDIR=.. -f ../Makefile COMMITID=${COMMITID} "
MAKEFLAGS+="EFIDIR=%{efidir} PKGNAME=shim RELEASE=%{release} " MAKEFLAGS+="EFIDIR=%{efidir} PKGNAME=shim RELEASE=%{release} "
MAKEFLAGS+="ENABLE_SHIM_HASH=true " MAKEFLAGS+="ENABLE_HTTPBOOT=true ENABLE_SHIM_HASH=true "
MAKEFLAGS+="SBAT_AUTOMATIC_DATE=2023012900 " if [ -s "%{SOURCE1}" ]; then
if [ -f "%{SOURCE1}" ]; then MAKEFLAGS="$MAKEFLAGS VENDOR_CERT_FILE=%{SOURCE1}"
MAKEFLAGS="$MAKEFLAGS VENDOR_DB_FILE=%{SOURCE1} "
fi fi
%if 0%{?dbxfile} if [ -s "%{SOURCE2}" ]; then
if [ -f "%{SOURCE2}" ]; then MAKEFLAGS="$MAKEFLAGS VENDOR_DBX_FILE=%{SOURCE2}"
MAKEFLAGS="$MAKEFLAGS VENDOR_DBX_FILE=%{SOURCE2} "
fi fi
%endif
cd build-%{efiarch} cd build-%{efiarch}
make ${MAKEFLAGS} \ make ${MAKEFLAGS} \
@ -146,95 +146,87 @@ make ${MAKEFLAGS} \
install-as-data install-debuginfo install-debugsource install-as-data install-debuginfo install-debugsource
cd .. cd ..
cd build-%{efialtarch}
setarch linux32 make ${MAKEFLAGS} ARCH=%{efialtarch} \
DEFAULT_LOADER='\\\\grub%{efialtarch}.efi' \
DESTDIR=${RPM_BUILD_ROOT} \
install-as-data install-debuginfo install-debugsource
cd ..
%files %files
%license COPYRIGHT %license COPYRIGHT
%dir %{shimrootdir} %dir %{shimrootdir}
%dir %{shimversiondir} %dir %{shimversiondir}
%dir %{shimdir} %dir %{shimdir}
%{shimdir}/*.CSV
%{shimdir}/*.efi %{shimdir}/*.efi
%{shimdir}/*.hash %{shimdir}/*.hash
%{shimdir}/*.CSV
%files -n shim-unsigned-%{efialtarch}
%license COPYRIGHT
%dir %{shimrootdir}
%dir %{shimversiondir}
%dir %{shimaltdir}
%{shimaltdir}/*.CSV
%{shimaltdir}/*.efi
%{shimaltdir}/*.hash
%files debuginfo -f build-%{efiarch}/debugfiles.list %files debuginfo -f build-%{efiarch}/debugfiles.list
%files -n shim-unsigned-%{efialtarch}-debuginfo -f build-%{efialtarch}/debugfiles.list
%files debugsource -f build-%{efiarch}/debugsource.list %files debugsource -f build-%{efiarch}/debugsource.list
%changelog %changelog
* Wed Feb 07 2024 Peter Jones <pjones@redhat.com> - 15.8-2.el9 * Sat Apr 20 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 15.8-1.inferit
- Rebuild to fix the commit ident and MAKEFLAGS - Update to 15.8
Resolves: RHEL-11262
* Wed Mar 22 2023 Eugene Zamriy <ezamriy@@msvsphere.ru> - 15.6-1.inferit
* Tue Jan 23 2024 Peter Jones <pjones@redhat.com> - 15.8-1.el9 - Use MSVSphere vendor certificate and SBAT entry
- Update to shim-15.8 for CVE-2023-40547
Resolves: RHEL-11262 * Wed Jun 01 2022 Peter Jones <pjones@redhat.com> - 15.6-1.el8
- Update to shim-15.6
* Wed Jun 01 2022 Peter Jones <pjones@redhat.com> - 15.6-1.el9 Resolves: CVE-2022-28737
- Update to shim-15.6 for CVE-2022-28737
* Thu Sep 17 2020 Peter Jones <pjones@redhat.com> - 15-9.el8
* Tue May 24 2022 Peter Jones <pjones@redhat.com> - 15.6~rc1-1.el9 - Fix an incorrect allocation size.
- Update to shim-15.6~rc1 for CVE-2022-28737 Related: rhbz#1877253
* Wed Mar 09 2022 Peter Jones <pjones@redhat.com> - 15.5-1 * Thu Jul 30 2020 Peter Jones <pjones@redhat.com> - 15-8
- Update to shim-15.5 - Fix a load-address-dependent forever loop.
Related: rhbz#1932057 Resolves: rhbz#1861977
Related: CVE-2020-10713
* Thu Apr 01 2021 Peter Jones <pjones@redhat.com> - 15.4-4 Related: CVE-2020-14308
- Fix the sbat data to actually match /this/ product. Related: CVE-2020-14309
Resolves: CVE-2020-14372 Related: CVE-2020-14310
Resolves: CVE-2020-25632 Related: CVE-2020-14311
Resolves: CVE-2020-25647 Related: CVE-2020-15705
Resolves: CVE-2020-27749 Related: CVE-2020-15706
Resolves: CVE-2020-27779 Related: CVE-2020-15707
Resolves: CVE-2021-20225
Resolves: CVE-2021-20233 * Sat Jul 25 2020 Peter Jones <pjones@redhat.com> - 15-7
- Implement Lenny's workaround
* Wed Mar 31 2021 Peter Jones <pjones@redhat.com> - 15.4-3 Related: CVE-2020-10713
- Build with the correct certificate trust list for this OS. Related: CVE-2020-14308
Resolves: CVE-2020-14372 Related: CVE-2020-14309
Resolves: CVE-2020-25632 Related: CVE-2020-14310
Resolves: CVE-2020-25647 Related: CVE-2020-14311
Resolves: CVE-2020-27749
Resolves: CVE-2020-27779 * Fri Jul 24 2020 Peter Jones <pjones@redhat.com> - 15-5
Resolves: CVE-2021-20225 - Once more with the MokListRT config table patch added.
Resolves: CVE-2021-20233 Related: CVE-2020-10713
Related: CVE-2020-14308
* Wed Mar 31 2021 Peter Jones <pjones@redhat.com> - 15.4-2 Related: CVE-2020-14309
- Fix the ia32 build. Related: CVE-2020-14310
Resolves: CVE-2020-14372 Related: CVE-2020-14311
Resolves: CVE-2020-25632
Resolves: CVE-2020-25647 * Thu Jul 23 2020 Peter Jones <pjones@redhat.com> - 15-4
Resolves: CVE-2020-27749 - Rebuild for bug fixes and new signing keys
Resolves: CVE-2020-27779 Related: CVE-2020-10713
Resolves: CVE-2021-20225 Related: CVE-2020-14308
Resolves: CVE-2021-20233 Related: CVE-2020-14309
Related: CVE-2020-14310
* Tue Mar 30 2021 Peter Jones <pjones@redhat.com> - 15.4-1 Related: CVE-2020-14311
- Update to shim 15.4
- Support for revocations via the ".sbat" section and SBAT EFI variable
- A new unit test framework and a bunch of unit tests
- No external gnu-efi dependency
- Better CI
Resolves: CVE-2020-14372
Resolves: CVE-2020-25632
Resolves: CVE-2020-25647
Resolves: CVE-2020-27749
Resolves: CVE-2020-27779
Resolves: CVE-2021-20225
Resolves: CVE-2021-20233
* Wed Mar 24 2021 Peter Jones <pjones@redhat.com> - 15.3-0~1
- Update to shim 15.3
- Support for revocations via the ".sbat" section and SBAT EFI variable
- A new unit test framework and a bunch of unit tests
- No external gnu-efi dependency
- Better CI
Resolves: CVE-2020-14372
Resolves: CVE-2020-25632
Resolves: CVE-2020-25647
Resolves: CVE-2020-27749
Resolves: CVE-2020-27779
Resolves: CVE-2021-20225
Resolves: CVE-2021-20233
* Wed Jun 05 2019 Javier Martinez Canillas <javierm@redhat.com> - 15-3 * Wed Jun 05 2019 Javier Martinez Canillas <javierm@redhat.com> - 15-3
- Make EFI variable copying fatal only on secureboot enabled systems - Make EFI variable copying fatal only on secureboot enabled systems
@ -246,24 +238,17 @@ cd ..
- Fix MoK mirroring issue which breaks kdump without intervention - Fix MoK mirroring issue which breaks kdump without intervention
Related: rhbz#1668966 Related: rhbz#1668966
* Thu Apr 05 2018 Peter Jones <pjones@redhat.com> - 15-1 * Fri Jul 20 2018 Peter Jones <pjones@redhat.com> - 15-1
- Update to shim 15 - Update to shim 15
- better checking for bad linker output
- flicker-free console if there's no error output * Tue Sep 19 2017 Peter Jones <pjones@redhat.com> - 13-3
- improved http boot support - Actually update to the *real* 13 final.
- better protocol re-installation Related: rhbz#1489604
- dhcp proxy support
- tpm measurement even when verification is disabled * Thu Aug 31 2017 Peter Jones <pjones@redhat.com> - 13-2
- REQUIRE_TPM build flag - Actually update to 13 final.
- more reproducable builds
- measurement of everything verified through shim_verify() * Fri Aug 18 2017 Peter Jones <pjones@redhat.com> - 13-1
- coverity and scan-build checker make targets
- misc cleanups
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 13-0.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Aug 18 2017 Peter Jones <pjones@redhat.com> - 13-0.1
- Make a new shim-unsigned-x64 package like the shim-unsigned-aarch64 one. - Make a new shim-unsigned-x64 package like the shim-unsigned-aarch64 one.
- This will (eventually) supersede what's in the "shim" package so we can - This will (eventually) supersede what's in the "shim" package so we can
make "shim" hold the signed one, which will confuse fewer people. make "shim" hold the signed one, which will confuse fewer people.

Loading…
Cancel
Save