diff --git a/.gitignore b/.gitignore index e69de29..af498e8 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/tboot-1.9.*.tar.gz diff --git a/disable-address-of-packed-member-warning.patch b/disable-address-of-packed-member-warning.patch new file mode 100644 index 0000000..f62c7ff --- /dev/null +++ b/disable-address-of-packed-member-warning.patch @@ -0,0 +1,25 @@ +From 1cf1c3e6af1f43555de7ec89cd1e8bc3ea0aaefe Mon Sep 17 00:00:00 2001 +From: Yunying Sun +Date: Mon, 13 May 2019 17:26:13 +0800 +Subject: [PATCH] disable address of packed member warning + +--- + Config.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Config.mk b/Config.mk +index 6a64d1a..27bce1b 100644 +--- a/Config.mk ++++ b/Config.mk +@@ -43,7 +43,7 @@ CFLAGS_WARN = -Wall -Wformat-security -Werror -Wstrict-prototypes \ + -Wextra -Winit-self -Wswitch-default -Wunused-parameter \ + -Wwrite-strings \ + $(call cc-option,$(CC),-Wlogical-op,) \ +- -Wno-missing-field-initializers ++ -Wno-missing-field-initializers -Wno-address-of-packed-member + + AS = as + LD = ld +-- +2.21.0 + diff --git a/sources b/sources new file mode 100644 index 0000000..c3d818f --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (tboot-1.9.11.tar.gz) = 5c2466438ad3ab95ca66fe4d460f4e6b31ccd3c6ac79221b129883df4180fce4878dd07a5f180bb79fae13b59fa90c05aeda7339159d1d950011a59645024b8a diff --git a/tboot-gcc11.patch b/tboot-gcc11.patch new file mode 100644 index 0000000..10b0331 --- /dev/null +++ b/tboot-gcc11.patch @@ -0,0 +1,55 @@ +diff --git a/tboot/common/tpm_12.c b/tboot/common/tpm_12.c +index a62e570..504b874 100644 +--- a/tboot/common/tpm_12.c ++++ b/tboot/common/tpm_12.c +@@ -766,6 +766,8 @@ static uint32_t tpm12_osap(uint32_t locality, tpm_entity_type_t ent_type, + tpm_authhandle_t *hauth, tpm_nonce_t *nonce_even, + tpm_nonce_t *even_osap) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + uint32_t ret, offset, out_size; + + if ( odd_osap == NULL || hauth == NULL || +@@ -801,6 +803,7 @@ static uint32_t tpm12_osap(uint32_t locality, tpm_entity_type_t ent_type, + LOAD_BLOB_TYPE(WRAPPER_OUT_BUF, offset, even_osap); + + return ret; ++#pragma GCC diagnostic pop + } + + static uint32_t _tpm12_seal(uint32_t locality, tpm_key_handle_t hkey, +@@ -1044,6 +1047,8 @@ static uint32_t _tpm12_wrap_seal(uint32_t locality, + static uint32_t _tpm12_wrap_unseal(uint32_t locality, const uint8_t *in_data, + uint32_t *secret_size, uint8_t *secret) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + uint32_t ret; + tpm_nonce_t odd_osap, even_osap; + tpm_nonce_t nonce_even, nonce_odd, nonce_even_d, nonce_odd_d; +@@ -1116,6 +1121,7 @@ static uint32_t _tpm12_wrap_unseal(uint32_t locality, const uint8_t *in_data, + /* skip check for res_auth */ + + return ret; ++#pragma GCC diagnostic pop + } + + static bool init_pcr_info(uint32_t locality, +@@ -1948,6 +1954,8 @@ static bool tpm12_get_random(struct tpm_if *ti, uint32_t locality, + + static bool tpm12_cap_pcrs(struct tpm_if *ti, u32 locality, int pcr) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + bool was_capped[TPM_NR_PCRS] = {false}; + tpm_pcr_value_t cap_val; /* use whatever val is on stack */ + +@@ -1976,6 +1984,7 @@ static bool tpm12_cap_pcrs(struct tpm_if *ti, u32 locality, int pcr) + + printk(TBOOT_INFO"cap'ed dynamic PCRs\n"); + return true; ++#pragma GCC diagnostic pop + } + + static bool tpm12_check(void) diff --git a/tboot.spec b/tboot.spec new file mode 100644 index 0000000..af4b2a0 --- /dev/null +++ b/tboot.spec @@ -0,0 +1,168 @@ +Summary: Performs a verified launch using Intel TXT +Name: tboot +Version: 1.9.11 +Release: 3%{?dist} +Epoch: 1 + +License: BSD +URL: http://sourceforge.net/projects/tboot/ +Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz + +Patch0: disable-address-of-packed-member-warning.patch +Patch1: tboot-gcc11.patch + +BuildRequires: gcc +BuildRequires: trousers-devel +BuildRequires: openssl-devel +BuildRequires: zlib-devel +ExclusiveArch: %{ix86} x86_64 + +%description +Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses +Intel Trusted Execution Technology (Intel TXT) to perform a measured +and verified launch of an OS kernel/VMM. + +%prep +%autosetup -p1 -n %{name}-%{version} + +%build +CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS +make debug=y %{?_smp_mflags} + +%install +make debug=y DISTDIR=$RPM_BUILD_ROOT install + + +%files +%doc README COPYING docs/* lcptools/Linux_LCP_Tools_User_Manual.pdf +%config %{_sysconfdir}/grub.d/20_linux_tboot +%config %{_sysconfdir}/grub.d/20_linux_xen_tboot +%{_sbindir}/acminfo +%{_sbindir}/lcp_readpol +%{_sbindir}/lcp_writepol +%{_sbindir}/lcp2_crtpol +%{_sbindir}/lcp2_crtpolelt +%{_sbindir}/lcp2_crtpollist +%{_sbindir}/lcp2_mlehash +%{_sbindir}/parse_err +%{_sbindir}/tb_polgen +%{_sbindir}/tpmnv_defindex +%{_sbindir}/tpmnv_getcap +%{_sbindir}/tpmnv_lock +%{_sbindir}/tpmnv_relindex +%{_sbindir}/txt-stat +%{_mandir}/man8/acminfo.8.gz +%{_mandir}/man8/lcp_crtpconf.8.gz +%{_mandir}/man8/lcp_crtpol.8.gz +%{_mandir}/man8/lcp_crtpol2.8.gz +%{_mandir}/man8/lcp_crtpolelt.8.gz +%{_mandir}/man8/lcp_crtpollist.8.gz +%{_mandir}/man8/lcp_mlehash.8.gz +%{_mandir}/man8/lcp_readpol.8.gz +%{_mandir}/man8/lcp_writepol.8.gz +%{_mandir}/man8/tb_polgen.8.gz +%{_mandir}/man8/txt-stat.8.gz +/boot/tboot.gz +/boot/tboot-syms + +%changelog +* Wed Jul 29 2020 Jeff Law - 1:1.9.11-3 +- Explicitly allow uninitialized variables in a few places that do it +- on purpose + +* Wed Jul 29 2020 Fedora Release Engineering - 1:1.9.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Apr 19 2020 Filipe Rosset - 1:1.9.11-1 +- Update to 1.9.11 + +* Fri Jan 31 2020 Fedora Release Engineering - 1:1.9.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 1:1.9.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 14 2019 Yunying Sun - 1:1.9.10-1 +- Add patch to fix package build error +- Add build dependency to zlib-devel +- Update to latest release 1.9.10 + +* Sun Feb 03 2019 Fedora Release Engineering - 1:1.9.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Oct 31 2018 Yunying Sun - 1:1.9.8-1 +- Updated to upstream 1.9.8 release + +* Tue Sep 4 2018 Yunying Sun - 1:1.9.7-1 +- Updated to upstream 1.9.7 release +- Removed the patch for openssl 1.1 as it is included in 1.9.7 already + +* Sat Jul 14 2018 Fedora Release Engineering - 1:1.9.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Feb 06 2018 Tomáš Mráz - 1:1.9.6-2 +- Patch to build with OpenSSL-1.1.x + +* Sun Feb 04 2018 Filipe Rosset - 1:1.9.6-1 +- Upgrade to latest upstream version + +* Thu Aug 03 2017 Fedora Release Engineering - 1:1.8.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1:1.8.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1:1.8.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 05 2016 Fedora Release Engineering - 1:1.8.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 1:1.8.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 1:1.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Jul 30 2014 Gang Wei - 1:1.8.2-1 +- Upgrade to latest upstream version which provided security fix for: + tboot:argument measurement vulnerablity for GRUB2+ELF kernels + +* Wed Jun 18 2014 Gang Wei - 1:1.8.1-1 +- Upgrade to latest upstream version + +* Sun Jun 08 2014 Fedora Release Engineering - 1:1.7.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 1:1.7.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Apr 02 2013 Gang Wei - 1:1.7.3-3 +- Fix for breaking grub2-mkconfig operation in 32bit case(#929384) + +* Wed Feb 20 2013 Gang Wei - 1:1.7.3-2 +- Fix version string in log + +* Wed Jan 30 2013 David Cantrell - 1:1.7.3-1 +- Upgrade to latest upstream version (#902653) + +* Wed Aug 22 2012 Gang Wei - 1:1.7.0-2 +- Fix build error with zlib 1.2.7 + +* Sat Jul 21 2012 Fedora Release Engineering - 1:1.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jan 15 2012 Gang Wei - 1:1.7.0 +- 1.7.0 release + +* Sat Jan 14 2012 Fedora Release Engineering - 20110429-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Apr 29 2011 Gang Wei - 20110429-1 +- Pull upstream changeset 255, rebuilt in F15 + +* Wed Feb 09 2011 Fedora Release Engineering - 20101005-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 1 2010 Joseph Cihula - 20101005-1.fc13 +- Initial import