mirror of
https://git.yoctoproject.org/meta-security
synced 2026-06-03 13:50:45 +00:00
swtpm/libtpm: update to latest master
This allows dropping some patches for issues that were addressed upstream. It also brings in support for connecting swtpm to qemu without relying on CUSE. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
committed by
Armin Kuster
parent
d95d99386c
commit
16812dac96
@@ -2,11 +2,9 @@ SUMMARY = "LIBPM - Software TPM Library"
|
|||||||
LICENSE = "BSD-3-Clause"
|
LICENSE = "BSD-3-Clause"
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=97e5eea8d700d76b3ddfd35c4c96485f"
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=97e5eea8d700d76b3ddfd35c4c96485f"
|
||||||
|
|
||||||
SRCREV = "ad44846dda5a96e269ad2f78a532e01e9a2f02a1"
|
SRCREV = "3388d45082bdc588c6fc0672f44d6d7d0aaa86ff"
|
||||||
SRC_URI = " \
|
SRC_URI = " \
|
||||||
git://github.com/stefanberger/libtpms.git \
|
git://github.com/stefanberger/libtpms.git \
|
||||||
file://Convert-another-vdprintf-to-dprintf.patch \
|
|
||||||
file://Use-format-s-for-call-to-dprintf.patch \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
logging: Fix musl build issue with fcntl
|
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]
|
error: #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> [-Werror=cpp]
|
||||||
#warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.
|
#warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.
|
||||||
@@ -6,16 +9,23 @@ logging: Fix musl build issue with fcntl
|
|||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
Signed-off-by: Armin Kuster <akuster@mvista.com>
|
Signed-off-by: Armin Kuster <akuster@mvista.com>
|
||||||
|
|
||||||
Index: git/src/swtpm/logging.c
|
---
|
||||||
===================================================================
|
src/swtpm/logging.c | 2 +-
|
||||||
--- git.orig/src/swtpm/logging.c
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
+++ git/src/swtpm/logging.c
|
|
||||||
@@ -43,7 +43,7 @@
|
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 <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
-#include <sys/fcntl.h>
|
-#include <sys/fcntl.h>
|
||||||
+#include <fcntl.h>
|
+#include <fcntl.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdarg.h>
|
--
|
||||||
|
2.11.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
From 85706ceb6877ade3b589d3c390abf5b3492bb718 Mon Sep 17 00:00:00 2001
|
From 672bb4ee625da3141ba6cecb0601c7563de4c483 Mon Sep 17 00:00:00 2001
|
||||||
From: Armin Kuster <akuster808@gmail.com>
|
From: Armin Kuster <akuster808@gmail.com>
|
||||||
Date: Thu, 13 Oct 2016 02:03:56 -0700
|
Date: Thu, 13 Oct 2016 02:03:56 -0700
|
||||||
Subject: [PATCH] swtpm: add new package
|
Subject: [PATCH 1/4] swtpm: add new package
|
||||||
|
|
||||||
Upstream-Status: Inappropriate [OE config]
|
Upstream-Status: Inappropriate [OE config]
|
||||||
|
|
||||||
@@ -12,20 +12,21 @@ Rebased to current tip.
|
|||||||
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
|
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
|
||||||
|
|
||||||
---
|
---
|
||||||
configure.ac | 32 ++++++++++----------------------
|
configure.ac | 34 ++++++++++------------------------
|
||||||
1 file changed, 10 insertions(+), 22 deletions(-)
|
1 file changed, 10 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index c4a9c6d..6267f64 100644
|
index abf5be1..85ed6ac 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -395,29 +395,17 @@ CFLAGS="$CFLAGS -Wformat -Wformat-security"
|
@@ -395,31 +395,17 @@ CFLAGS="$CFLAGS -Wformat -Wformat-security"
|
||||||
dnl We have to make sure libtpms is using the same crypto library
|
dnl We have to make sure libtpms is using the same crypto library
|
||||||
dnl to avoid problems
|
dnl to avoid problems
|
||||||
AC_MSG_CHECKING([the crypto library libtpms is using])
|
AC_MSG_CHECKING([the crypto library libtpms is using])
|
||||||
-dirs=$($CC $CFLAGS -Xlinker --verbose 2>/dev/null | \
|
-dirs=$($CC $CFLAGS -Xlinker --verbose 2>/dev/null | \
|
||||||
- sed -n '/SEARCH_DIR/p' | \
|
- sed -n '/SEARCH_DIR/p' | \
|
||||||
- sed 's/SEARCH_DIR("=\?\(@<:@^"@:>@\+\)"); */\1\n/g')
|
- sed 's/SEARCH_DIR("\(@<:@^"@:>@*\)"); */\1 /g' | \
|
||||||
|
- sed 's|=/|/|g')
|
||||||
-for dir in $dirs $LIBRARY_PATH; do
|
-for dir in $dirs $LIBRARY_PATH; do
|
||||||
- if test -r $dir/libtpms.so; then
|
- if test -r $dir/libtpms.so; then
|
||||||
- if test -n "`ldd $dir/libtpms.so | grep libcrypto.so`"; then
|
- if test -n "`ldd $dir/libtpms.so | grep libcrypto.so`"; then
|
||||||
@@ -43,12 +44,13 @@ index c4a9c6d..6267f64 100644
|
|||||||
+ break
|
+ break
|
||||||
fi
|
fi
|
||||||
- case $host_os in
|
- case $host_os in
|
||||||
- cygwin)
|
- cygwin|openbsd*)
|
||||||
- if test -r $dir/libtpms.a; then
|
- if test -r $dir/libtpms.a; then
|
||||||
- if test -n "$(nm $dir/libtpms.a | grep "U AES_encrypt")"; then
|
- if test -n "$(nm $dir/libtpms.a | grep "U AES_encrypt")"; then
|
||||||
- libtpms_cryptolib="openssl"
|
- libtpms_cryptolib="openssl"
|
||||||
- fi
|
- fi
|
||||||
- fi
|
- fi
|
||||||
|
- ;;
|
||||||
- esac
|
- esac
|
||||||
-done
|
-done
|
||||||
+ if test -n "`ldd $dir/libtpms.so | grep libnss3.so`"; then
|
+ if test -n "`ldd $dir/libtpms.so | grep libnss3.so`"; then
|
||||||
@@ -60,5 +62,5 @@ index c4a9c6d..6267f64 100644
|
|||||||
if test -z "$libtpms_cryptolib"; then
|
if test -z "$libtpms_cryptolib"; then
|
||||||
AC_MSG_ERROR([Could not determine libtpms crypto library.])
|
AC_MSG_ERROR([Could not determine libtpms crypto library.])
|
||||||
--
|
--
|
||||||
2.1.4
|
2.11.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,48 +0,0 @@
|
|||||||
Upstream-Status: Pending
|
|
||||||
Signed-off-by Armin Kuster <akuster808@gmail>
|
|
||||||
|
|
||||||
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", (long long unsigned)devtoh64(is_chardev, cap));
|
|
||||||
|
|
||||||
} else if (!strcmp(command, "-i")) {
|
|
||||||
init.u.req.init_flags = htodev32(is_chardev, PTM_INIT_FLAG_DELETE_VOLATILE);
|
|
||||||
@@ -10,14 +10,12 @@ DEPENDS = "libtasn1 expect socat glib-2.0 libtpm libtpm-native"
|
|||||||
DEPENDS += "tpm-tools-native expect-native socat-native"
|
DEPENDS += "tpm-tools-native expect-native socat-native"
|
||||||
RDEPENDS_${PN} += "tpm-tools"
|
RDEPENDS_${PN} += "tpm-tools"
|
||||||
|
|
||||||
SRCREV = "073e71f99eaa7a0ff9499339176af1af62c090b2"
|
SRCREV = "4f4f2f0a7e3195f6df8d235d58630a08e69403d8"
|
||||||
SRC_URI = " \
|
SRC_URI = "git://github.com/stefanberger/swtpm.git \
|
||||||
git://github.com/stefanberger/swtpm.git \
|
file://fix_lib_search_path.patch \
|
||||||
file://fix_signed_issue.patch \
|
file://fix_fcntl_h.patch \
|
||||||
file://fix_lib_search_path.patch \
|
file://ioctl_h.patch \
|
||||||
file://fix_fcntl_h.patch \
|
"
|
||||||
file://ioctl_h.patch \
|
|
||||||
"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user