import tss2-1234-5.el8

i8c changed/i8c/tss2-1234-5.el8
MSVSphere Packaging Team 1 year ago
parent ca1047fd89
commit 0efb7e1829

2
.gitignore vendored

@ -1 +1 @@
SOURCES/ibmtss1.6.0.tar.gz
SOURCES/ibmtss1234.tar.gz

@ -1 +1 @@
fcd86e864f69443f72ecbf18f26e39844aefee44 SOURCES/ibmtss1.6.0.tar.gz
e72e2b7fddca88c6563cbd614ec322309ffdda4e SOURCES/ibmtss1234.tar.gz

@ -0,0 +1,28 @@
From a73fda67a980fd8129ba3cc6158cd4f5d9be7562 Mon Sep 17 00:00:00 2001
From: Jerry Snitselaar <jsnitsel@redhat.com>
Date: Wed, 20 Jun 2018 11:01:21 -0700
Subject: [PATCH 1/3] ekutils: fix null check in convertPemToX509
assignment is to *x509, but check is against x509. Change check to *x509.
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
---
utils/ekutils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/ekutils.c b/utils/ekutils.c
index 5f27bd6..8887bd5 100644
--- a/utils/ekutils.c
+++ b/utils/ekutils.c
@@ -1144,7 +1144,7 @@ uint32_t convertPemToX509(X509 **x509, /* freed by caller */
/* convert the platform certificate from PEM to DER */
if (rc == 0) {
*x509 = PEM_read_X509(pemCertificateFile , NULL, NULL, NULL); /* freed @1 */
- if (x509 == NULL) {
+ if (*x509 == NULL) {
printf("convertPemToX509: Cannot parse PEM certificate file %s\n",
pemCertificateFilename);
rc = TSS_RC_FILE_READ;
--
2.17.0

@ -0,0 +1,30 @@
From 29f30ccc4032949e54be1996c24a7752793c3603 Mon Sep 17 00:00:00 2001
From: Jerry Snitselaar <jsnitsel@redhat.com>
Date: Wed, 20 Jun 2018 11:03:06 -0700
Subject: [PATCH 2/3] ektuils: check return of X509_gmtime_adj for notAfter
adjustment
The is a check for arc == NULL, but arc doesn't get assigned the
return value from x509_gmtime_adj.
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
---
utils/ekutils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/ekutils.c b/utils/ekutils.c
index 8887bd5..36f8ece 100644
--- a/utils/ekutils.c
+++ b/utils/ekutils.c
@@ -1590,7 +1590,7 @@ TPM_RC startCertificate(X509 *x509Certificate, /* X509 certificate to be generat
if (rc == 0) {
/* can't fail, just returns a structure member */
ASN1_TIME *notAfter = X509_get_notAfter(x509Certificate);
- X509_gmtime_adj(notAfter, CERT_DURATION); /* set to duration */
+ arc = X509_gmtime_adj(notAfter, CERT_DURATION); /* set to duration */
if (arc == NULL) {
printf("startCertificate: Error setting notAfter time\n");
rc = TSS_RC_X509_ERROR;
--
2.17.0

@ -0,0 +1,28 @@
From 108d9ba48ab922521b1124970156f2d2f59eea0b Mon Sep 17 00:00:00 2001
From: Jerry Snitselaar <jsnitsel@redhat.com>
Date: Thu, 21 Jun 2018 09:13:54 -0700
Subject: [PATCH 3/3] imalib: call memcmp with correct size
imaEvent digest is size of SHA1_DIGEST_SIZE, so call memcmp with that value.
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
---
utils/imalib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/imalib.c b/utils/imalib.c
index a7f42fc..42e2aa5 100644
--- a/utils/imalib.c
+++ b/utils/imalib.c
@@ -826,7 +826,7 @@ uint32_t IMA_Extend(TPMT_HA *imapcr,
}
}
if (rc == 0) {
- notAllZero = memcmp(imaEvent->digest, zeroDigest, digestSize);
+ notAllZero = memcmp(imaEvent->digest, zeroDigest, SHA1_DIGEST_SIZE);
imapcr->hashAlg = hashAlg;
if (notAllZero) {
#if 0
--
2.17.0

@ -0,0 +1,28 @@
From e5ffbe2736f4ad4370fb44c216ecd6092a01003c Mon Sep 17 00:00:00 2001
From: Jerry Snitselaar <jsnitsel@redhat.com>
Date: Thu, 21 Jun 2018 13:00:51 -0700
Subject: [PATCH] certifycreation: Check that creation hash file name received
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
---
utils/certifycreation.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/utils/certifycreation.c b/utils/certifycreation.c
index 50e3718..4a6cd0a 100644
--- a/utils/certifycreation.c
+++ b/utils/certifycreation.c
@@ -298,6 +298,10 @@ int main(int argc, char *argv[])
printf("Missing ticket parameter -tk\n");
printUsage();
}
+ if (creationHashFilename == NULL) {
+ printf("Missing creation hash file parameter -ch\n");
+ printUsage();
+ }
if (rc == 0) {
/* Handle of key that will perform certifying */
in.objectHandle = objectHandle;
--
2.17.0

@ -0,0 +1,33 @@
diff -ur tss2-1234/utils/makefile-common tss2-1234-new/utils/makefile-common
--- tss2-1234/utils/makefile-common 2018-05-29 12:00:46.000000000 -0700
+++ tss2-1234-new/utils/makefile-common 2018-10-02 15:10:20.783078580 -0700
@@ -44,7 +44,7 @@
CCFLAGS += \
-Wall -W -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \
-Wformat=2 -Wold-style-definition -Wno-self-assign \
- -ggdb -O0 -c
+ -ggdb -c
# to compile with optimizations on (warning will result)
# -O3 -c
diff -ur tss2-1234/utils/makefile.fedora tss2-1234-new/utils/makefile.fedora
--- tss2-1234/utils/makefile.fedora 2018-05-15 10:07:20.000000000 -0700
+++ tss2-1234-new/utils/makefile.fedora 2018-10-02 15:11:33.909083615 -0700
@@ -71,7 +71,7 @@
# compile - common flags for TSS library and applications
-CCFLAGS += -DTPM_POSIX
+CCFLAGS += -DTPM_POSIX -DTPM_INTERFACE_TYPE_DEFAULT="\"dev\"" -DTPM_DEVICE_DEFAULT="\"/dev/tpmrm0\""
# example of pointing to a locally built openssl 1.1
# CCFLAGS += -I/home/kgold/openssl-1.1.0c/include
@@ -119,7 +119,7 @@
LNLFLAGS += -shared -Wl,-z,now
# This is an alternative to using the bfd linker on Ubuntu
-# LNLLIBS += -lcrypto
+LNLLIBS += -lcrypto
# link - for applications, TSS path, TSS and OpenSSl libraries

@ -0,0 +1,18 @@
diff -ur tss2-1234/utils/policymaker.c tss2-1234-new/utils/policymaker.c
--- tss2-1234/utils/policymaker.c 2018-10-18 12:16:59.742439220 -0700
+++ tss2-1234-new/utils/policymaker.c 2018-10-18 12:34:34.991755536 -0700
@@ -208,10 +208,10 @@
}
/* hash extend */
if ((rc == 0) && (prc != NULL)) {
- TSS_Hash_Generate(&digest,
- startSizeInBytes, (uint8_t *)&digest.digest, /* extend */
- lineLength /2, lineBinary,
- 0, NULL);
+ rc = TSS_Hash_Generate(&digest,
+ startSizeInBytes, (uint8_t *)&digest.digest, /* extend */
+ lineLength /2, lineBinary,
+ 0, NULL);
}
if ((rc == 0) && (prc != NULL)) {
if (verbose) TSS_PrintAll("intermediate policy digest",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -3,24 +3,29 @@
#
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
%global incname ibmtss
Name: tss2
Version: 1.6.0
Release: 1%{?dist}
Epoch: 1
Version: 1234
Release: 5%{?dist}
Summary: IBM's TCG Software Stack (TSS) for TPM 2.0 and related utilities
Group: Applications/System
License: BSD
URL: http://sourceforge.net/projects/ibmtpm20tss/
Source0: https://sourceforge.net/projects/ibmtpm20tss/files/ibmtss%{version}.tar.gz
Patch0: tss2-1.6.0-manpage-cleanup.patch
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: gcc
Patch0: 0001-ekutils-fix-null-check-in-convertPemToX509.patch
Patch1: 0002-ektuils-check-return-of-X509_gmtime_adj-for-notAfter.patch
Patch2: 0003-imalib-call-memcmp-with-correct-size.patch
Patch3: 0004-certifycreation-Check-that-creation-hash-file-name-r.patch
Patch4: flags-fixup.patch
Patch5: header-file.patch
# reported upstream https://sourceforge.net/p/ibmtpm20tss/mailman/message/36444738/
# and reported fixed, but not yet pushed to sourceforge.
Patch6: hash_generate.patch
BuildRequires: help2man
BuildRequires: openssl-devel
BuildRequires: gcc
Requires: openssl
%description
@ -34,59 +39,95 @@ education and debugging.
%package devel
Summary: Development libraries and headers for IBM's TSS 2.0
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development libraries and headers for IBM's TSS 2.0. You will need this in
order to build TSS 2.0 applications.
%define incname ibmtss
%prep
%autosetup -p1 -c %{name}-%{version}
%setup -q -c %{name}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build
autoreconf -vi
%configure --disable-static --disable-tpm-1.2 --program-prefix=tss
# nonstandard variable names are used in place of CFLAGS and LDFLAGS
pushd utils
CCFLAGS="%{optflags}" \
LNFLAGS="%{__global_ldflags}" \
%{make_build}
make -f makefile.fedora %{?_smp_mflags}
# Generate man pages for extracted list of executables
mkdir -p man/man1
BIN_PREFIX=tss
man_exe=$(sed -n "s,^help2man.*/usr/bin/${BIN_PREFIX}\\([^ ]*\) .*\$,\\1,p" makeman.sh)
for f in $man_exe; do
# prefixed name
n=${BIN_PREFIX}$f
# extract description of binary
desc=$(sed -n -e "s,^help2man.* -n \"\\([^\"]*\\)\".*/usr/bin/$n .*\$,\\1,p" makeman.sh)
# temporarily link executable to prefixed name so man page is generated with correct name
ln -s $PWD/$f %{_tmppath}/$n
LD_LIBRARY_PATH="$PWD:$LD_LIBRARY_PATH" help2man -h-h --version-string="v%{version}" -n "$desc" %{_tmppath}/$n > man/man1/$n.1
rm %{_tmppath}/$n
done
popd
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%ldconfig_scriptlets
# Prefix for namespacing
BIN_PREFIX=tss
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_libdir}
mkdir -p %{buildroot}/%{_includedir}/%{incname}/
mkdir -p %{buildroot}/%{_mandir}/man1
pushd utils
# Pick out executables and copy with namespacing
for f in *; do
if [[ -x $f && -f $f && ! $f =~ .*\..* ]]; then
cp -p $f %{buildroot}/%{_bindir}/${BIN_PREFIX}$f
fi;
done
cp -p *.so.0.1 %{buildroot}/%{_libdir}
cp -p %{incname}/*.h %{buildroot}/%{_includedir}/%{incname}/
cp -p man/man1/tss*.1 %{buildroot}/%{_mandir}/man1/
popd
# Make symbolic links to the shared lib
pushd %{buildroot}/%{_libdir}
rm -f libibmtss.so.0
ln -sf libibmtss.so.0.1 libibmtss.so.0
rm -f libibmtss.so
ln -sf libibmtss.so.0 libibmtss.so
popd
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%license LICENSE
%{_bindir}/tss*
%{_libdir}/libibmtss.so.*
%{_libdir}/libibmtssutils.so.*
%{_libdir}/libibmtss.so.0
%{_libdir}/libibmtss.so.0.*
%attr(0644, root, root) %{_mandir}/man1/tss*.1*
%files devel
%{_includedir}/%{incname}
%{_libdir}/libibmtss.so
%{_libdir}/libibmtssutils.so
%doc ibmtss.doc
%changelog
* Wed Jul 26 2023 MSVSphere Packaging Team <packager@msvsphere.ru> - 1:1.6.0-1
- Rebuilt for MSVSphere 8.8
* Tue May 18 2021 Jerry Snitselaar <jsnitsel@redhat.com> - 1.6.0-1
- Rebase to v1.6.0 release.
- Manpage cleanup.
resolves: rhbz#1822073
* Thu Jun 06 2019 Jerry Snitselaar <jsnitsel@redhat.com> - 1331-2
- Fix bounds check in IMA_Event_PcrExtend
resolves: rhbz#1669239
* Thu May 30 2019 Jerry Snitselaar <jsnitsel@redhat.com> - 1331-1
- Rebase to v1331
- Add initial CI gating support
resolves: rhbz#1669239
* Fri Oct 05 2018 Jerry Snitselaar <jsnitsel@redhat.com> - 1234-5
- Move header files to ibmtss directory.
- Check return value of TSS_Hash_Generate.

Loading…
Cancel
Save