Update to 2.1.1 release
This commit updates the tpm2-tools package to version 2.1.1. It also does some cleanups such as changing the prefixes to tpm2-tools that is the new name for the upstream project repository. Since this matches the pkg name the global pkg_prefix can be removed. It also removes the downstream patches since these are already present in the latest upstream release. resolves: rhbz#1504438 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
This commit is contained in:
parent
3d1352694e
commit
565cd7e724
@ -1,31 +0,0 @@
|
|||||||
From 5b84837757cab93397cfa5830e69d2b7e7ce0e0c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jerry Snitselaar <jsnitsel@redhat.com>
|
|
||||||
Date: Wed, 18 Oct 2017 21:46:45 -0700
|
|
||||||
Subject: [PATCH] lib: clean up potential memory leak
|
|
||||||
|
|
||||||
In case where sapi_ctx_init fails in sapi_init_from_options, free tcti_ctx.
|
|
||||||
|
|
||||||
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
|
|
||||||
---
|
|
||||||
lib/context-util.c | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/lib/context-util.c b/lib/context-util.c
|
|
||||||
index 7de22ac..c3034f9 100644
|
|
||||||
--- a/lib/context-util.c
|
|
||||||
+++ b/lib/context-util.c
|
|
||||||
@@ -205,8 +205,10 @@ sapi_init_from_options (common_opts_t *options)
|
|
||||||
if (tcti_ctx == NULL)
|
|
||||||
return NULL;
|
|
||||||
sapi_ctx = sapi_ctx_init (tcti_ctx);
|
|
||||||
- if (sapi_ctx == NULL)
|
|
||||||
+ if (sapi_ctx == NULL) {
|
|
||||||
+ free (tcti_ctx);
|
|
||||||
return NULL;
|
|
||||||
+ }
|
|
||||||
return sapi_ctx;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
--
|
|
||||||
2.15.0.rc0
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
|||||||
diff -ruN tpm2.0-tools-2.1.0-orig/lib/tpm_kdfa.c tpm2.0-tools-2.1.0/lib/tpm_kdfa.c
|
|
||||||
--- tpm2.0-tools-2.1.0-orig/lib/tpm_kdfa.c 2017-07-25 01:50:33.000000000 +0800
|
|
||||||
+++ tpm2.0-tools-2.1.0/lib/tpm_kdfa.c 2017-08-15 10:48:23.063493627 +0800
|
|
||||||
@@ -51,6 +51,34 @@
|
|
||||||
/* no return, not possible */
|
|
||||||
}
|
|
||||||
|
|
||||||
+static HMAC_CTX *hmac_alloc()
|
|
||||||
+{
|
|
||||||
+ HMAC_CTX *ctx;
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL /* OpenSSL 1.1.0 */
|
|
||||||
+ ctx = malloc(sizeof(*ctx));
|
|
||||||
+#else
|
|
||||||
+ ctx = HMAC_CTX_new();
|
|
||||||
+#endif
|
|
||||||
+ if (!ctx)
|
|
||||||
+ return NULL;
|
|
||||||
+
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
|
|
||||||
+ HMAC_CTX_init(ctx);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ return ctx;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void hmac_del(HMAC_CTX *ctx)
|
|
||||||
+{
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
|
|
||||||
+ HMAC_CTX_cleanup(ctx);
|
|
||||||
+ free(ctx);
|
|
||||||
+#else
|
|
||||||
+ HMAC_CTX_free(ctx);
|
|
||||||
+#endif
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
TPM_RC tpm_kdfa(TPMI_ALG_HASH hashAlg,
|
|
||||||
TPM2B *key, char *label, TPM2B *contextU, TPM2B *contextV, UINT16 bits,
|
|
||||||
TPM2B_MAX_BUFFER *resultKey )
|
|
||||||
@@ -90,12 +118,17 @@
|
|
||||||
return TPM_RC_HASH;
|
|
||||||
}
|
|
||||||
|
|
||||||
- HMAC_CTX ctx;
|
|
||||||
- HMAC_CTX_init(&ctx);
|
|
||||||
- int rc = HMAC_Init_ex(&ctx, key->buffer, key->size, md, NULL);
|
|
||||||
+ HMAC_CTX *ctx = hmac_alloc();
|
|
||||||
+ if (!ctx) {
|
|
||||||
+ LOG_ERR("HMAC context allocation failed");
|
|
||||||
+ return TPM_RC_MEMORY;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ int rc = HMAC_Init_ex(ctx, key->buffer, key->size, md, NULL);
|
|
||||||
if (!rc) {
|
|
||||||
LOG_ERR("HMAC Init failed: %s", ERR_error_string(rc, NULL));
|
|
||||||
- return TPM_RC_MEMORY;
|
|
||||||
+ rval = TPM_RC_MEMORY;
|
|
||||||
+ goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO Why is this a loop? It appears to only execute once.
|
|
||||||
@@ -118,7 +151,7 @@
|
|
||||||
int c;
|
|
||||||
for(c=0; c < j; c++) {
|
|
||||||
TPM2B_DIGEST *digest = bufferList[c];
|
|
||||||
- int rc = HMAC_Update(&ctx, digest->b.buffer, digest->b.size);
|
|
||||||
+ int rc = HMAC_Update(ctx, digest->b.buffer, digest->b.size);
|
|
||||||
if (!rc) {
|
|
||||||
LOG_ERR("HMAC Update failed: %s", ERR_error_string(rc, NULL));
|
|
||||||
rval = TPM_RC_MEMORY;
|
|
||||||
@@ -127,7 +160,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned size = sizeof(tmpResult.t.buffer);
|
|
||||||
- int rc = HMAC_Final(&ctx, tmpResult.t.buffer, &size);
|
|
||||||
+ int rc = HMAC_Final(ctx, tmpResult.t.buffer, &size);
|
|
||||||
if (!rc) {
|
|
||||||
LOG_ERR("HMAC Final failed: %s", ERR_error_string(rc, NULL));
|
|
||||||
rval = TPM_RC_MEMORY;
|
|
||||||
@@ -147,7 +180,7 @@
|
|
||||||
resultKey->t.size = bytes;
|
|
||||||
|
|
||||||
err:
|
|
||||||
- HMAC_CTX_cleanup(&ctx);
|
|
||||||
+ hmac_del(ctx);
|
|
||||||
|
|
||||||
return rval;
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
diff -ru tpm2.0-tools-2.1.0-orig/tools/main.c tpm2.0-tools-2.1.0/tools/main.c
|
|
||||||
--- tpm2.0-tools-2.1.0-orig/tools/main.c 2017-07-31 14:26:37.436505592 +0800
|
|
||||||
+++ tpm2.0-tools-2.1.0/tools/main.c 2017-07-31 14:27:12.999707128 +0800
|
|
||||||
@@ -61,7 +61,7 @@
|
|
||||||
execute_man (argv[0], envp);
|
|
||||||
fprintf (stderr,
|
|
||||||
"failed to load manpage, check your environment / PATH\n");
|
|
||||||
- /* no break */
|
|
||||||
+ exit (1);
|
|
||||||
case 2:
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
diff -ru tpm2.0-tools-2.1.0-orig/tools/tpm2_dump_capability.c tpm2.0-tools-2.1.0/tools/tpm2_dump_capability.c
|
|
||||||
--- tpm2.0-tools-2.1.0-orig/tools/tpm2_dump_capability.c 2017-07-31 14:26:37.436505592 +0800
|
|
||||||
+++ tpm2.0-tools-2.1.0/tools/tpm2_dump_capability.c 2017-07-31 14:29:30.831488212 +0800
|
|
||||||
@@ -595,7 +595,7 @@
|
|
||||||
case TPM_CAP_COMMANDS:
|
|
||||||
dump_command_attr_array (capabilities->command.commandAttributes,
|
|
||||||
capabilities->command.count);
|
|
||||||
- /* no break */
|
|
||||||
+ break;
|
|
||||||
default:
|
|
||||||
return 1;
|
|
||||||
}
|
|
3
sources
3
sources
@ -1,2 +1 @@
|
|||||||
SHA512 (tpm2.0-tools-2.1.0.tar.gz) = 5488ffdc42a318fae9a307a333cdbce730a144cea847fe68546367c87689cd675d1376c1a638dc4eefa6231d4d7f7417215cc4eb606e999a757425f5097eb0c4
|
SHA512 (tpm2-tools-2.1.1.tar.gz) = f376b6e77d5683746fcee622f603e396193718a3b0c4b57efc4969e489e8d221aba9dba4878d72f20d966434a9c20097bac33f42b9650e95bb7f03fe13dc2cda
|
||||||
SHA512 (allow-to-build-with-openssl-1.1.x.patch) = 8f2e9878c7444536b9883fa0c01821686d53f9bedf349fca0893b3266d89f4554aeffc6e164c9f6996d43b6a48c05501b30bfe66fd6726c885c60378a3dfc5b4
|
|
||||||
|
@ -1,20 +1,11 @@
|
|||||||
Name: tpm2-tools
|
Name: tpm2-tools
|
||||||
Version: 2.1.0
|
Version: 2.1.1
|
||||||
Release: 7%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A TPM2.0 testing tool build upon TPM2.0-TSS
|
Summary: A TPM2.0 testing tool build upon TPM2.0-TSS
|
||||||
|
|
||||||
%global pkg_prefix tpm2.0-tools
|
|
||||||
|
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://github.com/01org/tpm2.0-tools
|
URL: https://github.com/01org/tpm2-tools
|
||||||
Source0: https://github.com/01org/tpm2.0-tools/archive/%{version}.tar.gz#/%{pkg_prefix}-%{version}.tar.gz
|
Source0: https://github.com/01org/tpm2-tools/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
# https://github.com/01org/tpm2.0-tools/pull/381
|
|
||||||
Patch0: gcc7-implict-fallthrough-fix.patch
|
|
||||||
# https://github.com/01org/tpm2-tools/commit/5cee30cbc3da
|
|
||||||
Patch1: allow-to-build-with-openssl-1.1.x.patch
|
|
||||||
# https://github.com/01org/tpm2-tools/pull/567
|
|
||||||
Patch2: 0001-lib-clean-up-potential-memory-leak.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
@ -39,7 +30,7 @@ Requires: tpm2-tss%{?_isa} >= 1.1.0-1%{?dist}
|
|||||||
tpm2-tools is a batch of testing tools for tpm2.0. It is based on tpm2-tss.
|
tpm2-tools is a batch of testing tools for tpm2.0. It is based on tpm2-tss.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %{pkg_prefix}-%{version}
|
%autosetup -p1 -n %{name}-%{version}
|
||||||
./bootstrap
|
./bootstrap
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -56,6 +47,12 @@ tpm2-tools is a batch of testing tools for tpm2.0. It is based on tpm2-tss.
|
|||||||
%{_mandir}/man8/tpm2_*.8.gz
|
%{_mandir}/man8/tpm2_*.8.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Nov 01 2017 Javier Martinez Canillas <javierm@redhat.com> - 2.1.1-1
|
||||||
|
- Rename remaining tpm2.0-tools prefixes to tpm2-tools
|
||||||
|
- Remove global pkg_prefix since now the upstream repo and package names match
|
||||||
|
- Remove downstream patches since now these are in the latest upstream release
|
||||||
|
- Update to 2.1.1 release (RHBZ#1504438)
|
||||||
|
|
||||||
* Thu Oct 19 2017 Jerry Snitselaar <jsnitsel@redhat.com> - 2.1.0-7
|
* Thu Oct 19 2017 Jerry Snitselaar <jsnitsel@redhat.com> - 2.1.0-7
|
||||||
- Clean up potential memleak (RHBZ#1503959)
|
- Clean up potential memleak (RHBZ#1503959)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user