+++ /dev/null
-From ca99fe81c8aee204c1a8b7f3ca264130e54d9418 Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Sat, 1 Sep 2018 21:32:07 +0300
-Subject: [PATCH] tpm: tpm_deprecated.c fix compare
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-tpm/tpm_deprecated.c:437:7: error: ‘__builtin_memcmp_eq’ reading 20 bytes from a region of size 8 [-Werror=stringop-overflow=]
- if (memcmp(&b1, &newAuthLink, sizeof(TPM_HMAC))) {
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-cc1: all warnings being treated as errors
-
-Bug: https://bugs.gentoo.org/show_bug.cgi?id=664198
----
- tpm/tpm_deprecated.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tpm/tpm_deprecated.c b/tpm/tpm_deprecated.c
-index c362b56..4c49f54 100644
---- a/tpm/tpm_deprecated.c
-+++ b/tpm/tpm_deprecated.c
-@@ -434,7 +434,7 @@ TPM_RESULT TPM_ChangeAuthAsymFinish(TPM_KEY_HANDLE parentHandle,
- tpm_hmac_final(&hmac_ctx, b1.digest);
- /* 6. The TPM SHALL compare b1 with newAuthLink. The TPM SHALL
- indicate a failure if the values do not match. */
-- if (memcmp(&b1, &newAuthLink, sizeof(TPM_HMAC))) {
-+ if (memcmp(&b1, newAuthLink, sizeof(TPM_HMAC))) {
- debug("TPM_ChangeAuthAsymFinish(): newAuthLink value does not match.");
- return TPM_FAIL;
- }
-From 035af1df2b18afd695150c6f9e426133b775c0a1 Mon Sep 17 00:00:00 2001
-From: Florian Larysch <fl@n621.de>
-Date: Tue, 24 Oct 2017 19:33:00 +0200
-Subject: [PATCH] tpm_command_handler: fix switch fallthrough
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Compiling with a recent GCC fails as follows:
-
- tpm-emulator/tpm/tpm_cmd_handler.c: In function ‘tpm_setup_rsp_auth’:
- tpm-emulator/tpm/tpm_cmd_handler.c:3332:7: error: this statement may fall through [-Werror=implicit-fallthrough=]
- tpm_hmac_final(&hmac, rsp->auth2->auth);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- tpm-emulator/tpm/tpm_cmd_handler.c:3333:5: note: here
- case TPM_TAG_RSP_AUTH1_COMMAND:
-
-Looking at the code, this does indeed seem unintentional. Add a break
-state in the appropriate place.
----
- tpm/tpm_cmd_handler.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tpm/tpm_cmd_handler.c b/tpm/tpm_cmd_handler.c
-index 288d1ce..5aea4e7 100644
---- a/tpm/tpm_cmd_handler.c
-+++ b/tpm/tpm_cmd_handler.c
-@@ -3330,6 +3330,7 @@ static void tpm_setup_rsp_auth(TPM_COMMAND_CODE ordinal, TPM_RESPONSE *rsp)
- sizeof(rsp->auth2->nonceOdd.nonce));
- tpm_hmac_update(&hmac, (BYTE*)&rsp->auth2->continueAuthSession, 1);
- tpm_hmac_final(&hmac, rsp->auth2->auth);
-+ break;
- case TPM_TAG_RSP_AUTH1_COMMAND:
- tpm_hmac_init(&hmac, rsp->auth1->secret, sizeof(rsp->auth1->secret));
- tpm_hmac_update(&hmac, rsp->auth1->digest, sizeof(rsp->auth1->digest));
---
-2.16.4
-
-From 0f4579e913aeb3a893631a3caee420a0e9803683 Mon Sep 17 00:00:00 2001
-From: Peter Huewe <peterhuewe@gmx.de>
-Date: Mon, 26 Jun 2017 00:25:43 +0200
-Subject: [PATCH] Workaround wrong fallthrough case by returning TPM_FAIL
-
-The spec says that the number of verified PCRs should be returned - which it currently does not and breaks compilation with gcc7
-See #26
-Since this code is probably unused anyway, we now simply return TPM_FAIL until someone comes up with a solution.
-
-Spec:
-https://www.trustedcomputinggroup.org/wp-content/uploads/Revision_7.02-_29April2010-tcg-mobile-trusted-module-1.0.pdf
----
- mtm/mtm_capability.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/mtm/mtm_capability.c b/mtm/mtm_capability.c
-index a09b116..4046de5 100644
---- a/mtm/mtm_capability.c
-+++ b/mtm/mtm_capability.c
-@@ -87,6 +87,8 @@ static TPM_RESULT cap_mtm_permanent_data(UINT32 subCapSize, BYTE *subCap,
- tpm_free(*resp);
- return TPM_FAIL;
- }
-+ error("[TPM_CAP_MTM_PERMANENT_DATA] SubCap 2 not Implemented");
-+ return TPM_FAIL; // TODO not implemented.
-
- case 3:
- return return_UINT32(respSize, resp,
---
-2.16.4
-
+++ /dev/null
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-MODULES_OPTIONAL_USE="modules"
-inherit flag-o-matic user linux-mod cmake-utils udev
-
-MY_P=${P/-/_}
-DESCRIPTION="Emulator driver for tpm"
-HOMEPAGE="https://sourceforge.net/projects/tpm-emulator.berlios/"
-SRC_URI="mirror://sourceforge/tpm-emulator/${MY_P}.tar.gz"
-LICENSE="GPL-2"
-
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="libressl ssl"
-RDEPEND="ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- !ssl? ( dev-libs/gmp )"
-
-S=${WORKDIR}/${P/-/_}
-
-PATCHES=(
- "${FILESDIR}/${P}-build.patch"
-)
-
-pkg_setup() {
- enewgroup tss
- enewuser tss -1 -1 /var/lib/tpm tss
- if use modules; then
- CONFIG_CHECK="MODULES"
- linux-mod_pkg_setup
- BUILD_TARGETS="all"
- BUILD_PARAMS="KERNEL_BUILD=${KERNEL_DIR}"
- fi
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # do not build and install the kernel module
- sed -i 's/COMMAND ${tpmd_dev_BUILD_CMD}//' tpmd_dev/CMakeLists.txt || die
- sed -i 's/install(CODE.*//' tpmd_dev/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_OPENSSL=$(usex ssl)
- )
- append-cflags -Wno-implicit-fallthrough
- cmake-utils_src_configure
-
- # only here we have BUILD_DIR
- MODULE_NAMES="tpmd_dev(misc:${BUILD_DIR}/tpmd_dev/linux)"
-}
-
-src_compile() {
- cmake-utils_src_compile
- use modules && linux-mod_src_compile
- emake -C "${BUILD_DIR}/tpmd_dev/linux" tpmd_dev.rules
-}
-
-src_install() {
- cmake-utils_src_install
- use modules && linux-mod_src_install
-
- dodoc README
-
- udev_newrules "${BUILD_DIR}/tpmd_dev/linux/tpmd_dev.rules" 60-tpmd_dev.rules
-
- newinitd "${FILESDIR}"/${PN}.initd-0.7.4 ${PN}
- newconfd "${FILESDIR}"/${PN}.confd-0.7.4 ${PN}
-
- keepdir /var/log/tpm
- fowners tss:tss /var/log/tpm
-}