Accepting request 754264 from home:gary_lin:swtpm
swtpm is a Libtpms-based TPM emulator and useful to testing tpm functions in qemu. OBS-URL: https://build.opensuse.org/request/show/754264 OBS-URL: https://build.opensuse.org/package/show/security/swtpm?expand=0&rev=1
This commit is contained in:
commit
7e145c37f7
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
40
swtpm-adjust-seccomp-path.patch
Normal file
40
swtpm-adjust-seccomp-path.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From 8a3e012e509efcc3a7d8fb4b73ecf761577c0cf2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gary Lin <glin@suse.com>
|
||||||
|
Date: Tue, 16 Jul 2019 17:03:26 +0800
|
||||||
|
Subject: [PATCH] Adjust seccomp.h path
|
||||||
|
|
||||||
|
Signed-off-by: Gary Lin <glin@suse.com>
|
||||||
|
---
|
||||||
|
src/swtpm/swtpm.c | 2 +-
|
||||||
|
src/swtpm/swtpm_chardev.c | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/swtpm/swtpm.c b/src/swtpm/swtpm.c
|
||||||
|
index 3ecbb7b..7f1010f 100644
|
||||||
|
--- a/src/swtpm/swtpm.c
|
||||||
|
+++ b/src/swtpm/swtpm.c
|
||||||
|
@@ -51,7 +51,7 @@
|
||||||
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
#ifdef WITH_SECCOMP
|
||||||
|
-# include <seccomp.h>
|
||||||
|
+# include <libseccomp/seccomp.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <libtpms/tpm_error.h>
|
||||||
|
diff --git a/src/swtpm/swtpm_chardev.c b/src/swtpm/swtpm_chardev.c
|
||||||
|
index 6278621..c3d0a9f 100644
|
||||||
|
--- a/src/swtpm/swtpm_chardev.c
|
||||||
|
+++ b/src/swtpm/swtpm_chardev.c
|
||||||
|
@@ -51,7 +51,7 @@
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
|
#ifdef WITH_SECCOMP
|
||||||
|
-# include <seccomp.h>
|
||||||
|
+# include <libseccomp/seccomp.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <libtpms/tpm_error.h>
|
||||||
|
--
|
||||||
|
2.22.0
|
||||||
|
|
13
swtpm-setup-tcsd-path.patch
Normal file
13
swtpm-setup-tcsd-path.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: swtpm-0.1.0-tpm2/src/swtpm_setup/swtpm_setup.sh.in
|
||||||
|
===================================================================
|
||||||
|
--- swtpm-0.1.0-tpm2.orig/src/swtpm_setup/swtpm_setup.sh.in
|
||||||
|
+++ swtpm-0.1.0-tpm2/src/swtpm_setup/swtpm_setup.sh.in
|
||||||
|
@@ -2171,7 +2171,7 @@ main()
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $((flags & SETUP_TPM2_F)) -eq 0 ]; then
|
||||||
|
- TCSD=`type -P tcsd`
|
||||||
|
+ TCSD=`type -P /usr/sbin/tcsd`
|
||||||
|
if [ -z "$TCSD" ]; then
|
||||||
|
logerr "tcsd program not found. (PATH=$PATH)"
|
||||||
|
exit 1
|
13
swtpm-tpm-tools-path.patch
Normal file
13
swtpm-tpm-tools-path.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: swtpm-0.1.0-tpm2/configure.ac
|
||||||
|
===================================================================
|
||||||
|
--- swtpm-0.1.0-tpm2.orig/configure.ac
|
||||||
|
+++ swtpm-0.1.0-tpm2/configure.ac
|
||||||
|
@@ -160,7 +160,7 @@ AC_SUBST([LIBTPMS_LIBS])
|
||||||
|
AC_CHECK_LIB(c, clock_gettime, LIBRT_LIBS="", LIBRT_LIBS="-lrt")
|
||||||
|
AC_SUBST([LIBRT_LIBS])
|
||||||
|
|
||||||
|
-AC_PATH_PROG([TPM_NVDEFINE], tpm_nvdefine)
|
||||||
|
+AC_PATH_PROG([TPM_NVDEFINE], tpm_nvdefine, path = '/usr/sbin/')
|
||||||
|
if test "x$TPM_NVDEFINE" = "x"; then
|
||||||
|
have_tcsd=no
|
||||||
|
AC_MSG_WARN([NVRAM area tools are needed for TPM 1.2 certificate injection: tpm-tools package])
|
21
swtpm.changes
Normal file
21
swtpm.changes
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 5 08:00:27 UTC 2019 - Gary Ching-Pang Lin <glin@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.2.0
|
||||||
|
+Linux: swtpm now runs with a seccomp profile (blacklist) if
|
||||||
|
compiled with libseccomp support
|
||||||
|
+ Added subpport for passing key and passphrase via file
|
||||||
|
descriptor
|
||||||
|
+ TPM 2 commands can now be prefixed by 'the TCG header' and
|
||||||
|
responses will have a 4-byte prefix and 4-byte suffix.
|
||||||
|
+ Added --print-capabilities command line option
|
||||||
|
+ Proper handling on EINTR on read, poll, and write
|
||||||
|
- Patches to adjust the pathes
|
||||||
|
+ swtpm-tpm-tools-path.patch
|
||||||
|
+ swtpm-setup-tcsd-path.patch
|
||||||
|
+ swtpm-adjust-seccomp-path.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 15 08:37:16 UTC 2018 - glin@suse.com
|
||||||
|
|
||||||
|
- Initial import: 0.1.0-dev2
|
106
swtpm.spec
Normal file
106
swtpm.spec
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
#
|
||||||
|
# spec file for package swtpm
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
Name: swtpm
|
||||||
|
Version: 0.2.0
|
||||||
|
Release: 0
|
||||||
|
Summary: Software TPM emulator
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Group: System/Base
|
||||||
|
Url: https://github.com/stefanberger/swtpm
|
||||||
|
Source: https://github.com/stefanberger/swtpm/archive/v%{version}.tar.gz
|
||||||
|
Patch1: swtpm-tpm-tools-path.patch
|
||||||
|
Patch2: swtpm-setup-tcsd-path.patch
|
||||||
|
Patch3: swtpm-adjust-seccomp-path.patch
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: expect
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: fuse-devel
|
||||||
|
BuildRequires: glib2-devel
|
||||||
|
BuildRequires: gnutls
|
||||||
|
BuildRequires: libgnutls-devel
|
||||||
|
BuildRequires: libopenssl-devel
|
||||||
|
BuildRequires: libseccomp-devel
|
||||||
|
BuildRequires: libtasn1-devel
|
||||||
|
BuildRequires: libtpms-devel
|
||||||
|
BuildRequires: python3-Twisted
|
||||||
|
BuildRequires: socat
|
||||||
|
BuildRequires: tpm-tools
|
||||||
|
%if 0%{?suse_version} > 1500
|
||||||
|
BuildRequires: net-tools-deprecated
|
||||||
|
%endif
|
||||||
|
Requires: tpm-tools
|
||||||
|
Requires: trousers
|
||||||
|
%if 0%{?suse_version} > 1500
|
||||||
|
Requires: net-tools-deprecated
|
||||||
|
%endif
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
|
%description
|
||||||
|
The SWTPM package provides TPM emulators with different front-end interfaces
|
||||||
|
to libtpms. TPM emulators provide socket interfaces (TCP/IP) and the Linux
|
||||||
|
CUSE interface for the creation of multiple native /dev/vtpm* devices.
|
||||||
|
Those can be the targets of multiple QEMU cuse-tpm instances.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for swtpm
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires: glib2-devel
|
||||||
|
Requires: libtpms-devel
|
||||||
|
Requires: libopenssl-devel
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The development files for SWTPM
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{name}-%{version}
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
./autogen.sh
|
||||||
|
%configure --with-openssl --disable-static
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
%post -p /sbin/ldconfig
|
||||||
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc README LICENSE
|
||||||
|
%{_bindir}/swtpm*
|
||||||
|
%config %{_sysconfdir}/swtpm*
|
||||||
|
%dir %{_datadir}/swtpm
|
||||||
|
%{_datadir}/swtpm/*
|
||||||
|
%dir %{_libdir}/swtpm
|
||||||
|
%{_libdir}/swtpm/*.so.*
|
||||||
|
%{_mandir}/man8/swtpm*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/swtpm/*.so
|
||||||
|
%{_libdir}/swtpm/*.la
|
||||||
|
%dir %{_includedir}/swtpm/
|
||||||
|
%{_includedir}/swtpm/*
|
||||||
|
%{_mandir}/man3/swtpm*
|
||||||
|
|
||||||
|
%changelog
|
3
v0.2.0.tar.gz
Normal file
3
v0.2.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:977477e341f8b5db0820c8d3cc9946652ef8d7a93403c4dcf88667f9a84ae999
|
||||||
|
size 297419
|
Loading…
Reference in New Issue
Block a user