aboutsummaryrefslogtreecommitdiffstats
path: root/meta-tpm/recipes-tpm
diff options
context:
space:
mode:
Diffstat (limited to 'meta-tpm/recipes-tpm')
-rw-r--r--meta-tpm/recipes-tpm/libtpm/files/Convert-another-vdprintf-to-dprintf.patch26
-rw-r--r--meta-tpm/recipes-tpm/libtpm/files/Use-format-s-for-call-to-dprintf.patch33
-rw-r--r--meta-tpm/recipes-tpm/libtpm/files/fix_signed_issue.patch48
-rw-r--r--meta-tpm/recipes-tpm/libtpm/libtpm_0.9.6.bb (renamed from meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb)4
-rw-r--r--meta-tpm/recipes-tpm/openssl-tpm-engine/files/0001-create-tpm-key-support-well-known-key-option.patch99
-rw-r--r--meta-tpm/recipes-tpm/openssl-tpm-engine/files/0002-libtpm-support-env-TPM_SRK_PW.patch80
-rw-r--r--meta-tpm/recipes-tpm/openssl-tpm-engine/files/0003-tpm-openssl-tpm-engine-parse-an-encrypted-tpm-SRK-pa.patch251
-rw-r--r--meta-tpm/recipes-tpm/openssl-tpm-engine/files/0004-tpm-openssl-tpm-engine-change-variable-c-type-from-c.patch31
-rw-r--r--meta-tpm/recipes-tpm/openssl-tpm-engine/files/openssl11_build_fix.patch34
-rw-r--r--meta-tpm/recipes-tpm/openssl-tpm-engine/openssl-tpm-engine_0.5.0.bb65
-rw-r--r--meta-tpm/recipes-tpm/pcr-extend/files/fix_openssl11_build.patch45
-rw-r--r--meta-tpm/recipes-tpm/pcr-extend/pcr-extend_git.bb26
-rw-r--r--meta-tpm/recipes-tpm/swtpm/files/fix_fcntl_h.patch31
-rw-r--r--meta-tpm/recipes-tpm/swtpm/files/fix_lib_search_path.patch66
-rw-r--r--meta-tpm/recipes-tpm/swtpm/files/ioctl_h.patch22
-rw-r--r--meta-tpm/recipes-tpm/swtpm/files/oe_configure.patch65
-rw-r--r--meta-tpm/recipes-tpm/swtpm/swtpm-wrappers-native.bb12
-rw-r--r--meta-tpm/recipes-tpm/swtpm/swtpm_0.8.1.bb (renamed from meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb)37
-rw-r--r--meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb23
-rw-r--r--meta-tpm/recipes-tpm/tpm-tools/files/04-fix-FTBFS-clang.patch56
-rw-r--r--meta-tpm/recipes-tpm/tpm-tools/files/openssl1.1_fix.patch18
-rw-r--r--meta-tpm/recipes-tpm/tpm-tools/files/tpm-tools-extendpcr.patch244
-rw-r--r--meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb35
-rw-r--r--meta-tpm/recipes-tpm/trousers/files/0001-build-don-t-override-localstatedir-mandir-sysconfdir.patch68
-rw-r--r--meta-tpm/recipes-tpm/trousers/files/get-user-ps-path-use-POSIX-getpwent-instead-of-getpwe.patch49
-rw-r--r--meta-tpm/recipes-tpm/trousers/files/tcsd.service10
-rw-r--r--meta-tpm/recipes-tpm/trousers/files/trousers-udev.rules2
-rw-r--r--meta-tpm/recipes-tpm/trousers/files/trousers.init.sh67
-rw-r--r--meta-tpm/recipes-tpm/trousers/trousers_git.bb120
29 files changed, 22 insertions, 1645 deletions
diff --git a/meta-tpm/recipes-tpm/libtpm/files/Convert-another-vdprintf-to-dprintf.patch b/meta-tpm/recipes-tpm/libtpm/files/Convert-another-vdprintf-to-dprintf.patch
deleted file mode 100644
index 9e1021a..0000000
--- a/meta-tpm/recipes-tpm/libtpm/files/Convert-another-vdprintf-to-dprintf.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 09e7dd42e5201d079bad70e9f7cc6033ce1c7cad Mon Sep 17 00:00:00 2001
-From: Stefan Berger <stefanb@linux.vnet.ibm.com>
-Date: Fri, 3 Feb 2017 10:58:22 -0500
-Subject: [PATCH] Convert another vdprintf to dprintf
-
-Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- src/tpm_library.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: git/src/tpm_library.c
-===================================================================
---- git.orig/src/tpm_library.c
-+++ git/src/tpm_library.c
-@@ -427,7 +427,7 @@ void TPMLIB_LogPrintfA(unsigned int inde
- indent = sizeof(spaces) - 1;
- memset(spaces, ' ', indent);
- spaces[indent] = 0;
-- vdprintf(debug_fd, spaces, NULL);
-+ dprintf(debug_fd, "%s", spaces);
- }
-
- va_start(args, format);
diff --git a/meta-tpm/recipes-tpm/libtpm/files/Use-format-s-for-call-to-dprintf.patch b/meta-tpm/recipes-tpm/libtpm/files/Use-format-s-for-call-to-dprintf.patch
deleted file mode 100644
index a71b5c1..0000000
--- a/meta-tpm/recipes-tpm/libtpm/files/Use-format-s-for-call-to-dprintf.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 6a9b4e5d70f770aa9ca31e3e6d3b1ae72c192070 Mon Sep 17 00:00:00 2001
-From: Stefan Berger <stefanb@linux.vnet.ibm.com>
-Date: Tue, 31 Jan 2017 20:10:51 -0500
-Subject: [PATCH] Use format '%s' for call to dprintf
-
-Fix the dprintf call to use a format parameter that otherwise causes
-errors with gcc on certain platforms.
-
-Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
-
-Upstream-Status: Backport
-replaces local patch
-Signed-off-by: Armin Kuster <akuster@mvsita.com>
-
----
- src/tpm_library.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: git/src/tpm_library.c
-===================================================================
---- git.orig/src/tpm_library.c
-+++ git/src/tpm_library.c
-@@ -405,8 +405,8 @@ int TPMLIB_LogPrintf(const char *format,
- }
-
- if (debug_prefix)
-- dprintf(debug_fd, debug_prefix);
-- dprintf(debug_fd, buffer);
-+ dprintf(debug_fd, "%s", debug_prefix);
-+ dprintf(debug_fd, "%s", buffer);
-
- return i;
- }
diff --git a/meta-tpm/recipes-tpm/libtpm/files/fix_signed_issue.patch b/meta-tpm/recipes-tpm/libtpm/files/fix_signed_issue.patch
deleted file mode 100644
index fc13aa5..0000000
--- a/meta-tpm/recipes-tpm/libtpm/files/fix_signed_issue.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Upstream-Status: Pending
-Signed-off-by: Armin kuster <akuster808@gmail.com>
-
-Index: git/src/swtpm/ctrlchannel.c
-===================================================================
---- git.orig/src/swtpm/ctrlchannel.c
-+++ git/src/swtpm/ctrlchannel.c
-@@ -152,7 +152,8 @@ static int ctrlchannel_receive_state(ptm
- uint32_t tpm_number = 0;
- unsigned char *blob = NULL;
- uint32_t blob_length = be32toh(pss->u.req.length);
-- uint32_t remain = blob_length, offset = 0;
-+ ssize_t remain = (ssize_t) blob_length;
-+ uint32_t offset = 0;
- TPM_RESULT res;
- uint32_t flags = be32toh(pss->u.req.state_flags);
- TPM_BOOL is_encrypted = (flags & PTM_STATE_FLAG_ENCRYPTED) != 0;
-Index: git/src/swtpm_ioctl/tpm_ioctl.c
-===================================================================
---- git.orig/src/swtpm_ioctl/tpm_ioctl.c
-+++ git/src/swtpm_ioctl/tpm_ioctl.c
-@@ -303,7 +303,7 @@ static int do_save_state_blob(int fd, bo
- numbytes = write(file_fd, pgs.u.resp.data,
- devtoh32(is_chardev, pgs.u.resp.length));
-
-- if (numbytes != devtoh32(is_chardev, pgs.u.resp.length)) {
-+ if (numbytes != (ssize_t) devtoh32(is_chardev, pgs.u.resp.length)) {
- fprintf(stderr,
- "Could not write to file '%s': %s\n",
- filename, strerror(errno));
-@@ -420,7 +420,7 @@ static int do_load_state_blob(int fd, bo
- had_error = true;
- break;
- }
-- pss.u.req.length = htodev32(is_chardev, numbytes);
-+ pss.u.req.length = htodev32(is_chardev, (uint32_t) numbytes);
-
- /* the returnsize is zero on all intermediate packets */
- returnsize = ((size_t)numbytes < sizeof(pss.u.req.data))
-@@ -863,7 +863,7 @@ int main(int argc, char *argv[])
- return EXIT_FAILURE;
- }
- /* no tpm_result here */
-- printf("ptm capability is 0x%lx\n", (uint64_t)devtoh64(is_chardev, cap));
-+ printf("ptm capability is 0x%llx\n", (uint64_t)devtoh64(is_chardev, cap));
-
- } else if (!strcmp(command, "-i")) {
- init.u.req.init_flags = htodev32(is_chardev, PTM_INIT_FLAG_DELETE_VOLATILE);
diff --git a/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb b/meta-tpm/recipes-tpm/libtpm/libtpm_0.9.6.bb
index 9784aa1..a860319 100644
--- a/meta-tpm/recipes-tpm/libtpm/libtpm_0.8.2.bb
+++ b/meta-tpm/recipes-tpm/libtpm/libtpm_0.9.6.bb
@@ -2,8 +2,8 @@ SUMMARY = "LIBPM - Software TPM Library"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9"
-SRCREV = "f66a719eda0b492ea3ec7852421a9d98db0a0621"
-SRC_URI = "git://github.com/stefanberger/libtpms.git;branch=stable-0.8"
+SRCREV = "f8c2dc7e12a730dcca4220d7ac5ad86d13dfd630"
+SRC_URI = "git://github.com/stefanberger/libtpms.git;branch=stable-0.9;protocol=https"
PE = "1"
diff --git a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0001-create-tpm-key-support-well-known-key-option.patch b/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0001-create-tpm-key-support-well-known-key-option.patch
deleted file mode 100644
index bed8b92..0000000
--- a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0001-create-tpm-key-support-well-known-key-option.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-commit 16dac0cb7b73b8a7088300e45b98ac20819b03ed
-Author: Junxian.Xiao <Junxian.Xiao@windriver.com>
-Date: Wed Jun 19 18:57:13 2013 +0800
-
-support well-known password in openssl-tpm-engine.
-
-Add "-z" option to select well known password in create_tpm_key tool.
-
-Signed-off-by: Junxian.Xiao <Junxian.Xiao@windriver.com>
-
-Index: git/src/create_tpm_key.c
-===================================================================
---- git.orig/src/create_tpm_key.c
-+++ git/src/create_tpm_key.c
-@@ -48,6 +48,8 @@
-
- #include "ssl_compat.h"
-
-+#define TPM_WELL_KNOWN_KEY_LEN 20 /*well know key length is 20 bytes zero*/
-+
- #define print_error(a,b) \
- fprintf(stderr, "%s:%d %s result: 0x%x (%s)\n", __FILE__, __LINE__, \
- a, b, Trspi_Error_String(b))
-@@ -72,6 +74,7 @@ usage(char *argv0)
- "\t\t-e|--enc-scheme encryption scheme to use [PKCSV15] or OAEP\n"
- "\t\t-q|--sig-scheme signature scheme to use [DER] or SHA1\n"
- "\t\t-s|--key-size key size in bits [2048]\n"
-+ "\t\t-z|--zerokey use well known 20 bytes zero as SRK password.\n"
- "\t\t-a|--auth require a password for the key [NO]\n"
- "\t\t-p|--popup use TSS GUI popup dialogs to get the password "
- "for the\n\t\t\t\t key [NO] (implies --auth)\n"
-@@ -154,6 +157,7 @@ int main(int argc, char **argv)
- int asn1_len;
- char *filename, c, *openssl_key = NULL;
- int option_index, auth = 0, popup = 0, wrap = 0;
-+ int wellknownkey = 0;
- UINT32 enc_scheme = TSS_ES_RSAESPKCSV15;
- UINT32 sig_scheme = TSS_SS_RSASSAPKCS1V15_DER;
- UINT32 key_size = 2048;
-@@ -161,12 +165,15 @@ int main(int argc, char **argv)
-
- while (1) {
- option_index = 0;
-- c = getopt_long(argc, argv, "pe:q:s:ahw:",
-+ c = getopt_long(argc, argv, "pe:q:s:zahw:",
- long_options, &option_index);
- if (c == -1)
- break;
-
- switch (c) {
-+ case 'z':
-+ wellknownkey = 1;
-+ break;
- case 'a':
- initFlags |= TSS_KEY_AUTHORIZATION;
- auth = 1;
-@@ -300,6 +307,8 @@ int main(int argc, char **argv)
-
- if (srk_authusage) {
- char *authdata = calloc(1, 128);
-+ TSS_FLAG secretMode = TSS_SECRET_MODE_PLAIN;
-+ int authlen = 0;
-
- if (!authdata) {
- fprintf(stderr, "malloc failed.\n");
-@@ -316,17 +325,26 @@ int main(int argc, char **argv)
- exit(result);
- }
-
-- if (EVP_read_pw_string(authdata, 128, "SRK Password: ", 0)) {
-- Tspi_Context_CloseObject(hContext, hKey);
-- Tspi_Context_Close(hContext);
-- free(authdata);
-- exit(result);
-+ if (wellknownkey) {
-+ memset(authdata, 0, TPM_WELL_KNOWN_KEY_LEN);
-+ secretMode = TSS_SECRET_MODE_SHA1;
-+ authlen = TPM_WELL_KNOWN_KEY_LEN;
-+ }
-+ else {
-+ if (EVP_read_pw_string(authdata, 128, "SRK Password: ", 0)) {
-+ Tspi_Context_CloseObject(hContext, hKey);
-+ Tspi_Context_Close(hContext);
-+ free(authdata);
-+ exit(result);
-+ }
-+ secretMode = TSS_SECRET_MODE_PLAIN;
-+ authlen = strlen(authdata);
- }
-
- //Set Secret
- if ((result = Tspi_Policy_SetSecret(srkUsagePolicy,
-- TSS_SECRET_MODE_PLAIN,
-- strlen(authdata),
-+ secretMode,
-+ authlen,
- (BYTE *)authdata))) {
- print_error("Tspi_Policy_SetSecret", result);
- free(authdata);
diff --git a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0002-libtpm-support-env-TPM_SRK_PW.patch b/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0002-libtpm-support-env-TPM_SRK_PW.patch
deleted file mode 100644
index 2caaaf0..0000000
--- a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0002-libtpm-support-env-TPM_SRK_PW.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-commit 16dac0cb7b73b8a7088300e45b98ac20819b03ed
-Author: Junxian.Xiao <Junxian.Xiao@windriver.com>
-Date: Wed Jun 19 18:57:13 2013 +0800
-
-support reading SRK password from env TPM_SRK_PW
-
-Add "env TPM_SRK_PW=xxxx" to set password for libtpm.so. Specially,
-use "env TPM_SRK_PW=#WELLKNOWN#" to set well known password.
-
-Signed-off-by: Junxian.Xiao <Junxian.Xiao@windriver.com>
-
-Index: git/src/e_tpm.c
-===================================================================
---- git.orig/src/e_tpm.c
-+++ git/src/e_tpm.c
-@@ -38,6 +38,8 @@
- #include "e_tpm.h"
- #include "ssl_compat.h"
-
-+#define TPM_WELL_KNOWN_KEY_LEN 20 /*well know key length is 20 bytes zero*/
-+
- //#define DLOPEN_TSPI
-
- #ifndef OPENSSL_NO_HW
-@@ -262,6 +264,10 @@ int tpm_load_srk(UI_METHOD *ui, void *cb
- TSS_RESULT result;
- UINT32 authusage;
- BYTE *auth;
-+ char *srkPasswd = NULL;
-+ TSS_FLAG secretMode = secret_mode;
-+ int authlen = 0;
-+
-
- if (hSRK != NULL_HKEY) {
- DBGFN("SRK is already loaded.");
-@@ -313,18 +319,36 @@ int tpm_load_srk(UI_METHOD *ui, void *cb
- return 0;
- }
-
-- if (!tpm_engine_get_auth(ui, (char *)auth, 128, "SRK authorization: ",
-- cb_data)) {
-- Tspi_Context_CloseObject(hContext, hSRK);
-- free(auth);
-- TSSerr(TPM_F_TPM_LOAD_SRK, TPM_R_REQUEST_FAILED);
-- return 0;
-+ srkPasswd = getenv("TPM_SRK_PW");
-+ if (NULL != srkPasswd) {
-+ if (0 == strcmp(srkPasswd, "#WELLKNOWN#")) {
-+ memset(auth, 0, TPM_WELL_KNOWN_KEY_LEN);
-+ secretMode = TSS_SECRET_MODE_SHA1;
-+ authlen = TPM_WELL_KNOWN_KEY_LEN;
-+ } else {
-+ int authbuflen = 128;
-+ memset(auth, 0, authbuflen);
-+ strncpy(auth, srkPasswd, authbuflen-1);
-+ secretMode = TSS_SECRET_MODE_PLAIN;
-+ authlen = strlen(auth);
-+ }
-+ }
-+ else {
-+ if (!tpm_engine_get_auth(ui, (char *)auth, 128,
-+ "SRK authorization: ", cb_data)) {
-+ Tspi_Context_CloseObject(hContext, hSRK);
-+ free(auth);
-+ TSSerr(TPM_F_TPM_LOAD_SRK, TPM_R_REQUEST_FAILED);
-+ return 0;
-+ }
-+ secretMode = secret_mode;
-+ authlen = strlen(auth);
- }
-
- /* secret_mode is a global that may be set by engine ctrl
- * commands. By default, its set to TSS_SECRET_MODE_PLAIN */
-- if ((result = Tspi_Policy_SetSecret(hSRKPolicy, secret_mode,
-- strlen((char *)auth), auth))) {
-+ if ((result = Tspi_Policy_SetSecret(hSRKPolicy, secretMode,
-+ authlen, auth))) {
- Tspi_Context_CloseObject(hContext, hSRK);
- free(auth);
- TSSerr(TPM_F_TPM_LOAD_SRK, TPM_R_REQUEST_FAILED);
diff --git a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0003-tpm-openssl-tpm-engine-parse-an-encrypted-tpm-SRK-pa.patch b/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0003-tpm-openssl-tpm-engine-parse-an-encrypted-tpm-SRK-pa.patch
deleted file mode 100644
index cc8772d..0000000
--- a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0003-tpm-openssl-tpm-engine-parse-an-encrypted-tpm-SRK-pa.patch
+++ /dev/null
@@ -1,251 +0,0 @@
-From eb28ad92a2722fd30f8114840cf2b1ade26b80ee Mon Sep 17 00:00:00 2001
-From: Limeng <Meng.Li@windriver.com>
-Date: Fri, 23 Jun 2017 11:39:04 +0800
-Subject: [PATCH] tpm:openssl-tpm-engine:parse an encrypted tpm SRK password
- from env
-
-Before, we support reading SRK password from env TPM_SRK_PW,
-but it is a plain password and not secure.
-So, we improve it and support to get an encrypted (AES algorithm)
-SRK password from env, and then parse it. The default decrypting
-AES password and salt is set in bb file.
-When we initialize TPM, and set a SRK pw, and then we need to
-encrypt it with the same AES password and salt by AES algorithm.
-At last, we set a env as below:
-export TPM_SRK_ENC_PW=xxxxxxxx
-"xxxxxxxx" is the encrypted SRK password for libtpm.so.
-
-Signed-off-by: Meng Li <Meng.Li@windriver.com>
----
- e_tpm.c | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
- e_tpm.h | 4 ++
- e_tpm_err.c | 4 ++
- 3 files changed, 164 insertions(+), 1 deletion(-)
-
-Index: git/src/e_tpm.c
-===================================================================
---- git.orig/src/e_tpm.c
-+++ git/src/e_tpm.c
-@@ -259,6 +259,118 @@ void ENGINE_load_tpm(void)
- ERR_clear_error();
- }
-
-+static int tpm_decode_base64(unsigned char *indata,
-+ int in_len,
-+ unsigned char *outdata,
-+ int *out_len)
-+{
-+ int total_len, len, ret;
-+ EVP_ENCODE_CTX dctx;
-+
-+ EVP_DecodeInit(&dctx);
-+
-+ total_len = 0;
-+ ret = EVP_DecodeUpdate(&dctx, outdata, &len, indata, in_len);
-+ if (ret < 0) {
-+ TSSerr(TPM_F_TPM_DECODE_BASE64, TPM_R_DECODE_BASE64_FAILED);
-+ return 1;
-+ }
-+
-+ total_len += len;
-+ ret = EVP_DecodeFinal(&dctx, outdata, &len);
-+ if (ret < 0) {
-+ TSSerr(TPM_F_TPM_DECODE_BASE64, TPM_R_DECODE_BASE64_FAILED);
-+ return 1;
-+ }
-+ total_len += len;
-+
-+ *out_len = total_len;
-+
-+ return 0;
-+}
-+
-+static int tpm_decrypt_srk_pw(unsigned char *indata, int in_len,
-+ unsigned char *outdata,
-+ int *out_len)
-+{
-+ int dec_data_len, dec_data_lenfinal;
-+ unsigned char dec_data[256];
-+ unsigned char *aes_pw;
-+ unsigned char aes_salt[PKCS5_SALT_LEN];
-+ unsigned char key[EVP_MAX_KEY_LENGTH], iv[EVP_MAX_IV_LENGTH];
-+ const EVP_CIPHER *cipher = NULL;
-+ const EVP_MD *dgst = NULL;
-+ EVP_CIPHER_CTX *ctx = NULL;
-+
-+ if (sizeof(SRK_DEC_SALT) - 1 > PKCS5_SALT_LEN) {
-+ TSSerr(TPM_F_TPM_DECRYPT_SRK_PW, TPM_R_DECRYPT_SRK_PW_FAILED);
-+ return 1;
-+ }
-+
-+ aes_pw = malloc(sizeof(SRK_DEC_PW) - 1);
-+ if (aes_pw == NULL) {
-+ TSSerr(TPM_F_TPM_DECRYPT_SRK_PW, TPM_R_DECRYPT_SRK_PW_FAILED);
-+ return 1;
-+ }
-+
-+ memset(aes_salt, 0x00, sizeof(aes_salt));
-+ memcpy(aes_pw, SRK_DEC_PW, sizeof(SRK_DEC_PW) - 1);
-+ memcpy(aes_salt, SRK_DEC_SALT, sizeof(SRK_DEC_SALT) - 1);
-+
-+ cipher = EVP_get_cipherbyname("aes-128-cbc");
-+ if (cipher == NULL) {
-+ TSSerr(TPM_F_TPM_DECRYPT_SRK_PW, TPM_R_DECRYPT_SRK_PW_FAILED);
-+ free(aes_pw);
-+ return 1;
-+ }
-+ dgst = EVP_sha256();
-+
-+ EVP_BytesToKey(cipher, dgst, aes_salt, (unsigned char *)aes_pw, sizeof(SRK_DEC_PW) - 1, 1, key, iv);
-+
-+ ctx = EVP_CIPHER_CTX_new();
-+ /* Don't set key or IV right away; we want to check lengths */
-+ if (!EVP_CipherInit_ex(ctx, cipher, NULL, NULL, NULL, 0)) {
-+ TSSerr(TPM_F_TPM_DECRYPT_SRK_PW, TPM_R_DECRYPT_SRK_PW_FAILED);
-+ free(aes_pw);
-+ return 1;
-+ }
-+
-+ OPENSSL_assert(EVP_CIPHER_CTX_key_length(ctx) == 16);
-+ OPENSSL_assert(EVP_CIPHER_CTX_iv_length(ctx) == 16);
-+
-+ if (!EVP_CipherInit_ex(ctx, NULL, NULL, key, iv, 0)) {
-+ TSSerr(TPM_F_TPM_DECRYPT_SRK_PW, TPM_R_DECRYPT_SRK_PW_FAILED);
-+ free(aes_pw);
-+ return 1;
-+ }
-+
-+ if (!EVP_CipherUpdate(ctx, dec_data, &dec_data_len, indata, in_len)) {
-+ /* Error */
-+ TSSerr(TPM_F_TPM_DECRYPT_SRK_PW, TPM_R_DECRYPT_SRK_PW_FAILED);
-+ free(aes_pw);
-+ EVP_CIPHER_CTX_free(ctx);
-+ return 1;
-+ }
-+
-+ if (!EVP_CipherFinal_ex(ctx, dec_data + dec_data_len, &dec_data_lenfinal)) {
-+ /* Error */
-+ TSSerr(TPM_F_TPM_DECRYPT_SRK_PW, TPM_R_DECRYPT_SRK_PW_FAILED);
-+ free(aes_pw);
-+ EVP_CIPHER_CTX_free(ctx);
-+ return 1;
-+ }
-+
-+ dec_data_len = dec_data_len + dec_data_lenfinal;
-+
-+ memcpy(outdata, dec_data, dec_data_len);
-+ *out_len = dec_data_len;
-+
-+ free(aes_pw);
-+ EVP_CIPHER_CTX_free(ctx);
-+
-+ return 0;
-+}
-+
- int tpm_load_srk(UI_METHOD *ui, void *cb_data)
- {
- TSS_RESULT result;
-@@ -319,8 +431,50 @@ int tpm_load_srk(UI_METHOD *ui, void *cb
- return 0;
- }
-
-- srkPasswd = getenv("TPM_SRK_PW");
-+ srkPasswd = getenv("TPM_SRK_ENC_PW");
- if (NULL != srkPasswd) {
-+ int in_len = strlen(srkPasswd);
-+ int out_len;
-+ unsigned char *out_buf;
-+
-+ if (!in_len || in_len % 4) {
-+ Tspi_Context_CloseObject(hContext, hSRK);
-+ free(auth);
-+ TSSerr(TPM_F_TPM_LOAD_SRK, TPM_R_REQUEST_FAILED);
-+ return 0;
-+ }
-+
-+ out_len = in_len * 3 / 4;
-+ out_buf = malloc(out_len);
-+ if (NULL == out_buf) {
-+ Tspi_Context_CloseObject(hContext, hSRK);
-+ free(auth);
-+ TSSerr(TPM_F_TPM_LOAD_SRK, TPM_R_REQUEST_FAILED);
-+ return 0;
-+ }
-+
-+ if (tpm_decode_base64(srkPasswd, strlen(srkPasswd),
-+ out_buf, &out_len)) {
-+ Tspi_Context_CloseObject(hContext, hSRK);
-+ free(auth);
-+ free(out_buf);
-+ TSSerr(TPM_F_TPM_LOAD_SRK, TPM_R_REQUEST_FAILED);
-+ return 0;
-+ }
-+
-+ if (tpm_decrypt_srk_pw(out_buf, out_len,
-+ auth, &authlen)) {
-+ Tspi_Context_CloseObject(hContext, hSRK);
-+ free(auth);
-+ free(out_buf);
-+ TSSerr(TPM_F_TPM_LOAD_SRK, TPM_R_REQUEST_FAILED);
-+ return 0;
-+ }
-+ secretMode = TSS_SECRET_MODE_PLAIN;
-+ free(out_buf);
-+ }
-+#ifdef TPM_SRK_PLAIN_PW
-+ else if (NULL != (srkPasswd = getenv("TPM_SRK_PW")) {
- if (0 == strcmp(srkPasswd, "#WELLKNOWN#")) {
- memset(auth, 0, TPM_WELL_KNOWN_KEY_LEN);
- secretMode = TSS_SECRET_MODE_SHA1;
-@@ -333,6 +487,7 @@ int tpm_load_srk(UI_METHOD *ui, void *cb
- authlen = strlen(auth);
- }
- }
-+#endif
- else {
- if (!tpm_engine_get_auth(ui, (char *)auth, 128,
- "SRK authorization: ", cb_data)) {
-Index: git/src/e_tpm.h
-===================================================================
---- git.orig/src/e_tpm.h
-+++ git/src/e_tpm.h
-@@ -66,6 +66,8 @@ void ERR_TSS_error(int function, int rea
- #define TPM_F_TPM_FILL_RSA_OBJECT 116
- #define TPM_F_TPM_ENGINE_GET_AUTH 117
- #define TPM_F_TPM_CREATE_SRK_POLICY 118
-+#define TPM_F_TPM_DECODE_BASE64 119
-+#define TPM_F_TPM_DECRYPT_SRK_PW 120
-
- /* Reason codes. */
- #define TPM_R_ALREADY_LOADED 100
-@@ -96,6 +98,8 @@ void ERR_TSS_error(int function, int rea
- #define TPM_R_ID_INVALID 125
- #define TPM_R_UI_METHOD_FAILED 126
- #define TPM_R_UNKNOWN_SECRET_MODE 127
-+#define TPM_R_DECODE_BASE64_FAILED 128
-+#define TPM_R_DECRYPT_SRK_PW_FAILED 129
-
- /* structure pointed to by the RSA object's app_data pointer */
- struct rsa_app_data
-Index: git/src/e_tpm_err.c
-===================================================================
---- git.orig/src/e_tpm_err.c
-+++ git/src/e_tpm_err.c
-@@ -234,6 +234,8 @@ static ERR_STRING_DATA TPM_str_functs[]
- {ERR_PACK(0, TPM_F_TPM_BIND_FN, 0), "TPM_BIND_FN"},
- {ERR_PACK(0, TPM_F_TPM_FILL_RSA_OBJECT, 0), "TPM_FILL_RSA_OBJECT"},
- {ERR_PACK(0, TPM_F_TPM_ENGINE_GET_AUTH, 0), "TPM_ENGINE_GET_AUTH"},
-+ {ERR_PACK(0, TPM_F_TPM_DECODE_BASE64, 0), "TPM_DECODE_BASE64"},
-+ {ERR_PACK(0, TPM_F_TPM_DECRYPT_SRK_PW, 0), "TPM_DECRYPT_SRK_PW"},
- {0, NULL}
- };
-
-@@ -264,6 +266,8 @@ static ERR_STRING_DATA TPM_str_reasons[]
- {TPM_R_FILE_READ_FAILED, "failed reading the key file"},
- {TPM_R_ID_INVALID, "engine id doesn't match"},
- {TPM_R_UI_METHOD_FAILED, "ui function failed"},
-+ {TPM_R_DECODE_BASE64_FAILED, "decode base64 failed"},
-+ {TPM_R_DECRYPT_SRK_PW_FAILED, "decrypt srk password failed"},
- {0, NULL}
- };
-
diff --git a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0004-tpm-openssl-tpm-engine-change-variable-c-type-from-c.patch b/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0004-tpm-openssl-tpm-engine-change-variable-c-type-from-c.patch
deleted file mode 100644
index 535472a..0000000
--- a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/0004-tpm-openssl-tpm-engine-change-variable-c-type-from-c.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From fb44e2814fd819c086f9a4c925427f89c0e8cec6 Mon Sep 17 00:00:00 2001
-From: Limeng <Meng.Li@windriver.com>
-Date: Fri, 21 Jul 2017 16:32:02 +0800
-Subject: [PATCH] tpm:openssl-tpm-engine: change variable c type from char
- into int
-
-refer to getopt_long() function definition, its return value type is
-int. So, change variable c type from char into int.
-On arm platform, when getopt_long() calling fails, if we define c as
-char type, its value will be 255, not -1. This will cause code enter
-wrong case.
-
-Signed-off-by: Meng Li <Meng.Li@windriver.com>
----
- create_tpm_key.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-Index: git/src/create_tpm_key.c
-===================================================================
---- git.orig/src/create_tpm_key.c
-+++ git/src/create_tpm_key.c
-@@ -155,7 +155,8 @@ int main(int argc, char **argv)
- ASN1_OCTET_STRING *blob_str;
- unsigned char *blob_asn1 = NULL;
- int asn1_len;
-- char *filename, c, *openssl_key = NULL;
-+ char *filename, *openssl_key = NULL;
-+ int c;
- int option_index, auth = 0, popup = 0, wrap = 0;
- int wellknownkey = 0;
- UINT32 enc_scheme = TSS_ES_RSAESPKCSV15;
diff --git a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/openssl11_build_fix.patch b/meta-tpm/recipes-tpm/openssl-tpm-engine/files/openssl11_build_fix.patch
deleted file mode 100644
index 2f8eb81..0000000
--- a/meta-tpm/recipes-tpm/openssl-tpm-engine/files/openssl11_build_fix.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Fix compiling for openssl 1.1
-
-Upstream-Status: Pending
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Index: git/src/e_tpm.c
-===================================================================
---- git.orig/src/e_tpm.c
-+++ git/src/e_tpm.c
-@@ -265,19 +265,20 @@ static int tpm_decode_base64(unsigned ch
- int *out_len)
- {
- int total_len, len, ret;
-- EVP_ENCODE_CTX dctx;
-+ EVP_ENCODE_CTX *dctx;
-
-- EVP_DecodeInit(&dctx);
-+ dctx = EVP_ENCODE_CTX_new();
-+ EVP_DecodeInit(dctx);
-
- total_len = 0;
-- ret = EVP_DecodeUpdate(&dctx, outdata, &len, indata, in_len);
-+ ret = EVP_DecodeUpdate(dctx, outdata, &len, indata, in_len);
- if (ret < 0) {
- TSSerr(TPM_F_TPM_DECODE_BASE64, TPM_R_DECODE_BASE64_FAILED);
- return 1;
- }
-
- total_len += len;
-- ret = EVP_DecodeFinal(&dctx, outdata, &len);
-+ ret = EVP_DecodeFinal(dctx, outdata, &len);
- if (ret < 0) {
- TSSerr(TPM_F_TPM_DECODE_BASE64, TPM_R_DECODE_BASE64_FAILED);
- return 1;
diff --git a/meta-tpm/recipes-tpm/openssl-tpm-engine/openssl-tpm-engine_0.5.0.bb b/meta-tpm/recipes-tpm/openssl-tpm-engine/openssl-tpm-engine_0.5.0.bb
deleted file mode 100644
index 0f98b79..0000000
--- a/meta-tpm/recipes-tpm/openssl-tpm-engine/openssl-tpm-engine_0.5.0.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-DESCRIPTION = "OpenSSL secure engine based on TPM hardware"
-HOMEPAGE = "https://github.com/mgerstner/openssl_tpm_engine"
-SECTION = "security/tpm"
-
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=11f0ee3af475c85b907426e285c9bb52"
-
-DEPENDS += "openssl trousers"
-
-SRC_URI = "\
- git://github.com/mgerstner/openssl_tpm_engine.git \
- file://0001-create-tpm-key-support-well-known-key-option.patch \
- file://0002-libtpm-support-env-TPM_SRK_PW.patch \
- file://0003-tpm-openssl-tpm-engine-parse-an-encrypted-tpm-SRK-pa.patch \
- file://0004-tpm-openssl-tpm-engine-change-variable-c-type-from-c.patch \
- file://openssl11_build_fix.patch \
-"
-SRCREV = "b28de5065e6eb9aa5d5afe2276904f7624c2cbaf"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig
-
-# The definitions below are used to decrypt the srk password.
-# It is allowed to define the values in 3 forms: string, hex number and
-# the hybrid, e.g,
-# srk_dec_pw = "incendia"
-# srk_dec_pw = "\x69\x6e\x63\x65\x6e\x64\x69\x61"
-# srk_dec_pw = "\x1""nc""\x3""nd""\x1""a"
-#
-# Due to the limit of escape character, the hybrid must be written in
-# above style. The actual values defined below in C code style are:
-# srk_dec_pw[] = { 0x01, 'n', 'c', 0x03, 'n', 'd', 0x01, 'a' };
-# srk_dec_salt[] = { 'r', 0x00, 0x00, 't' };
-srk_dec_pw ?= "\\"\\\x1\\"\\"nc\\"\\"\\\x3\\"\\"nd\\"\\"\\\x1\\"\\"a\\""
-srk_dec_salt ?= "\\"r\\"\\"\\\x00\\\x00\\"\\"t\\""
-
-CFLAGS_append += "-DSRK_DEC_PW=${srk_dec_pw} -DSRK_DEC_SALT=${srk_dec_salt}"
-
-# Uncomment below line if using the plain srk password for development
-#CFLAGS_append += "-DTPM_SRK_PLAIN_PW"
-
-do_configure_prepend() {
- cd ${B}
- cp LICENSE COPYING
- touch NEWS AUTHORS ChangeLog README
-}
-
-FILES_${PN}-staticdev += "${libdir}/ssl/engines-1.1/tpm.la"
-FILES_${PN}-dbg += "\
- ${libdir}/ssl/engines-1.1/.debug \
- ${libdir}/engines-1.1/.debug \
- ${prefix}/local/ssl/lib/engines-1.1/.debug \
-"
-FILES_${PN} += "\
- ${libdir}/ssl/engines-1.1/tpm.so* \
- ${libdir}/engines-1.1/tpm.so* \
- ${libdir}/libtpm.so* \
- ${prefix}/local/ssl/lib/engines-1.1/tpm.so* \
-"
-
-RDEPENDS_${PN} += "libcrypto libtspi"
-
-INSANE_SKIP_${PN} = "libdir"
-INSANE_SKIP_${PN}-dbg = "libdir"
diff --git a/meta-tpm/recipes-tpm/pcr-extend/files/fix_openssl11_build.patch b/meta-tpm/recipes-tpm/pcr-extend/files/fix_openssl11_build.patch
deleted file mode 100644
index cf2d437..0000000
--- a/meta-tpm/recipes-tpm/pcr-extend/files/fix_openssl11_build.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Enable building with openssl 1.1
-
-Upstream-Status: Pending
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Index: git/src/pcr-extend.c
-===================================================================
---- git.orig/src/pcr-extend.c
-+++ git/src/pcr-extend.c
-@@ -118,7 +118,7 @@ dump_buf (FILE *file, char *buf, size_t
- static unsigned char*
- sha1_file (FILE *file, unsigned int *hash_len)
- {
-- EVP_MD_CTX ctx = { 0 };
-+ EVP_MD_CTX *ctx = EVP_MD_CTX_new();
- unsigned char *buf = NULL, *hash = NULL;
- size_t num_read = 0;
-
-@@ -127,7 +127,7 @@ sha1_file (FILE *file, unsigned int *has
- perror ("malloc:\n");
- goto sha1_fail;
- }
-- if (EVP_DigestInit (&ctx, EVP_sha1 ()) == 0) {
-+ if (EVP_DigestInit (ctx, EVP_sha1 ()) == 0) {
- ERR_print_errors_fp (stderr);
- goto sha1_fail;
- }
-@@ -135,7 +135,7 @@ sha1_file (FILE *file, unsigned int *has
- num_read = fread (buf, 1, BUF_SIZE, file);
- if (num_read <= 0)
- break;
-- if (EVP_DigestUpdate (&ctx, buf, num_read) == 0) {
-+ if (EVP_DigestUpdate (ctx, buf, num_read) == 0) {
- ERR_print_errors_fp (stderr);
- goto sha1_fail;
- }
-@@ -149,7 +149,7 @@ sha1_file (FILE *file, unsigned int *has
- perror ("calloc of hash buffer:\n");
- goto sha1_fail;
- }
-- if (EVP_DigestFinal (&ctx, hash, hash_len) == 0) {
-+ if (EVP_DigestFinal (ctx, hash, hash_len) == 0) {
- ERR_print_errors_fp (stderr);
- goto sha1_fail;
- }
diff --git a/meta-tpm/recipes-tpm/pcr-extend/pcr-extend_git.bb b/meta-tpm/recipes-tpm/pcr-extend/pcr-extend_git.bb
deleted file mode 100644
index f8347b7..0000000
--- a/meta-tpm/recipes-tpm/pcr-extend/pcr-extend_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Command line utility to extend hash of arbitrary data into a TPMs PCR."
-HOMEPAGE = "https://github.com/flihp/pcr-extend"
-SECTION = "security/tpm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "libtspi"
-
-PV = "0.1+git${SRCPV}"
-SRCREV = "c02ad8f628b3d99f6d4c087b402fe31a40ee6316"
-
-SRC_URI = "git://github.com/flihp/pcr-extend.git \
- file://fix_openssl11_build.patch "
-
-inherit autotools
-
-S = "${WORKDIR}/git"
-
-do_compile() {
- oe_runmake -C ${S}/src
-}
-
-do_install() {
- install -d ${D}${bindir}
- oe_runmake -C ${S}/src DESTDIR="${D}" install
-}
diff --git a/meta-tpm/recipes-tpm/swtpm/files/fix_fcntl_h.patch b/meta-tpm/recipes-tpm/swtpm/files/fix_fcntl_h.patch
deleted file mode 100644
index 3d16431..0000000
--- a/meta-tpm/recipes-tpm/swtpm/files/fix_fcntl_h.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8750a6c3f0b4d9e7e45b4079150d29eb44774e9c Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster@mvista.com>
-Date: Tue, 14 Mar 2017 22:59:36 -0700
-Subject: [PATCH 2/4] logging: Fix musl build issue with fcntl
-
- error: #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> [-Werror=cpp]
- #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.
-
-Upstream-Status: Pending
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- src/swtpm/logging.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/swtpm/logging.c b/src/swtpm/logging.c
-index f16cab6..7da8606 100644
---- a/src/swtpm/logging.c
-+++ b/src/swtpm/logging.c
-@@ -45,7 +45,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
--#include <sys/fcntl.h>
-+#include <fcntl.h>
- #include <sys/stat.h>
- #include <stdio.h>
- #include <stdlib.h>
---
-2.11.0
-
diff --git a/meta-tpm/recipes-tpm/swtpm/files/fix_lib_search_path.patch b/meta-tpm/recipes-tpm/swtpm/files/fix_lib_search_path.patch
deleted file mode 100644
index 60958f7..0000000
--- a/meta-tpm/recipes-tpm/swtpm/files/fix_lib_search_path.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 672bb4ee625da3141ba6cecb0601c7563de4c483 Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster808@gmail.com>
-Date: Thu, 13 Oct 2016 02:03:56 -0700
-Subject: [PATCH 1/4] swtpm: add new package
-
-Upstream-Status: Inappropriate [OE config]
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Rebased to current tip.
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
----
- configure.ac | 34 ++++++++++------------------------
- 1 file changed, 10 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index abf5be1..85ed6ac 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -395,31 +395,17 @@ CFLAGS="$CFLAGS -Wformat -Wformat-security"
- dnl We have to make sure libtpms is using the same crypto library
- dnl to avoid problems
- AC_MSG_CHECKING([the crypto library libtpms is using])
--dirs=$($CC $CFLAGS -Xlinker --verbose 2>/dev/null | \
-- sed -n '/SEARCH_DIR/p' | \
-- sed 's/SEARCH_DIR("\(@<:@^"@:>@*\)"); */\1 /g' | \
-- sed 's|=/|/|g')
--for dir in $dirs $LIBRARY_PATH; do
-- if test -r $dir/libtpms.so; then
-- if test -n "`ldd $dir/libtpms.so | grep libcrypto.so`"; then
-- libtpms_cryptolib="openssl"
-- break
-- fi
-- if test -n "`ldd $dir/libtpms.so | grep libnss3.so`"; then
-- libtpms_cryptolib="freebl"
-- break
-- fi
-+dir="$SEARCH_DIR"
-+if test -r $dir/libtpms.so; then
-+ if test -n "`ldd $dir/libtpms.so | grep libcrypto.so`"; then
-+ libtpms_cryptolib="openssl"
-+ break
- fi
-- case $host_os in
-- cygwin|openbsd*)
-- if test -r $dir/libtpms.a; then
-- if test -n "$(nm $dir/libtpms.a | grep "U AES_encrypt")"; then
-- libtpms_cryptolib="openssl"
-- fi
-- fi
-- ;;
-- esac
--done
-+ if test -n "`ldd $dir/libtpms.so | grep libnss3.so`"; then
-+ libtpms_cryptolib="freebl"
-+ break
-+ fi
-+fi
-
- if test -z "$libtpms_cryptolib"; then
- AC_MSG_ERROR([Could not determine libtpms crypto library.])
---
-2.11.0
-
diff --git a/meta-tpm/recipes-tpm/swtpm/files/ioctl_h.patch b/meta-tpm/recipes-tpm/swtpm/files/ioctl_h.patch
deleted file mode 100644
index d736bc6..0000000
--- a/meta-tpm/recipes-tpm/swtpm/files/ioctl_h.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-tpm_ioctl: fix musl for missing ioctl
-
-tpm_ioctl.c: In function 'ioctl_to_cmd':
-tpm_ioctl.c:86:26: error: '_IOC_NRSHIFT' undeclared (first use in this function)
- return ((ioctlnum >> _IOC_NRSHIFT) & _IOC_NRMASK) + 1;
-
-
-Upstream-status:
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: git/src/swtpm_ioctl/tpm_ioctl.c
-===================================================================
---- git.orig/src/swtpm_ioctl/tpm_ioctl.c
-+++ git/src/swtpm_ioctl/tpm_ioctl.c
-@@ -58,6 +58,7 @@
- #include <fcntl.h>
- #include <unistd.h>
- #include <sys/ioctl.h>
-+#include <asm/ioctl.h>
- #include <getopt.h>
- #include <sys/un.h>
- #include <sys/types.h>
diff --git a/meta-tpm/recipes-tpm/swtpm/files/oe_configure.patch b/meta-tpm/recipes-tpm/swtpm/files/oe_configure.patch
deleted file mode 100644
index 5aee933..0000000
--- a/meta-tpm/recipes-tpm/swtpm/files/oe_configure.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Don't check for tscd deamon on host.
-
-Upstream-Status: OE Specific
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -179,15 +179,6 @@ AC_SUBST([LIBTPMS_LIBS])
- AC_CHECK_LIB(c, clock_gettime, LIBRT_LIBS="", LIBRT_LIBS="-lrt")
- AC_SUBST([LIBRT_LIBS])
-
--AC_PATH_PROG([TCSD], tcsd)
--if test "x$TCSD" = "x"; then
-- have_tcsd=no
-- AC_MSG_WARN([tcsd could not be found; typically need it for tss user account and tests])
--else
-- have_tcsd=yes
--fi
--AM_CONDITIONAL([HAVE_TCSD], test "$have_tcsd" != "no")
--
- dnl We either need netstat (more common across systems) or 'ss' for test cases
- AC_PATH_PROG([NETSTAT], [netstat])
- if test "x$NETSTAT" = "x"; then
-@@ -440,23 +431,6 @@ AC_ARG_WITH([tss-group],
- [TSS_GROUP="tss"]
- )
-
--case $have_tcsd in
--yes)
-- AC_MSG_CHECKING([whether TSS_USER $TSS_USER is available])
-- if ! test $(id -u $TSS_USER); then
-- AC_MSG_ERROR(["$TSS_USER is not available"])
-- else
-- AC_MSG_RESULT([yes])
-- fi
-- AC_MSG_CHECKING([whether TSS_GROUP $TSS_GROUP is available])
-- if ! test $(id -g $TSS_GROUP); then
-- AC_MSG_ERROR(["$TSS_GROUP is not available"])
-- else
-- AC_MSG_RESULT([yes])
-- fi
-- ;;
--esac
--
- AC_SUBST([TSS_USER])
- AC_SUBST([TSS_GROUP])
-
-Index: git/tests/Makefile.am
-===================================================================
---- git.orig/tests/Makefile.am
-+++ git/tests/Makefile.am
-@@ -83,10 +83,6 @@ TESTS += \
- test_tpm2_swtpm_cert \
- test_tpm2_swtpm_cert_ecc \
- test_tpm2_swtpm_setup_create_cert
--if HAVE_TCSD
--TESTS += \
-- test_tpm2_samples_create_tpmca
--endif
- endif
-
- EXTRA_DIST=$(TESTS) \
diff --git a/meta-tpm/recipes-tpm/swtpm/swtpm-wrappers-native.bb b/meta-tpm/recipes-tpm/swtpm/swtpm-wrappers-native.bb
index 644f3ac..bb93374 100644
--- a/meta-tpm/recipes-tpm/swtpm/swtpm-wrappers-native.bb
+++ b/meta-tpm/recipes-tpm/swtpm/swtpm-wrappers-native.bb
@@ -1,6 +1,6 @@
SUMMARY = "SWTPM - OpenEmbedded wrapper scripts for native swtpm tools"
LICENSE = "MIT"
-DEPENDS = "swtpm-native tpm-tools-native net-tools-native"
+DEPENDS = "swtpm-native"
inherit native
@@ -14,23 +14,19 @@ do_create_wrapper () {
for i in `find ${bindir} ${base_bindir} ${sbindir} ${base_sbindir} -name 'swtpm*' -perm /+x -type f`; do
exe=`basename $i`
case $exe in
- swtpm_setup.sh)
+ swtpm_setup)
cat >${WORKDIR}/swtpm_setup_oe.sh <<EOF
#! /bin/sh
#
-# Wrapper around swtpm_setup.sh which adds parameters required to
+# Wrapper around swtpm_setup which adds parameters required to
# run the setup as non-root directly from the native sysroot.
PATH="${bindir}:${base_bindir}:${sbindir}:${base_sbindir}:\$PATH"
export PATH
-# tcsd only allows to be run as root or tss. Pretend to be root...
-exec env ${FAKEROOTENV} ${FAKEROOTCMD} swtpm_setup.sh --config ${STAGING_DIR_NATIVE}/etc/swtpm_setup.conf "\$@"
+exec swtpm_setup --config ${STAGING_DIR_NATIVE}/etc/swtpm_setup.conf "\$@"
EOF
;;
- swtpm_setup)
- true
- ;;
*)
cat >${WORKDIR}/${exe}_oe.sh <<EOF
#! /bin/sh
diff --git a/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb b/meta-tpm/recipes-tpm/swtpm/swtpm_0.8.1.bb
index caf99e8..7a538da 100644
--- a/meta-tpm/recipes-tpm/swtpm/swtpm_0.5.2.bb
+++ b/meta-tpm/recipes-tpm/swtpm/swtpm_0.8.1.bb
@@ -3,32 +3,30 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fe8092c832b71ef20dfe4c6d3decb3a8"
SECTION = "apps"
-DEPENDS = "libtasn1 coreutils-native expect socat glib-2.0 net-tools-native libtpm libtpm-native"
+# expect-native, socat-native, coreutils-native and net-tools-native are reportedly only required for the tests
+DEPENDS = "libtasn1 coreutils-native expect-native socat-native glib-2.0 net-tools-native libtpm json-glib"
-# configure checks for the tools already during compilation and
-# then swtpm_setup needs them at runtime
-DEPENDS_append = " tpm-tools-native expect-native socat-native python3-pip-native python3-cryptography-native"
-
-SRCREV = "e59c0c1a7b4c8d652dbb280fd6126895a7057464"
-SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=stable-0.5 \
- file://ioctl_h.patch \
- file://oe_configure.patch \
- "
+SRCREV = "d2849a9f5ced70438d67036693438344b47b4161"
+SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=stable-0.8;protocol=https"
PE = "1"
S = "${WORKDIR}/git"
PARALLEL_MAKE = ""
-inherit autotools pkgconfig python3native
+inherit autotools pkgconfig perlnative
TSS_USER="tss"
TSS_GROUP="tss"
-PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG ?= "openssl gnutls"
PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)}"
PACKAGECONFIG += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', 'cuse', '', d)}"
PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
+# expect, bash, tpm2-pkcs11-tools (tpm2_ptool), tpmtool and certtool is
+# used by swtpm-create-tpmca (the last two is provided by gnutls)
+# gnutls is required by: swtpm-create-tpmca, swtpm-localca and swtpm_cert
+PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls-native gnutls, gnutls-bin expect bash tpm2-pkcs11-tools"
PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
PACKAGECONFIG[cuse] = "--with-cuse, --without-cuse, fuse"
PACKAGECONFIG[seccomp] = "--with-seccomp, --without-seccomp, libseccomp"
@@ -36,19 +34,16 @@ PACKAGECONFIG[seccomp] = "--with-seccomp, --without-seccomp, libseccomp"
EXTRA_OECONF += "--with-tss-user=${TSS_USER} --with-tss-group=${TSS_GROUP}"
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system ${TSS_USER}"
-USERADD_PARAM_${PN} = "--system -g ${TSS_GROUP} --home-dir \
+GROUPADD_PARAM:${PN} = "--system ${TSS_USER}"
+USERADD_PARAM:${PN} = "--system -g ${TSS_GROUP} --home-dir / \
--no-create-home --shell /bin/false ${BPN}"
-PACKAGES =+ "${PN}-python"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-
PACKAGE_BEFORE_PN = "${PN}-cuse"
-FILES_${PN}-cuse = "${bindir}/swtpm_cuse"
+FILES:${PN}-cuse = "${bindir}/swtpm_cuse"
-INSANE_SKIP_${PN} += "dev-so"
+INSANE_SKIP:${PN} += "dev-so"
-RDEPENDS_${PN} = "libtpm expect socat bash tpm-tools python3 python3-cryptography python3-twisted"
+RDEPENDS:${PN} = "libtpm"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb b/meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb
deleted file mode 100644
index 8486d00..0000000
--- a/meta-tpm/recipes-tpm/tpm-quote-tools/tpm-quote-tools_1.0.4.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "The TPM Quote Tools is a collection of programs that provide support \
- for TPM based attestation using the TPM quote mechanism. \
- "
-DESCRIPTION = "The TPM Quote Tools is a collection of programs that provide support \
- for TPM based attestation using the TPM quote mechanism. The manual \
- page for tpm_quote_tools provides a usage overview. \
- \
- TPM Quote Tools has been tested with TrouSerS on Linux and NTRU on \
- Windows XP. It was ported to Windows using MinGW and MSYS. \
- "
-HOMEPAGE = "https://sourceforge.net/projects/tpmquotetools/"
-SECTION = "security/tpm"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ec30b01163d242ecf07d9cd84e3611f"
-
-DEPENDS = "libtspi tpm-tools"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/tpmquotetools/${PV}/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "6e194f5bc534301bbaef53dc6d22c233"
-SRC_URI[sha256sum] = "10dc4eade02635557a9496b388360844cd18e7864e2eb882f5e45ab2fa405ae2"
-
-inherit autotools
diff --git a/meta-tpm/recipes-tpm/tpm-tools/files/04-fix-FTBFS-clang.patch b/meta-tpm/recipes-tpm/tpm-tools/files/04-fix-FTBFS-clang.patch
deleted file mode 100644
index 5018d45..0000000
--- a/meta-tpm/recipes-tpm/tpm-tools/files/04-fix-FTBFS-clang.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Title: Fix FTBFS with clang due to uninitialized values
-Date: 2015-06-28
-Author: Alexander <sanek23994@gmail.com>
-Bug-Debian: http://bugs.debian.org/753063
-
-Upstream-Status: Backport
-tpm-tools_1.3.9.1-0.1.debian.tar
-
-Signed-off-by: Armin kuster <akuster808@gmail.com>
-
---- tpm-tools-1.3.8/src/tpm_mgmt/tpm_present.c 2012-05-17 21:49:58.000000000 +0400
-+++ tpm-tools-1.3.8-my/src/tpm_mgmt/tpm_present.c 2014-06-29 01:01:11.502081468 +0400
-@@ -165,7 +165,7 @@
-
- TSS_BOOL bCmd, bHwd;
- BOOL bRc;
-- TSS_HPOLICY hTpmPolicy;
-+ TSS_HPOLICY hTpmPolicy = 0;
- char *pwd = NULL;
- int pswd_len;
- char rsp[5];
---- tpm-tools-1.3.8/src/tpm_mgmt/tpm_takeownership.c 2010-09-30 21:28:09.000000000 +0400
-+++ tpm-tools-1.3.8-my/src/tpm_mgmt/tpm_takeownership.c 2014-06-29 01:01:51.069373655 +0400
-@@ -67,7 +67,7 @@
- char *szSrkPasswd = NULL;
- int tpm_len, srk_len;
- TSS_HTPM hTpm;
-- TSS_HKEY hSrk;
-+ TSS_HKEY hSrk = 0;
- TSS_FLAG fSrkAttrs;
- TSS_HPOLICY hTpmPolicy, hSrkPolicy;
- int iRc = -1;
---- tpm-tools-1.3.8/src/tpm_mgmt/tpm_nvwrite.c 2011-08-17 16:20:35.000000000 +0400
-+++ tpm-tools-1.3.8-my/src/tpm_mgmt/tpm_nvwrite.c 2014-06-29 01:02:45.836397172 +0400
-@@ -220,7 +220,7 @@
- close(fd);
- fd = -1;
- } else if (fillvalue >= 0) {
-- if (length < 0) {
-+ if (length == 0) {
- logError(_("Requiring size parameter.\n"));
- return -1;
- }
---- tpm-tools-1.3.8/src/data_mgmt/data_protect.c 2012-05-17 21:49:58.000000000 +0400
-+++ tpm-tools-1.3.8-my/src/data_mgmt/data_protect.c 2014-06-29 01:03:49.863254459 +0400
-@@ -432,8 +432,8 @@
-
- char *pszPin = NULL;
-
-- CK_RV rv;
-- CK_SESSION_HANDLE hSession;
-+ CK_RV rv = 0;
-+ CK_SESSION_HANDLE hSession = 0;
- CK_OBJECT_HANDLE hObject;
- CK_MECHANISM tMechanism = { CKM_AES_ECB, NULL, 0 };
-
diff --git a/meta-tpm/recipes-tpm/tpm-tools/files/openssl1.1_fix.patch b/meta-tpm/recipes-tpm/tpm-tools/files/openssl1.1_fix.patch
deleted file mode 100644
index 9ae3f72..0000000
--- a/meta-tpm/recipes-tpm/tpm-tools/files/openssl1.1_fix.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Pending
-Update to build with openssl 1.1.x
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Index: git/src/cmds/tpm_extendpcr.c
-===================================================================
---- git.orig/src/cmds/tpm_extendpcr.c
-+++ git/src/cmds/tpm_extendpcr.c
-@@ -136,7 +136,7 @@ int main(int argc, char **argv)
-
- unsigned char msg[EVP_MAX_MD_SIZE];
- unsigned int msglen;
-- EVP_MD_CTX ctx;
-+ EVP_MD_CTX *ctx = EVP_MD_CTX_new();
- EVP_DigestInit(&ctx, EVP_sha1());
- while ((lineLen = BIO_read(bin, line, sizeof(line))) > 0)
- EVP_DigestUpdate(&ctx, line, lineLen);
diff --git a/meta-tpm/recipes-tpm/tpm-tools/files/tpm-tools-extendpcr.patch b/meta-tpm/recipes-tpm/tpm-tools/files/tpm-tools-extendpcr.patch
deleted file mode 100644
index 40150af..0000000
--- a/meta-tpm/recipes-tpm/tpm-tools/files/tpm-tools-extendpcr.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-Index: git/include/tpm_tspi.h
-===================================================================
---- git.orig/include/tpm_tspi.h
-+++ git/include/tpm_tspi.h
-@@ -117,6 +117,10 @@ TSS_RESULT tpmPcrRead(TSS_HTPM a_hTpm, U
- UINT32 *a_PcrSize, BYTE **a_PcrValue);
- TSS_RESULT pcrcompositeSetPcrValue(TSS_HPCRS a_hPcrs, UINT32 a_Idx,
- UINT32 a_PcrSize, BYTE *a_PcrValue);
-+TSS_RESULT tpmPcrExtend(TSS_HTPM a_hTpm, UINT32 a_Idx,
-+ UINT32 a_DataSize, BYTE *a_Data,
-+ TSS_PCR_EVENT *a_Event,
-+ UINT32 *a_PcrSize, BYTE **a_PcrValue);
- #ifdef TSS_LIB_IS_12
- TSS_RESULT unloadVersionInfo(UINT64 *offset, BYTE *blob, TPM_CAP_VERSION_INFO *v);
- TSS_RESULT pcrcompositeSetPcrLocality(TSS_HPCRS a_hPcrs, UINT32 localityValue);
-Index: git/lib/tpm_tspi.c
-===================================================================
---- git.orig/lib/tpm_tspi.c
-+++ git/lib/tpm_tspi.c
-@@ -594,6 +594,20 @@ pcrcompositeSetPcrValue(TSS_HPCRS a_hPcr
- return result;
- }
-
-+TSS_RESULT
-+tpmPcrExtend(TSS_HTPM a_hTpm, UINT32 a_Idx,
-+ UINT32 a_DataSize, BYTE *a_Data,
-+ TSS_PCR_EVENT *a_Event,
-+ UINT32 *a_PcrSize, BYTE **a_PcrValue)
-+{
-+ TSS_RESULT result =
-+ Tspi_TPM_PcrExtend(a_hTpm, a_Idx, a_DataSize, a_Data, a_Event,
-+ a_PcrSize, a_PcrValue);
-+ tspiResult("Tspi_TPM_PcrExtend", result);
-+
-+ return result;
-+}
-+
- #ifdef TSS_LIB_IS_12
- /*
- * These getPasswd functions will wrap calls to the other functions and check to see if the TSS
-Index: git/src/cmds/Makefile.am
-===================================================================
---- git.orig/src/cmds/Makefile.am
-+++ git/src/cmds/Makefile.am
-@@ -22,6 +22,7 @@
- #
-
- bin_PROGRAMS = tpm_sealdata \
-+ tpm_extendpcr \
- tpm_unsealdata
-
- if TSS_LIB_IS_12
-@@ -33,4 +34,5 @@ endif
- LDADD = $(top_builddir)/lib/libtpm_tspi.la -ltspi $(top_builddir)/lib/libtpm_unseal.la -ltpm_unseal -lcrypto @INTLLIBS@
-
- tpm_sealdata_SOURCES = tpm_sealdata.c
-+tpm_extendpcr_SOURCES = tpm_extendpcr.c
- tpm_unsealdata_SOURCES = tpm_unsealdata.c
-Index: git/src/cmds/tpm_extendpcr.c
-===================================================================
---- /dev/null
-+++ git/src/cmds/tpm_extendpcr.c
-@@ -0,0 +1,181 @@
-+/*
-+ * The Initial Developer of the Original Code is International
-+ * Business Machines Corporation. Portions created by IBM
-+ * Corporation are Copyright (C) 2005, 2006 International Business
-+ * Machines Corporation. All Rights Reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the Common Public License as published by
-+ * IBM Corporation; either version 1 of the License, or (at your option)
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * Common Public License for more details.
-+ *
-+ * You should have received a copy of the Common Public License
-+ * along with this program; if not, a copy can be viewed at
-+ * http://www.opensource.org/licenses/cpl1.0.php.
-+ */
-+#include <openssl/evp.h>
-+#include <openssl/sha.h>
-+#include <limits.h>
-+#include "tpm_tspi.h"
-+#include "tpm_utils.h"
-+#include "tpm_seal.h"
-+
-+// #define TPM_EXTENDPCR_DEBUG
-+
-+static void help(const char *aCmd)
-+{
-+ logCmdHelp(aCmd);
-+ logCmdOption("-i, --infile FILE",
-+ _
-+ ("Filename containing data to extend PCRs with. Default is STDIN."));
-+ logCmdOption("-p, --pcr NUMBER",
-+ _("PCR to extend."));
-+
-+}
-+
-+static char in_filename[PATH_MAX] = "";
-+static TSS_HPCRS hPcrs = NULL_HPCRS;
-+static TSS_HTPM hTpm;
-+static UINT32 selectedPcrs[24];
-+static UINT32 selectedPcrsLen = 0;
-+TSS_HCONTEXT hContext = 0;
-+
-+static int parse(const int aOpt, const char *aArg)
-+{
-+ int rc = -1;
-+
-+ switch (aOpt) {
-+ case 'i':
-+ if (aArg) {
-+ strncpy(in_filename, aArg, PATH_MAX);
-+ rc = 0;
-+ }
-+ break;
-+ case 'p':
-+ if (aArg) {
-+ selectedPcrs[selectedPcrsLen++] = atoi(aArg);
-+ rc = 0;
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+ return rc;
-+
-+}
-+
-+int main(int argc, char **argv)
-+{
-+
-+ int iRc = -1;
-+ struct option opts[] = {
-+ {"infile", required_argument, NULL, 'i'},
-+ {"pcr", required_argument, NULL, 'p'},
-+ };
-+ unsigned char line[EVP_MD_block_size(EVP_sha1()) * 16];
-+ int lineLen;
-+ UINT32 i;
-+
-+ BIO *bin = NULL;
-+
-+ initIntlSys();
-+
-+ if (genericOptHandler(argc, argv, "i:p:", opts,
-+ sizeof(opts) / sizeof(struct option), parse,
-+ help) != 0)
-+ goto out;
-+
-+ if (contextCreate(&hContext) != TSS_SUCCESS)
-+ goto out;
-+
-+ if (contextConnect(hContext) != TSS_SUCCESS)
-+ goto out_close;
-+
-+ if (contextGetTpm(hContext, &hTpm) != TSS_SUCCESS)
-+ goto out_close;
-+
-+ /* Create a BIO for the input file */
-+ if ((bin = BIO_new(BIO_s_file())) == NULL) {
-+ logError(_("Unable to open input BIO\n"));
-+ goto out_close;
-+ }
-+
-+ /* Assign the input file to the BIO */
-+ if (strlen(in_filename) == 0)
-+ BIO_set_fp(bin, stdin, BIO_NOCLOSE);
-+ else if (!BIO_read_filename(bin, in_filename)) {
-+ logError(_("Unable to open input file: %s\n"),
-+ in_filename);
-+ goto out_close;
-+ }
-+
-+ /* Create the PCRs object. If any PCRs above 15 are selected, this will need to be
-+ * a 1.2 TSS/TPM */
-+ if (selectedPcrsLen) {
-+ TSS_FLAG initFlag = 0;
-+ UINT32 pcrSize;
-+ BYTE *pcrValue;
-+
-+ for (i = 0; i < selectedPcrsLen; i++) {
-+ if (selectedPcrs[i] > 15) {
-+#ifdef TSS_LIB_IS_12
-+ initFlag |= TSS_PCRS_STRUCT_INFO_LONG;
-+#else
-+ logError(_("This version of %s was compiled for a v1.1 TSS, which "
-+ "can only seal\n data to PCRs 0-15. PCR %u is out of range"
-+ "\n"), argv[0], selectedPcrs[i]);
-+ goto out_close;
-+#endif
-+ }
-+ }
-+
-+ unsigned char msg[EVP_MAX_MD_SIZE];
-+ unsigned int msglen;
-+ EVP_MD_CTX ctx;
-+ EVP_DigestInit(&ctx, EVP_sha1());
-+ while ((lineLen = BIO_read(bin, line, sizeof(line))) > 0)
-+ EVP_DigestUpdate(&ctx, line, lineLen);
-+ EVP_DigestFinal(&ctx, msg, &msglen);
-+
-+ if (contextCreateObject(hContext, TSS_OBJECT_TYPE_PCRS, initFlag,
-+ &hPcrs) != TSS_SUCCESS)
-+ goto out_close;
-+
-+ for (i = 0; i < selectedPcrsLen; i++) {
-+#ifdef TPM_EXTENDPCR_DEBUG
-+ if (tpmPcrRead(hTpm, selectedPcrs[i], &pcrSize, &pcrValue) != TSS_SUCCESS)
-+ goto out_close;
-+
-+ unsigned int j;
-+ for (j = 0; j < pcrSize; j++)
-+ printf("%02X ", pcrValue[j]);
-+ printf("\n");
-+#endif
-+
-+ if (tpmPcrExtend(hTpm, selectedPcrs[i], msglen, msg, NULL, &pcrSize, &pcrValue) != TSS_SUCCESS)
-+ goto out_close;
-+
-+#ifdef TPM_EXTENDPCR_DEBUG
-+ for (j = 0; j < pcrSize; j++)
-+ printf("%02X ", pcrValue[j]);
-+ printf("\n");
-+#endif
-+ }
-+ }
-+
-+ iRc = 0;
-+ logSuccess(argv[0]);
-+
-+out_close:
-+ contextClose(hContext);
-+
-+out:
-+ if (bin)
-+ BIO_free(bin);
-+ return iRc;
-+}
diff --git a/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb b/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb
deleted file mode 100644
index 8aeb8ac..0000000
--- a/meta-tpm/recipes-tpm/tpm-tools/tpm-tools_1.3.9.2.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "The tpm-tools package contains commands to allow the platform administrator the ability to manage and diagnose the platform's TPM."
-DESCRIPTION = " \
- The tpm-tools package contains commands to allow the platform administrator \
- the ability to manage and diagnose the platform's TPM. Additionally, the \
- package contains commands to utilize some of the capabilities available \
- in the TPM PKCS#11 interface implemented in the openCryptoki project. \
- "
-SECTION = "tpm"
-LICENSE = "CPL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=059e8cd6165cb4c31e351f2b69388fd9"
-
-DEPENDS = "libtspi openssl"
-DEPENDS_class-native = "trousers-native"
-
-SRCREV = "bf43837575c5f7d31865562dce7778eae970052e"
-SRC_URI = " \
- git://git.code.sf.net/p/trousers/tpm-tools \
- file://tpm-tools-extendpcr.patch \
- file://04-fix-FTBFS-clang.patch \
- file://openssl1.1_fix.patch \
- "
-
-inherit autotools-brokensep gettext
-
-S = "${WORKDIR}/git"
-
-do_configure_prepend () {
- mkdir -p po
- mkdir -p m4
- cp -R po_/* po/
- touch po/Makefile.in.in
- touch m4/Makefile.am
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-tpm/recipes-tpm/trousers/files/0001-build-don-t-override-localstatedir-mandir-sysconfdir.patch b/meta-tpm/recipes-tpm/trousers/files/0001-build-don-t-override-localstatedir-mandir-sysconfdir.patch
deleted file mode 100644
index 7b3cc77..0000000
--- a/meta-tpm/recipes-tpm/trousers/files/0001-build-don-t-override-localstatedir-mandir-sysconfdir.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 3396fc7a184293c23135161f034802062f7f3816 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
-Date: Wed, 1 Nov 2017 11:41:48 +0000
-Subject: [PATCH] build: don't override --localstatedir --mandir --sysconfdir
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It is currently impossible to override localstatedir,
-mandir and sysconfdir during ./configure, because they
-are being overriden unconditionally because of they
-way trousers is built using rpmbuild.
-
-If they need massaging for rpmbuild, the values should
-be specified inside the spec file, not in ./configure
-and thereby overriding user-requested values.
-
-With this patch it is now possible to set above
-locations as needed. The .spec file is being modified
-as well so as to restore previous behaviour.
-
-Signed-off-by: André Draszik <adraszik@tycoint.com>
----
-Upstream-Status: Submitted [https://sourceforge.net/p/trousers/mailman/message/36099290/]
-Signed-off-by: André Draszik <adraszik@tycoint.com>
- configure.ac | 11 ++---------
- dist/trousers.spec.in | 2 +-
- 2 files changed, 3 insertions(+), 10 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b9626af..7fe5f8e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -376,16 +376,9 @@ CFLAGS="$CFLAGS -I../include \
- KERNEL_VERSION=`uname -r`
- AC_SUBST(CFLAGS)
-
--# When we build the rpms, prefix will be /usr. This'll do some things that make sense,
--# like put our sbin stuff in /usr/sbin and our library in /usr/lib. It'll do some other
--# things that don't make sense like put our config file in /usr/etc. So, I'll just hack
--# it here. If the --prefix option isn't specified during configure, let it all go to
-+# If the --prefix option isn't specified during configure, let it all go to
- # /usr/local, even /usr/local/etc. :-P
--if test x"${prefix}" = x"/usr"; then
-- sysconfdir="/etc"
-- localstatedir="/var"
-- mandir="/usr/share/man"
--elif test x"${prefix}" = x"NONE"; then
-+if test x"${prefix}" = x"NONE"; then
- localstatedir="/usr/local/var"
- fi
-
-diff --git a/dist/trousers.spec.in b/dist/trousers.spec.in
-index b298b0e..10ef178 100644
---- a/dist/trousers.spec.in
-+++ b/dist/trousers.spec.in
-@@ -45,7 +45,7 @@ applications.
-
- %build
- %{?arch64:export PKG_CONFIG_PATH=%{pkgconfig_path}:$PKG_CONFIG_PATH}
--./configure --prefix=/usr --libdir=%{_libdir}
-+./configure --prefix=/usr --libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man
- make
-
- %clean
---
-2.15.0.rc1
-
diff --git a/meta-tpm/recipes-tpm/trousers/files/get-user-ps-path-use-POSIX-getpwent-instead-of-getpwe.patch b/meta-tpm/recipes-tpm/trousers/files/get-user-ps-path-use-POSIX-getpwent-instead-of-getpwe.patch
deleted file mode 100644
index 3f5a144..0000000
--- a/meta-tpm/recipes-tpm/trousers/files/get-user-ps-path-use-POSIX-getpwent-instead-of-getpwe.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-trousers: fix compiling with musl
-
-use POSIX getpwent instead of getpwent_r
-
-Upstream-Status: Submitted
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: git/src/tspi/ps/tspps.c
-===================================================================
---- git.orig/src/tspi/ps/tspps.c
-+++ git/src/tspi/ps/tspps.c
-@@ -66,9 +66,6 @@ get_user_ps_path(char **file)
- TSS_RESULT result;
- char *file_name = NULL, *home_dir = NULL;
- struct passwd *pwp;
--#if (defined (__linux) || defined (linux) || defined(__GLIBC__))
-- struct passwd pw;
--#endif
- struct stat stat_buf;
- char buf[PASSWD_BUFSIZE];
- uid_t euid;
-@@ -96,24 +93,15 @@ get_user_ps_path(char **file)
- #else
- setpwent();
- while (1) {
--#if (defined (__linux) || defined (linux) || defined(__GLIBC__))
-- rc = getpwent_r(&pw, buf, PASSWD_BUFSIZE, &pwp);
-- if (rc) {
-- LogDebugFn("USER PS: Error getting path to home directory: getpwent_r: %s",
-- strerror(rc));
-- endpwent();
-- return TSPERR(TSS_E_INTERNAL_ERROR);
-- }
--
--#elif (defined (__FreeBSD__) || defined (__OpenBSD__))
- if ((pwp = getpwent()) == NULL) {
- LogDebugFn("USER PS: Error getting path to home directory: getpwent: %s",
- strerror(rc));
- endpwent();
-+#if (defined (__FreeBSD__) || defined (__OpenBSD__))
- MUTEX_UNLOCK(user_ps_path);
-+#endif
- return TSPERR(TSS_E_INTERNAL_ERROR);
- }
--#endif
- if (euid == pwp->pw_uid) {
- home_dir = strdup(pwp->pw_dir);
- break;
diff --git a/meta-tpm/recipes-tpm/trousers/files/tcsd.service b/meta-tpm/recipes-tpm/trousers/files/tcsd.service
deleted file mode 100644
index 787d4e9..0000000
--- a/meta-tpm/recipes-tpm/trousers/files/tcsd.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=TCG Core Services Daemon
-After=syslog.target
-
-[Service]
-Type=forking
-ExecStart=@SBINDIR@/tcsd
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-tpm/recipes-tpm/trousers/files/trousers-udev.rules b/meta-tpm/recipes-tpm/trousers/files/trousers-udev.rules
deleted file mode 100644
index 256babd..0000000
--- a/meta-tpm/recipes-tpm/trousers/files/trousers-udev.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-# trousers daemon expects tpm device to be owned by tss user & group
-KERNEL=="tpm[0-9]*", MODE="0600", OWNER="tss", GROUP="tss"
diff --git a/meta-tpm/recipes-tpm/trousers/files/trousers.init.sh b/meta-tpm/recipes-tpm/trousers/files/trousers.init.sh
deleted file mode 100644
index d0d6cb3..0000000
--- a/meta-tpm/recipes-tpm/trousers/files/trousers.init.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-
-### BEGIN INIT INFO
-# Provides: tcsd trousers
-# Required-Start: $local_fs $remote_fs $network
-# Required-Stop: $local_fs $remote_fs $network
-# Should-Start:
-# Should-Stop:
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts tcsd
-# Description: tcsd belongs to the TrouSerS TCG Software Stack
-### END INIT INFO
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/sbin/tcsd
-NAME=tcsd
-DESC="Trusted Computing daemon"
-USER="tss"
-
-test -x "${DAEMON}" || exit 0
-
-# Read configuration variable file if it is present
-[ -r /etc/default/$NAME ] && . /etc/default/$NAME
-
-case "${1}" in
- start)
- echo "Starting $DESC: "
-
- if [ ! -e /dev/tpm* ]
- then
- echo "device driver not loaded, skipping."
- exit 0
- fi
-
- start-stop-daemon --start --quiet --oknodo \
- --pidfile /var/run/${NAME}.pid --make-pidfile --background \
- --user ${USER} --chuid ${USER} \
- --exec ${DAEMON} -- ${DAEMON_OPTS} --foreground
- RETVAL="$?"
- echo "$NAME."
- exit $RETVAL
- ;;
-
- stop)
- echo "Stopping $DESC: "
-
- start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/${NAME}.pid --user ${USER} --exec ${DAEMON}
- RETVAL="$?"
- echo "$NAME."
- rm -f /var/run/${NAME}.pid
- exit $RETVAL
- ;;
-
- restart|force-reload)
- "${0}" stop
- sleep 1
- "${0}" start
- exit $?
- ;;
- *)
- echo "Usage: ${NAME} {start|stop|restart|force-reload|status}" >&2
- exit 3
- ;;
-esac
-
-exit 0
diff --git a/meta-tpm/recipes-tpm/trousers/trousers_git.bb b/meta-tpm/recipes-tpm/trousers/trousers_git.bb
deleted file mode 100644
index 32c9a49..0000000
--- a/meta-tpm/recipes-tpm/trousers/trousers_git.bb
+++ /dev/null
@@ -1,120 +0,0 @@
-SUMMARY = "TrouSerS - An open-source TCG Software Stack implementation."
-LICENSE = "BSD"
-HOMEPAGE = "http://sourceforge.net/projects/trousers/"
-LIC_FILES_CHKSUM = "file://README;startline=3;endline=4;md5=2af28fbed0832e4d83a9e6dd68bb4413"
-SECTION = "security/tpm"
-
-DEPENDS = "openssl"
-
-SRCREV = "94144b0a1dcef6e31845d6c319e9bd7357208eb9"
-PV = "0.3.15+git${SRCPV}"
-
-SRC_URI = " \
- git://git.code.sf.net/p/trousers/trousers \
- file://trousers.init.sh \
- file://trousers-udev.rules \
- file://tcsd.service \
- file://get-user-ps-path-use-POSIX-getpwent-instead-of-getpwe.patch \
- file://0001-build-don-t-override-localstatedir-mandir-sysconfdir.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig useradd update-rc.d ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
-
-PACKAGECONFIG ?= "gmp "
-PACKAGECONFIG[gmp] = "--with-gmp, --with-gmp=no, gmp"
-PACKAGECONFIG[gtk] = "--with-gui=gtk, --with-gui=none, gtk+"
-
-do_install () {
- oe_runmake DESTDIR=${D} install
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/trousers.init.sh ${D}${sysconfdir}/init.d/trousers
- install -d ${D}${sysconfdir}/udev/rules.d
- install -m 0644 ${WORKDIR}/trousers-udev.rules ${D}${sysconfdir}/udev/rules.d/45-trousers.rules
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/tcsd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/tcsd.service
- fi
-}
-
-CONFFILES_${PN} += "${sysconfig}/tcsd.conf"
-
-PROVIDES = "${PACKAGES}"
-PACKAGES = " \
- libtspi \
- libtspi-dbg \
- libtspi-dev \
- libtspi-doc \
- libtspi-staticdev \
- trousers \
- trousers-dbg \
- trousers-doc \
- "
-
-# libtspi needs tcsd for most (all?) operations, so suggest to
-# install that.
-RRECOMMENDS_libtspi = "${PN}"
-
-FILES_libtspi = " \
- ${libdir}/*.so.1 \
- ${libdir}/*.so.1.2.0 \
- "
-FILES_libtspi-dbg = " \
- ${libdir}/.debug \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/tspi \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/trspi \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/include/*.h \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/include/tss \
- "
-FILES_libtspi-dev = " \
- ${includedir} \
- ${libdir}/*.so \
- "
-FILES_libtspi-doc = " \
- ${mandir}/man3 \
- "
-FILES_libtspi-staticdev = " \
- ${libdir}/*.la \
- ${libdir}/*.a \
- "
-FILES_${PN} = " \
- ${sbindir}/tcsd \
- ${sysconfdir} \
- ${localstatedir} \
- "
-
-FILES_${PN}-dev += "${libdir}/trousers"
-
-FILES_${PN}-dbg = " \
- ${sbindir}/.debug \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/tcs \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/tcsd \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/tddl \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/trousers \
- ${prefix}/src/debug/${PN}/${PV}-${PR}/git/src/include/trousers \
- "
-FILES_${PN}-doc = " \
- ${mandir}/man5 \
- ${mandir}/man8 \
- "
-
-FILES_${PN} += "${systemd_unitdir}/*"
-
-INITSCRIPT_NAME = "trousers"
-INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 19 0 1 6 ."
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system tss"
-USERADD_PARAM_${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "tcsd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-BBCLASSEXTEND = "native"