Skip to content

Commit

Permalink
app-crypt/tpm2-tools: Enable tests & fix bash completions
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/797685
Package-Manager: Portage-3.0.20, Repoman-3.0.2
Signed-off-by: Christopher Byrne <[email protected]>
Signed-off-by: Joonas Niilola <[email protected]>
  • Loading branch information
salahcoronya authored and juippis committed Jul 14, 2021
1 parent db8b8f0 commit eabdf05
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
From 3d7edb1c70cba6c34c71c9b856c07b8adcebb15c Mon Sep 17 00:00:00 2001
From: Alberto Planas <[email protected]>
Date: Thu, 17 Jun 2021 11:07:25 +0200
Subject: [PATCH] tpm2_checkquote: fix uninitialized variable

The variable `temp_pcrs` is uninitialized, and later partially
uninitialized when reading the selection data from file.

When activating lto optimizations, this bug presents itself showing an
error during the read of the quote:

ERROR: Malformed PCR file, pcr count cannot be greater than 32, got: ...

Fixes: #2767

Co-authored-by: Martin Liska <[email protected]>
Signed-off-by: Alberto Planas <[email protected]>
---
tools/misc/tpm2_checkquote.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/misc/tpm2_checkquote.c b/tools/misc/tpm2_checkquote.c
index 531508579..8d780f111 100644
--- a/tools/misc/tpm2_checkquote.c
+++ b/tools/misc/tpm2_checkquote.c
@@ -376,7 +376,7 @@ static tool_rc init(void) {
TPM2B_ATTEST *msg = NULL;
TPML_PCR_SELECTION pcr_select;
tpm2_pcrs *pcrs;
- tpm2_pcrs temp_pcrs;
+ tpm2_pcrs temp_pcrs = {};
tool_rc return_value = tool_rc_general_error;

msg = message_from_file(ctx.msg_file_path);
69 changes: 69 additions & 0 deletions app-crypt/tpm2-tools/tpm2-tools-5.1.1-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python3_{8,9} )
inherit autotools bash-completion-r1 python-single-r1

DESCRIPTION="Tools for the TPM 2.0 TSS"
HOMEPAGE="https://github.com/tpm2-software/tpm2-tools"
SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+fapi test"

RDEPEND="net-misc/curl:=
>=app-crypt/tpm2-tss-3.0.1:=[fapi?]
dev-libs/openssl:=
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
test? (
app-crypt/swtpm
app-crypt/tpm2-abrmd
app-editors/vim-core
dev-util/cmocka
dev-python/pyyaml
)"
BDEPEND="virtual/pkgconfig
sys-devel/autoconf-archive"

RESTRICT="!test? ( test )"
REQUIRED_USE=" ${PYTHON_REQUIRED_USE} "

# One of the tests fails without this patch. See
# https://github.com/tpm2-software/tpm2-tools/issues/2767
PATCHES=(
"${FILESDIR}/${PN}-5.1.1-fix-tpm-checkquote.patch"
)

src_prepare() {
sed -i \
"s/m4_esyscmd_s(\[git describe --tags --always --dirty\])/${PV}/" \
"${S}/configure.ac" || die
"${S}/scripts/utils/man_to_bashcompletion.sh"
eautoreconf
default
}

src_configure() {
econf \
$(use_enable fapi) \
$(use_enable test unit) \
--with-bashcompdir=$(get_bashcompdir) \
--enable-hardening
}

src_install() {
default

mv "${D}/$(get_bashcompdir)/tpm2_completion.bash" \
"${D}/$(get_bashcompdir)/tpm2" || die
for B in "${D}"/usr/bin/tpm2_*
do
TPM2_UTILS="${TPM2_UTILS} $(basename ${B})"
done
bashcomp_alias tpm2 ${TPM2_UTILS}
}

0 comments on commit eabdf05

Please sign in to comment.