aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroki Sato <hrs@FreeBSD.org>2016-05-18 13:53:45 +0000
committerHiroki Sato <hrs@FreeBSD.org>2016-05-18 13:53:45 +0000
commit5c2173b0dfcb57bb4a07acc58d3fd10066cad4fa (patch)
treeda9b2df572c6ff11d9931e782ac0888832e1445c
parentf677c07712088795e5405c71a3e62dd3140efba6 (diff)
downloadports-5c2173b0dfcb57bb4a07acc58d3fd10066cad4fa.tar.gz
ports-5c2173b0dfcb57bb4a07acc58d3fd10066cad4fa.zip
Notes
-rw-r--r--emulators/tpm-emulator/Makefile6
-rw-r--r--emulators/tpm-emulator/files/patch-CMakeLists.txt7
-rw-r--r--emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt15
-rw-r--r--emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt6
-rw-r--r--emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt6
-rw-r--r--emulators/tpm-emulator/files/tpmd.in8
-rw-r--r--emulators/tpm-emulator/pkg-plist8
-rw-r--r--security/trousers/Makefile31
-rw-r--r--security/trousers/distinfo5
-rw-r--r--security/trousers/files/extra-patch-src-tcs-Makefile.am11
-rw-r--r--security/trousers/files/extra-patch-src-tcsd-Makefile.am11
-rw-r--r--security/trousers/files/extra-patch-src-tddl-Makefile.am8
-rw-r--r--security/trousers/files/patch-configure.in10
-rw-r--r--security/trousers/files/patch-dist-Makefile.am31
-rw-r--r--security/trousers/files/patch-dist-tcsd.conf.in4
-rw-r--r--security/trousers/files/patch-src-include-biosem.h6
-rw-r--r--security/trousers/files/patch-src-include-linux-tpm.h4
-rw-r--r--security/trousers/files/patch-src-include-tcs_tsp.h6
-rw-r--r--security/trousers/files/patch-src-include-tcs_utils.h4
-rw-r--r--security/trousers/files/patch-src-include-tcsd.h12
-rw-r--r--security/trousers/files/patch-src-include-tcsd_ops.h4
-rw-r--r--security/trousers/files/patch-src-include-threads.h4
-rw-r--r--security/trousers/files/patch-src-include-trousers_types.h8
-rw-r--r--security/trousers/files/patch-src-include-tss-platform.h6
-rw-r--r--security/trousers/files/patch-src-tcs-Makefile.am152
-rw-r--r--security/trousers/files/patch-src-tcs-ps-ps_utils.c6
-rw-r--r--security/trousers/files/patch-src-tcs-ps-tcsps.c4
-rw-r--r--security/trousers/files/patch-src-tcs-rpc-tcstp-rpc.c10
-rw-r--r--security/trousers/files/patch-src-tcs-tcs_aik.c6
-rw-r--r--security/trousers/files/patch-src-tcs-tcs_auth_mgr.c10
-rw-r--r--security/trousers/files/patch-src-tcsd-Makefile.am21
-rw-r--r--security/trousers/files/patch-src-tcsd-svrside.c73
-rw-r--r--security/trousers/files/patch-src-tddl-Makefile.am14
-rw-r--r--security/trousers/files/patch-src-trspi-Makefile.am4
-rw-r--r--security/trousers/files/patch-src-tspi-Makefile.am6
-rw-r--r--security/trousers/files/patch-src-tspi-ps-ps_utils.c6
-rw-r--r--security/trousers/files/patch-src-tspi-ps-tspps.c10
-rw-r--r--security/trousers/files/patch-src-tspi-rpc-hosttable.c40
-rw-r--r--security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c6
-rw-r--r--security/trousers/files/patch-src-tspi-tsp_tcsi_param.c15
-rw-r--r--security/trousers/files/pkg-message.in9
-rw-r--r--security/trousers/files/tcsd.in20
-rw-r--r--security/trousers/pkg-plist21
43 files changed, 378 insertions, 276 deletions
diff --git a/emulators/tpm-emulator/Makefile b/emulators/tpm-emulator/Makefile
index b8a991b43a43..5c1870085b4f 100644
--- a/emulators/tpm-emulator/Makefile
+++ b/emulators/tpm-emulator/Makefile
@@ -3,23 +3,23 @@
PORTNAME= tpm-emulator
PORTVERSION= 0.7.4
+PORTREVISION= 1
CATEGORIES= emulators security
MASTER_SITES= SF/${PORTNAME}.berlios
DISTNAME= ${PORTNAME:S,-,_,}-${PORTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= hrs@FreeBSD.org
COMMENT= Trusted Platform Module (TPM) emulator
LICENSE= GPLv2
LIB_DEPENDS= libgmp.so:math/gmp
-CONFLICTS= trousers-tddl-[0-9]*
-
USES= cmake:outsource
USE_RC_SUBR= tpmd
CONFIGURE_ENV= PREFIX="${PREFIX}"
CMAKE_ARGS= -DTPM_INCLUDE_DIRS:STRING="${LOCALBASE}/include" \
+ -DTDDL_LIBRARY_DIRS:STRING="${LOCALBASE}/lib/tddl_emu" \
-DTPM_LIBRARY_DIRS:STRING="${LOCALBASE}/lib"
USE_LDCONFIG= yes
USERS= _tss
diff --git a/emulators/tpm-emulator/files/patch-CMakeLists.txt b/emulators/tpm-emulator/files/patch-CMakeLists.txt
index ef820c86c15e..450f95aca2dc 100644
--- a/emulators/tpm-emulator/files/patch-CMakeLists.txt
+++ b/emulators/tpm-emulator/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig 2010-07-06 06:21:20.000000000 +0900
-+++ CMakeLists.txt 2010-12-15 07:33:54.234887143 +0900
-@@ -36,19 +36,19 @@
+--- CMakeLists.txt.orig 2011-12-20 18:30:06 UTC
++++ CMakeLists.txt
+@@ -36,19 +36,20 @@ set(TPM_DEVICE_NAME "/dev/tpm")
else()
set(TPM_LOG_FILE "/var/log/tpmd.log")
set(TPM_SOCKET_NAME "/var/run/tpm/tpmd_socket:0")
@@ -20,6 +20,7 @@
-include_directories("/opt/local/include")
-link_directories("/opt/local/lib")
+include_directories(${TPM_INCLUDE_DIRS})
++link_directories(${TDDL_LIBRARY_DIRS})
+link_directories(${TPM_LIBRARY_DIRS})
# configure CPack
diff --git a/emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt b/emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt
index a4866364efb9..831069e38908 100644
--- a/emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt
+++ b/emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt
@@ -1,6 +1,6 @@
---- tddl/CMakeLists.txt.orig 2011-12-21 03:30:06.000000000 +0900
-+++ tddl/CMakeLists.txt 2012-10-10 01:01:00.000000000 +0900
-@@ -7,13 +7,13 @@
+--- tddl/CMakeLists.txt.orig 2011-12-20 18:30:06 UTC
++++ tddl/CMakeLists.txt
+@@ -7,16 +7,16 @@ set(tddl_SRCS "tddl.c" "tddl.h")
add_library(tddl SHARED ${tddl_SRCS})
add_library(tddl_static STATIC ${tddl_SRCS})
if(UNIX)
@@ -14,5 +14,10 @@
-endif()
+endif(UNIX)
- install(TARGETS tddl DESTINATION lib)
- install(TARGETS tddl_static DESTINATION lib)
+-install(TARGETS tddl DESTINATION lib)
+-install(TARGETS tddl_static DESTINATION lib)
++install(TARGETS tddl DESTINATION lib/tddl_emu)
++install(TARGETS tddl_static DESTINATION lib/tddl_emu)
+ install(FILES "tddl.h" DESTINATION include)
+
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt b/emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt
index 8c1f00c2c879..fb503a5ef2a5 100644
--- a/emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt
+++ b/emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt
@@ -1,6 +1,6 @@
---- tpmd/CMakeLists.txt.orig 2010-07-06 06:21:20.000000000 +0900
-+++ tpmd/CMakeLists.txt 2010-10-25 02:56:43.624559116 +0900
-@@ -11,5 +11,5 @@
+--- tpmd/CMakeLists.txt.orig 2011-12-20 18:30:06 UTC
++++ tpmd/CMakeLists.txt
+@@ -11,5 +11,5 @@ elseif(WIN32)
add_subdirectory(windows)
diff --git a/emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt b/emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt
index 763d9cf925dc..31e12e51b279 100644
--- a/emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt
+++ b/emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt
@@ -1,6 +1,6 @@
---- tpmd/unix/CMakeLists.txt.orig 2011-12-21 03:30:06.000000000 +0900
-+++ tpmd/unix/CMakeLists.txt 2012-10-10 01:03:34.000000000 +0900
-@@ -10,8 +10,8 @@
+--- tpmd/unix/CMakeLists.txt.orig 2011-12-20 18:30:06 UTC
++++ tpmd/unix/CMakeLists.txt
+@@ -10,8 +10,8 @@ add_executable(tpmd ${tpmd_SRCS})
if(MTM_EMULATOR)
add_definitions(-DMTM_EMULATOR)
target_link_libraries(tpmd mtm tpm tpm_crypto)
diff --git a/emulators/tpm-emulator/files/tpmd.in b/emulators/tpm-emulator/files/tpmd.in
index 42e07df28575..cb8c36cd724d 100644
--- a/emulators/tpm-emulator/files/tpmd.in
+++ b/emulators/tpm-emulator/files/tpmd.in
@@ -16,14 +16,14 @@
. /etc/rc.subr
name=tpmd
-rcvar=tpmd_enable
+rcvar="${name}_enable"
command="%%PREFIX%%/bin/${name}"
load_rc_config $name
-tpmd_enable=${tpmd_enable-"NO"}
-tpmd_user=${tpmd_user-"%%USERS%%"}
-tpmd_group=${tpmd_group-"%%GROUPS%%"}
+: ${tpmd_enable:="NO"}
+: ${tpmd_user:="%%USERS%%"}
+: ${tpmd_group:="%%GROUPS%%"}
command_args="-o ${tpmd_user} -g ${tpmd_group}"
unset tpmd_user tpmd_group
diff --git a/emulators/tpm-emulator/pkg-plist b/emulators/tpm-emulator/pkg-plist
index e2c62b605496..cf7ca0e261bf 100644
--- a/emulators/tpm-emulator/pkg-plist
+++ b/emulators/tpm-emulator/pkg-plist
@@ -1,8 +1,8 @@
bin/tpmd
include/tddl.h
-lib/libtddl.a
-lib/libtddl.so
-lib/libtddl.so.1
-lib/libtddl.so.1.2.0.7
+lib/tddl_emu/libtddl.a
+lib/tddl_emu/libtddl.so
+lib/tddl_emu/libtddl.so.1
+lib/tddl_emu/libtddl.so.1.2.0.7
@dir(%%USERS%%,%%GROUPS%%,0700) var/db/tpm
@dir(%%USERS%%,%%GROUPS%%,0700) /var/run/tpm
diff --git a/security/trousers/Makefile b/security/trousers/Makefile
index 13637364a582..2f149f4d1c1e 100644
--- a/security/trousers/Makefile
+++ b/security/trousers/Makefile
@@ -2,19 +2,21 @@
# $FreeBSD$
PORTNAME= trousers
-PORTVERSION= 0.3.10
-PORTREVISION= 7
+PORTVERSION= 0.3.13
CATEGORIES= security
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}
MAINTAINER= hrs@FreeBSD.org
-COMMENT= The open-source TCG Software Stack
+COMMENT= Open-source TCG Software Stack
LICENSE= CPL
LICENSE_NAME= Common Public License
LICENSE_FILE= ${WRKSRC}/LICENSE
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+BUILD_DEPENDS= tpm-emulator>=0.7.4_1:emulators/tpm-emulator
+RUN_DEPENDS:= ${BUILD_DEPENDS}
+
USES= alias autoreconf gmake iconv libtool pkgconfig
USE_OPENSSL= YES
USE_LDCONFIG= YES
@@ -30,34 +32,19 @@ CONFIGURE_ARGS= --with-gui=none --enable-static \
MAKE_ENV= ICONV_LIB=${ICONV_LIB} \
ICONV_PREFIX=${ICONV_PREFIX}
SUB_FILES= pkg-message
-SUB_LIST= USERS=${USERS} GROUPS=${GROUPS}
+SUB_LIST= USERS="${USERS}" GROUPS="${GROUPS}"
+PLIST_SUB= USERS="${USERS}" GROUPS="${GROUPS}"
USERS= _tss
GROUPS= _tss
-OPTIONS_DEFINE= EMULATOR DEBUG
-EMULATOR_DESC= Build for use with the tpm-emulator
+OPTIONS_DEFINE= DEBUG
DEBUG_CONFIGURE_ENABLE= debug
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MEMULATOR}
-PKGNAMESUFFIX+= -no_tddl
-LIB_DEPENDS+= libtddl.so:emulators/tpm-emulator
-
-EXTRA_PATCHES= ${FILESDIR}/extra-patch-src-tcs-Makefile.am \
- ${FILESDIR}/extra-patch-src-tcsd-Makefile.am \
- ${FILESDIR}/extra-patch-src-tddl-Makefile.am
-# The emulator has already a libttddl.so, so comment out trousers' libtddl in the pkg-plist
-PLIST_SUB+= TDDL="@comment "
-.else
-PKGNAMESUFFIX+= -tddl
-CONFLICTS+= tpm-emulator-[0-9]*
-PLIST_SUB+= TDDL=""
-.endif
-
post-install:
${INSTALL_DATA} \
- ${WRKSRC}/dist/tcsd.conf ${STAGEDIR}${PREFIX}/etc/tcsd.conf.dist
+ ${WRKSRC}/dist/tcsd.conf ${STAGEDIR}${PREFIX}/etc/tcsd.conf.sample
${MKDIR} ${STAGEDIR}${PREFIX}/var/lib/tpm
.include <bsd.port.mk>
diff --git a/security/trousers/distinfo b/security/trousers/distinfo
index c37c1d73a449..fea53852d8f8 100644
--- a/security/trousers/distinfo
+++ b/security/trousers/distinfo
@@ -1,2 +1,3 @@
-SHA256 (trousers-0.3.10.tar.gz) = eb9569de5c66d9698f6c3303de03777b95ec72827f68b7744454bfa9227bc530
-SIZE (trousers-0.3.10.tar.gz) = 1658652
+TIMESTAMP = 1463562404
+SHA256 (trousers-0.3.13.tar.gz) = bb908e4a3c88a17b247a4fc8e0fff3419d8a13170fe7bdfbe0e2c5c082a276d3
+SIZE (trousers-0.3.13.tar.gz) = 1371901
diff --git a/security/trousers/files/extra-patch-src-tcs-Makefile.am b/security/trousers/files/extra-patch-src-tcs-Makefile.am
deleted file mode 100644
index 33a4ede949ec..000000000000
--- a/security/trousers/files/extra-patch-src-tcs-Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/tcs/Makefile.am.orig 2013-07-27 04:22:06.000000000 +0900
-+++ src/tcs/Makefile.am 2013-07-27 04:22:21.000000000 +0900
-@@ -1,7 +1,7 @@
- noinst_LIBRARIES=libtcs.a
-
- CFLAGS+=-I${top_srcdir}/src/include
--libtcs_a_LIBADD=${top_builddir}/src/tddl/libtddl.a
-+libtcs_a_LIBADD=${LOCALBASE}/lib/libtddl.a
- libtcs_a_CFLAGS=-DAPPID=\"TCSD\ TCS\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -fPIE -DPIE
-
- libtcs_a_SOURCES=log.c \
diff --git a/security/trousers/files/extra-patch-src-tcsd-Makefile.am b/security/trousers/files/extra-patch-src-tcsd-Makefile.am
deleted file mode 100644
index 5d2e710cd79a..000000000000
--- a/security/trousers/files/extra-patch-src-tcsd-Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/tcsd/Makefile.am.orig 2013-07-27 04:22:53.000000000 +0900
-+++ src/tcsd/Makefile.am 2013-07-27 04:24:06.000000000 +0900
-@@ -1,7 +1,7 @@
- sbin_PROGRAMS=tcsd
-
- tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include -fPIE -DPIE
--tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a ${top_builddir}/src/tddl/libtddl.a -lpthread @CRYPTOLIB@
-+tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a -ltddl -L${LOCALBASE}/lib -lpthread @CRYPTOLIB@
- tcsd_LDFLAGS=-pie -Wl,-z,relro -Wl,-z,now
-
- tcsd_SOURCES=svrside.c tcsd_conf.c tcsd_threads.c platform.c
diff --git a/security/trousers/files/extra-patch-src-tddl-Makefile.am b/security/trousers/files/extra-patch-src-tddl-Makefile.am
deleted file mode 100644
index 247420c4bf22..000000000000
--- a/security/trousers/files/extra-patch-src-tddl-Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
---- src/tddl/Makefile.am.orig 2013-07-27 04:24:29.000000000 +0900
-+++ src/tddl/Makefile.am 2013-07-27 04:24:42.000000000 +0900
-@@ -1,4 +1,4 @@
--lib_LIBRARIES=libtddl.a
-+lib_LIBRARIES=
-
- libtddl_a_SOURCES=tddl.c
- libtddl_a_CFLAGS=-DAPPID=\"TCSD\ TDDL\" -I${top_srcdir}/src/include -fPIE -DPIE
diff --git a/security/trousers/files/patch-configure.in b/security/trousers/files/patch-configure.in
index ecdaa1d4d749..e1b82658d938 100644
--- a/security/trousers/files/patch-configure.in
+++ b/security/trousers/files/patch-configure.in
@@ -1,6 +1,6 @@
---- configure.in.orig 2010-07-09 05:35:18.000000000 +0900
-+++ configure.in 2010-10-24 22:31:30.040556068 +0900
-@@ -75,6 +75,21 @@
+--- configure.in.orig 2014-04-24 18:05:43 UTC
++++ configure.in
+@@ -72,6 +72,21 @@ AC_ARG_ENABLE(gcov,
[CFLAGS="$CFLAGS -ftest-coverage -fprofile-arcs"
AC_MSG_RESULT([*** Enabling gcov at user request ***])],)
@@ -22,7 +22,7 @@
# profiling support
AC_ARG_ENABLE(gprof,
[AC_HELP_STRING([--enable-gprof], [enable profiling with gprof [default=off]])],
-@@ -352,6 +367,8 @@
+@@ -356,6 +371,8 @@ AC_PROG_LIBTOOL
AC_C_BIGENDIAN([AC_DEFINE(_BIG_ENDIAN, 1, [big-endian host])])
AC_CHECK_DECL(htole32, [AC_DEFINE(HTOLE_DEFINED, 1, [htole32 function is available])])
AC_CHECK_HEADER(sys/byteorder.h, [AC_DEFINE(HAVE_BYTEORDER_H, 1, [sys/byteorder.h header])])
@@ -31,7 +31,7 @@
AC_CHECK_FUNC(daemon, [ AC_DEFINE(HAVE_DAEMON, 1, [daemon function is available]) ])
if test "x${GCC}" = "xyes"; then
-@@ -359,6 +376,7 @@
+@@ -363,6 +380,7 @@ if test "x${GCC}" = "xyes"; then
fi
CFLAGS="$CFLAGS -I../include \
diff --git a/security/trousers/files/patch-dist-Makefile.am b/security/trousers/files/patch-dist-Makefile.am
index 2604e06a3909..ba062c7db9d1 100644
--- a/security/trousers/files/patch-dist-Makefile.am
+++ b/security/trousers/files/patch-dist-Makefile.am
@@ -1,20 +1,19 @@
---- dist/Makefile.am.orig 2010-03-12 05:41:54.000000000 +0900
-+++ dist/Makefile.am 2010-10-24 21:04:04.818560844 +0900
-@@ -1,17 +1,7 @@
+--- dist/Makefile.am.orig 2014-04-24 18:05:43 UTC
++++ dist/Makefile.am
+@@ -1,14 +1,14 @@
EXTRA_DIST = system.data.auth system.data.noauth \
fedora/fedora.initrd.tcsd
- install: install-exec-hook
-- if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
-- /bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
-- /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
- install-exec-hook:
-- /usr/sbin/groupadd tss || true
-- /usr/sbin/useradd -r tss -g tss || true
-- /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
-- /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
-- /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
+-install: install-exec-hook
++Xinstall: install-exec-hook
+ if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
+ if !NOUSERCHECK
+ /bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
+ /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
+ endif
- uninstall-hook:
-- /usr/sbin/userdel tss || true
-- /usr/sbin/groupdel tss || true
+-install-exec-hook:
++Xinstall-exec-hook:
+ /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
+ if !NOUSERCHECK
+ /usr/sbin/groupadd tss || true
diff --git a/security/trousers/files/patch-dist-tcsd.conf.in b/security/trousers/files/patch-dist-tcsd.conf.in
index 4a2f9326fb7b..a9e13e89ff82 100644
--- a/security/trousers/files/patch-dist-tcsd.conf.in
+++ b/security/trousers/files/patch-dist-tcsd.conf.in
@@ -1,5 +1,5 @@
---- dist/tcsd.conf.in.orig 2010-01-29 01:27:50.000000000 +0900
-+++ dist/tcsd.conf.in 2010-10-25 00:06:25.565556476 +0900
+--- dist/tcsd.conf.in.orig 2014-04-24 18:05:43 UTC
++++ dist/tcsd.conf.in
@@ -35,7 +35,7 @@
# log data. The interface to this log is usually provided by the TPM
# device driver.
diff --git a/security/trousers/files/patch-src-include-biosem.h b/security/trousers/files/patch-src-include-biosem.h
index 88930505a225..e19865e4d540 100644
--- a/security/trousers/files/patch-src-include-biosem.h
+++ b/security/trousers/files/patch-src-include-biosem.h
@@ -1,6 +1,6 @@
---- src/include/biosem.h.orig 2010-03-12 05:22:36.000000000 +0900
-+++ src/include/biosem.h 2010-10-24 21:04:04.820558727 +0900
-@@ -26,7 +26,7 @@
+--- src/include/biosem.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/biosem.h
+@@ -26,7 +26,7 @@ typedef struct {
UINT32 eventType;
BYTE digest[20];
UINT32 eventDataSize;
diff --git a/security/trousers/files/patch-src-include-linux-tpm.h b/security/trousers/files/patch-src-include-linux-tpm.h
index 49046f6027b1..9ecc4cfa2fe2 100644
--- a/security/trousers/files/patch-src-include-linux-tpm.h
+++ b/security/trousers/files/patch-src-include-linux-tpm.h
@@ -1,5 +1,5 @@
---- src/include/linux/tpm.h.orig 2010-01-29 01:27:51.000000000 +0900
-+++ src/include/linux/tpm.h 2010-10-24 21:04:04.821560671 +0900
+--- src/include/linux/tpm.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/linux/tpm.h
@@ -20,6 +20,8 @@
#include <linux/ioctl.h>
#elif (defined (__OpenBSD__) || defined (__FreeBSD__))
diff --git a/security/trousers/files/patch-src-include-tcs_tsp.h b/security/trousers/files/patch-src-include-tcs_tsp.h
index 675769ac4960..4a99f4a7140c 100644
--- a/security/trousers/files/patch-src-include-tcs_tsp.h
+++ b/security/trousers/files/patch-src-include-tcs_tsp.h
@@ -1,6 +1,6 @@
---- src/include/tcs_tsp.h.orig 2010-01-29 01:27:51.000000000 +0900
-+++ src/include/tcs_tsp.h 2010-10-24 21:04:04.822560729 +0900
-@@ -79,7 +79,13 @@
+--- src/include/tcs_tsp.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/tcs_tsp.h
+@@ -79,7 +79,13 @@ struct key_disk_cache
/* XXX Get rid of this, there's no reason to set an arbitrary limit */
#define MAX_KEY_CHILDREN 10
diff --git a/security/trousers/files/patch-src-include-tcs_utils.h b/security/trousers/files/patch-src-include-tcs_utils.h
index fcbe1d2f9d1c..d0aa6c1cb0c0 100644
--- a/security/trousers/files/patch-src-include-tcs_utils.h
+++ b/security/trousers/files/patch-src-include-tcs_utils.h
@@ -1,5 +1,5 @@
---- src/include/tcs_utils.h.orig 2010-01-29 01:27:51.000000000 +0900
-+++ src/include/tcs_utils.h 2010-10-24 21:04:04.824555399 +0900
+--- src/include/tcs_utils.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/tcs_utils.h
@@ -18,6 +18,20 @@
#include "tcs_tsp.h"
#include "trousers_types.h"
diff --git a/security/trousers/files/patch-src-include-tcsd.h b/security/trousers/files/patch-src-include-tcsd.h
index 612d1b22e32f..86f62b7a2c8a 100644
--- a/security/trousers/files/patch-src-include-tcsd.h
+++ b/security/trousers/files/patch-src-include-tcsd.h
@@ -1,8 +1,8 @@
---- src/include/tcsd.h.orig 2010-05-03 11:54:15.000000000 +0900
-+++ src/include/tcsd.h 2010-10-24 22:28:52.708555289 +0900
-@@ -50,14 +50,22 @@
-
- #define TCSD_CONFIG_FILE ETC_PREFIX "/tcsd.conf"
+--- src/include/tcsd.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/tcsd.h
+@@ -53,14 +53,22 @@ struct tcsd_config
+ #define TCSD_DEFAULT_CONFIG_FILE ETC_PREFIX "/tcsd.conf"
+ extern char *tcsd_config_file;
+#ifndef TSS_USER_NAME
#define TSS_USER_NAME "tss"
@@ -26,4 +26,4 @@
+#define TCSD_DEFAULT_KERNEL_LOG_FILE "/var/run/ima/binary_runtime_measurements"
#define TCSD_DEFAULT_FIRMWARE_PCRS 0x00000000
#define TCSD_DEFAULT_KERNEL_PCRS 0x00000000
-
+ #define TCSD_DEFAULT_DISABLE_IPV4 0
diff --git a/security/trousers/files/patch-src-include-tcsd_ops.h b/security/trousers/files/patch-src-include-tcsd_ops.h
index f98f11737b6c..54fdb60ac2d1 100644
--- a/security/trousers/files/patch-src-include-tcsd_ops.h
+++ b/security/trousers/files/patch-src-include-tcsd_ops.h
@@ -1,5 +1,5 @@
---- src/include/tcsd_ops.h.orig 2010-01-29 01:27:51.000000000 +0900
-+++ src/include/tcsd_ops.h 2010-10-24 21:04:04.827558718 +0900
+--- src/include/tcsd_ops.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/tcsd_ops.h
@@ -123,7 +123,7 @@
struct tcsd_op {
diff --git a/security/trousers/files/patch-src-include-threads.h b/security/trousers/files/patch-src-include-threads.h
index d0c40e55e9e7..f0949695be3a 100644
--- a/security/trousers/files/patch-src-include-threads.h
+++ b/security/trousers/files/patch-src-include-threads.h
@@ -1,5 +1,5 @@
---- src/include/threads.h.orig 2010-05-03 11:54:15.000000000 +0900
-+++ src/include/threads.h 2010-10-24 21:04:04.828558009 +0900
+--- src/include/threads.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/threads.h
@@ -31,7 +31,7 @@
#define COND_SIGNAL(c) pthread_cond_signal(c)
diff --git a/security/trousers/files/patch-src-include-trousers_types.h b/security/trousers/files/patch-src-include-trousers_types.h
index 3fb3302cbf42..902bea8de528 100644
--- a/security/trousers/files/patch-src-include-trousers_types.h
+++ b/security/trousers/files/patch-src-include-trousers_types.h
@@ -1,5 +1,5 @@
---- src/include/trousers_types.h.orig 2010-05-20 02:45:55.000000000 +0900
-+++ src/include/trousers_types.h 2010-10-24 21:04:04.829561420 +0900
+--- src/include/trousers_types.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/trousers_types.h
@@ -11,6 +11,14 @@
#ifndef _TROUSERS_TYPES_H_
#define _TROUSERS_TYPES_H_
@@ -15,7 +15,7 @@
#define TCPA_NONCE_SIZE sizeof(TCPA_NONCE)
#define TCPA_DIGEST_SIZE sizeof(TCPA_DIGEST)
#define TCPA_ENCAUTH_SIZE sizeof(TCPA_ENCAUTH)
-@@ -100,7 +108,7 @@
+@@ -100,7 +108,7 @@ typedef struct tdTSS_KEY11_HDR {
typedef struct tdTSS_KEY12_HDR {
TPM_STRUCTURE_TAG tag;
UINT16 fill;
@@ -24,7 +24,7 @@
typedef struct tdTSS_KEY {
union {
-@@ -118,11 +126,10 @@
+@@ -118,11 +126,10 @@ typedef struct tdTSS_KEY {
BYTE *encData;
} TSS_KEY;
diff --git a/security/trousers/files/patch-src-include-tss-platform.h b/security/trousers/files/patch-src-include-tss-platform.h
index 45f830d74fab..f9fcd406a650 100644
--- a/security/trousers/files/patch-src-include-tss-platform.h
+++ b/security/trousers/files/patch-src-include-tss-platform.h
@@ -1,6 +1,6 @@
---- src/include/tss/platform.h.orig 2010-01-29 01:27:51.000000000 +0900
-+++ src/include/tss/platform.h 2010-10-24 21:04:04.830556101 +0900
-@@ -15,7 +15,7 @@
+--- src/include/tss/platform.h.orig 2014-04-24 18:05:44 UTC
++++ src/include/tss/platform.h
+@@ -15,7 +15,7 @@ There are platform dependent and general
#if !defined(WIN32)
#include <stdint.h>
typedef uint8_t BYTE;
diff --git a/security/trousers/files/patch-src-tcs-Makefile.am b/security/trousers/files/patch-src-tcs-Makefile.am
new file mode 100644
index 000000000000..4746998522ff
--- /dev/null
+++ b/security/trousers/files/patch-src-tcs-Makefile.am
@@ -0,0 +1,152 @@
+--- src/tcs/Makefile.am.orig 2014-04-24 18:05:44 UTC
++++ src/tcs/Makefile.am
+@@ -1,4 +1,4 @@
+-noinst_LIBRARIES=libtcs.a
++noinst_LIBRARIES=libtcs.a libtcs_emu.a
+
+ CFLAGS+=-I${top_srcdir}/src/include
+ libtcs_a_LIBADD=${top_builddir}/src/tddl/libtddl.a
+@@ -140,3 +140,143 @@ if TSS_BUILD_CMK
+ libtcs_a_SOURCES+=tcsi_cmk.c rpc/@RPC@/rpc_cmk.c
+ libtcs_a_CFLAGS+=-DTSS_BUILD_CMK
+ endif
++
++libtcs_emu_a_LIBADD=${LOCALBASE}/lib/tddl_emu/libtddl.a
++libtcs_emu_a_CFLAGS=-DAPPID=\"TCSD\ TCS\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -fPIE -DPIE
++
++libtcs_emu_a_SOURCES=log.c \
++ tcs_caps.c \
++ tcs_req_mgr.c \
++ tcs_context.c \
++ tcsi_context.c \
++ tcs_utils.c \
++ rpc/@RPC@/rpc.c rpc/@RPC@/rpc_context.c \
++ tcsi_caps_tpm.c rpc/@RPC@/rpc_caps_tpm.c \
++ tcs_auth_mgr.c tcsi_auth.c rpc/@RPC@/rpc_auth.c \
++ tcs_pbg.c
++
++if TSS_BUILD_TRANSPORT
++libtcs_emu_a_SOURCES+=tcsi_transport.c rpc/@RPC@/rpc_transport.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_TRANSPORT
++endif
++if TSS_BUILD_TICK
++libtcs_emu_a_SOURCES+=tcsi_tick.c rpc/@RPC@/rpc_tick.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_TICK
++endif
++if TSS_BUILD_COUNTER
++libtcs_emu_a_SOURCES+=tcsi_counter.c tcs_counter.c rpc/@RPC@/rpc_counter.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_COUNTER
++endif
++if TSS_BUILD_RANDOM
++libtcs_emu_a_SOURCES+=tcsi_random.c rpc/@RPC@/rpc_random.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_RANDOM
++endif
++if TSS_BUILD_CAPS
++libtcs_emu_a_SOURCES+=tcsi_caps.c rpc/@RPC@/rpc_caps.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_CAPS
++endif
++if TSS_BUILD_DIR
++libtcs_emu_a_SOURCES+=tcsi_dir.c rpc/@RPC@/rpc_dir.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_DIR
++endif
++if TSS_BUILD_PCR_EVENTS
++libtcs_emu_a_SOURCES+=tcsi_evlog.c tcs_evlog_biosem.c tcs_evlog_imaem.c tcs_evlog.c \
++ rpc/@RPC@/rpc_evlog.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_PCR_EVENTS
++endif
++if TSS_BUILD_SIGN
++libtcs_emu_a_SOURCES+=tcsi_sign.c rpc/@RPC@/rpc_sign.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_SIGN
++endif
++if TSS_BUILD_QUOTE
++libtcs_emu_a_SOURCES+=tcsi_quote.c tcs_quote.c rpc/@RPC@/rpc_quote.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_QUOTE
++endif
++if TSS_BUILD_SEAL
++libtcs_emu_a_SOURCES+=tcsi_seal.c tcs_seal.c rpc/@RPC@/rpc_seal.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_SEAL
++endif
++if TSS_BUILD_CHANGEAUTH
++libtcs_emu_a_SOURCES+=tcsi_changeauth.c rpc/@RPC@/rpc_changeauth.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_CHANGEAUTH
++endif
++if TSS_BUILD_BIND
++libtcs_emu_a_SOURCES+=tcsi_bind.c rpc/@RPC@/rpc_bind.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_BIND
++endif
++if TSS_BUILD_OWN
++libtcs_emu_a_SOURCES+=tcsi_own.c rpc/@RPC@/rpc_own.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_OWN
++endif
++if TSS_BUILD_PS
++libtcs_emu_a_SOURCES+=ps/ps_utils.c ps/tcsps.c tcsi_ps.c tcs_ps.c tcs_key_ps.c rpc/@RPC@/rpc_ps.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_PS
++endif
++if TSS_BUILD_ADMIN
++libtcs_emu_a_SOURCES+=tcsi_admin.c rpc/@RPC@/rpc_admin.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_ADMIN
++endif
++if TSS_BUILD_AIK
++libtcs_emu_a_SOURCES+=tcsi_aik.c tcs_aik.c rpc/@RPC@/rpc_aik.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_AIK
++endif
++if TSS_BUILD_EK
++libtcs_emu_a_SOURCES+=tcsi_ek.c rpc/@RPC@/rpc_ek.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_EK
++endif
++if TSS_BUILD_CERTIFY
++libtcs_emu_a_SOURCES+=tcsi_certify.c rpc/@RPC@/rpc_certify.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_CERTIFY
++endif
++if TSS_BUILD_KEY
++libtcs_emu_a_SOURCES+=tcsi_key.c tcs_key.c tcs_key_mem_cache.c tcs_context_key.c rpc/@RPC@/rpc_key.c \
++ crypto/@CRYPTO_PACKAGE@/crypto.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_KEY
++endif
++if TSS_BUILD_MAINT
++libtcs_emu_a_SOURCES+=tcsi_maint.c rpc/@RPC@/rpc_maint.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_MAINT
++endif
++if TSS_BUILD_MIGRATION
++libtcs_emu_a_SOURCES+=tcsi_migration.c tcs_migration.c rpc/@RPC@/rpc_migration.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_MIGRATION
++endif
++if TSS_BUILD_PCR_EXTEND
++libtcs_emu_a_SOURCES+=tcsi_pcr.c rpc/@RPC@/rpc_pcr_extend.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_PCR_EXTEND
++endif
++if TSS_BUILD_SELFTEST
++libtcs_emu_a_SOURCES+=tcsi_selftest.c rpc/@RPC@/rpc_selftest.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_SELFTEST
++endif
++if TSS_BUILD_DAA
++libtcs_emu_a_SOURCES+=tcsi_daa.c rpc/@RPC@/rpc_daa.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_DAA
++endif
++if TSS_BUILD_NV
++libtcs_emu_a_SOURCES+=tcsi_nv.c rpc/@RPC@/rpc_nv.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_NV
++endif
++if TSS_BUILD_AUDIT
++libtcs_emu_a_SOURCES+=tcsi_audit.c rpc/@RPC@/rpc_audit.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_AUDIT
++endif
++if TSS_BUILD_SEALX
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_SEALX
++endif
++if TSS_BUILD_TSS12
++libtcs_emu_a_SOURCES+=tcsi_oper.c rpc/@RPC@/rpc_oper.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_TSS12
++endif
++if TSS_BUILD_DELEGATION
++libtcs_emu_a_SOURCES+=tcsi_delegate.c rpc/@RPC@/rpc_delegate.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_DELEGATION
++endif
++if TSS_BUILD_QUOTE2
++libtcs_emu_a_SOURCES+=tcsi_quote2.c tcs_quote2.c rpc/@RPC@/rpc_quote2.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_QUOTE2
++endif
++if TSS_BUILD_CMK
++libtcs_emu_a_SOURCES+=tcsi_cmk.c rpc/@RPC@/rpc_cmk.c
++libtcs_emu_a_CFLAGS+=-DTSS_BUILD_CMK
++endif
diff --git a/security/trousers/files/patch-src-tcs-ps-ps_utils.c b/security/trousers/files/patch-src-tcs-ps-ps_utils.c
index fddc2d3e04f8..cc2dfab9a58b 100644
--- a/security/trousers/files/patch-src-tcs-ps-ps_utils.c
+++ b/security/trousers/files/patch-src-tcs-ps-ps_utils.c
@@ -1,5 +1,5 @@
---- src/tcs/ps/ps_utils.c.orig 2012-09-20 02:24:48.000000000 +0900
-+++ src/tcs/ps/ps_utils.c 2013-07-31 22:18:59.000000000 +0900
+--- src/tcs/ps/ps_utils.c.orig 2014-04-24 18:05:44 UTC
++++ src/tcs/ps/ps_utils.c
@@ -16,10 +16,18 @@
#if defined(HAVE_BYTEORDER_H)
#include <sys/byteorder.h>
@@ -31,7 +31,7 @@
read_data(int fd, void *data, UINT32 size)
{
int rc;
-@@ -64,11 +68,7 @@
+@@ -64,11 +68,7 @@ read_data(int fd, void *data, UINT32 siz
}
diff --git a/security/trousers/files/patch-src-tcs-ps-tcsps.c b/security/trousers/files/patch-src-tcs-ps-tcsps.c
index df56d1883a7f..3f79d1b0e626 100644
--- a/security/trousers/files/patch-src-tcs-ps-tcsps.c
+++ b/security/trousers/files/patch-src-tcs-ps-tcsps.c
@@ -1,5 +1,5 @@
---- src/tcs/ps/tcsps.c.orig 2010-05-02 11:39:11.000000000 +0900
-+++ src/tcs/ps/tcsps.c 2010-10-24 21:04:04.833559489 +0900
+--- src/tcs/ps/tcsps.c.orig 2014-04-24 18:05:44 UTC
++++ src/tcs/ps/tcsps.c
@@ -24,6 +24,11 @@
#define LE_16 htole16
#define LE_32 htole32
diff --git a/security/trousers/files/patch-src-tcs-rpc-tcstp-rpc.c b/security/trousers/files/patch-src-tcs-rpc-tcstp-rpc.c
new file mode 100644
index 000000000000..e71911c4848a
--- /dev/null
+++ b/security/trousers/files/patch-src-tcs-rpc-tcstp-rpc.c
@@ -0,0 +1,10 @@
+--- src/tcs/rpc/tcstp/rpc.c.orig 2014-04-24 18:05:44 UTC
++++ src/tcs/rpc/tcstp/rpc.c
+@@ -16,6 +16,7 @@
+ #if (defined (__OpenBSD__) || defined (__FreeBSD__))
+ #include <sys/types.h>
+ #include <sys/socket.h>
++#include <netinet/in.h>
+ #endif
+ #include <errno.h>
+
diff --git a/security/trousers/files/patch-src-tcs-tcs_aik.c b/security/trousers/files/patch-src-tcs-tcs_aik.c
index 9520bf69fb38..53868fd76836 100644
--- a/security/trousers/files/patch-src-tcs-tcs_aik.c
+++ b/security/trousers/files/patch-src-tcs-tcs_aik.c
@@ -1,6 +1,6 @@
---- src/tcs/tcs_aik.c.orig 2010-06-10 05:20:44.000000000 +0900
-+++ src/tcs/tcs_aik.c 2010-10-24 21:04:04.834556754 +0900
-@@ -66,7 +66,7 @@
+--- src/tcs/tcs_aik.c.orig 2014-04-24 18:05:44 UTC
++++ src/tcs/tcs_aik.c
+@@ -66,7 +66,7 @@ UnloadBlob_SYMMETRIC_KEY(UINT64 *offset,
UnloadBlob_UINT16(offset, &key->size, blob);
if (key->size > 0) {
diff --git a/security/trousers/files/patch-src-tcs-tcs_auth_mgr.c b/security/trousers/files/patch-src-tcs-tcs_auth_mgr.c
index 558f26ce5eaf..7088a4f889b6 100644
--- a/security/trousers/files/patch-src-tcs-tcs_auth_mgr.c
+++ b/security/trousers/files/patch-src-tcs-tcs_auth_mgr.c
@@ -1,6 +1,6 @@
---- src/tcs/tcs_auth_mgr.c.orig 2010-06-10 05:21:32.000000000 +0900
-+++ src/tcs/tcs_auth_mgr.c 2010-10-24 21:04:04.836560084 +0900
-@@ -108,7 +108,7 @@
+--- src/tcs/tcs_auth_mgr.c.orig 2014-04-24 18:05:44 UTC
++++ src/tcs/tcs_auth_mgr.c
+@@ -108,7 +108,7 @@ void
auth_mgr_swap_in()
{
if (auth_mgr.overflow[auth_mgr.of_tail] != NULL) {
@@ -9,7 +9,7 @@
/* wake up the next sleeping thread in order and increment tail */
COND_SIGNAL(auth_mgr.overflow[auth_mgr.of_tail]);
auth_mgr.overflow[auth_mgr.of_tail] = NULL;
-@@ -149,7 +149,7 @@
+@@ -149,7 +149,7 @@ auth_mgr_swap_out(TCS_CONTEXT_HANDLE hCo
auth_mgr.overflow[auth_mgr.of_head] = cond;
auth_mgr.of_head = (auth_mgr.of_head + 1) % auth_mgr.overflow_size;
/* go to sleep */
@@ -18,7 +18,7 @@
auth_mgr.sleeping_threads++;
COND_WAIT(cond, &tcsp_lock);
auth_mgr.sleeping_threads--;
-@@ -180,7 +180,7 @@
+@@ -180,7 +180,7 @@ auth_mgr_swap_out(TCS_CONTEXT_HANDLE hCo
auth_mgr.of_tail = 0;
auth_mgr.overflow[auth_mgr.of_head] = cond;
auth_mgr.of_head = (auth_mgr.of_head + 1) % auth_mgr.overflow_size;
diff --git a/security/trousers/files/patch-src-tcsd-Makefile.am b/security/trousers/files/patch-src-tcsd-Makefile.am
new file mode 100644
index 000000000000..8c6cd754468b
--- /dev/null
+++ b/security/trousers/files/patch-src-tcsd-Makefile.am
@@ -0,0 +1,21 @@
+--- src/tcsd/Makefile.am.orig 2014-04-24 18:05:44 UTC
++++ src/tcsd/Makefile.am
+@@ -1,4 +1,4 @@
+-sbin_PROGRAMS=tcsd
++sbin_PROGRAMS=tcsd tcsd_emu
+
+ tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include -fPIE -DPIE
+ tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a ${top_builddir}/src/tddl/libtddl.a -lpthread @CRYPTOLIB@
+@@ -6,6 +6,12 @@ tcsd_LDFLAGS=-pie -Wl,-z,relro -Wl,-z,no
+
+ tcsd_SOURCES=svrside.c tcsd_conf.c tcsd_threads.c platform.c
+
++tcsd_emu_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include -fPIE -DPIE
++tcsd_emu_LDADD=${top_builddir}/src/tcs/libtcs_emu.a -ltddl -L${LOCALBASE}/lib/tddl_emu -lpthread @CRYPTOLIB@
++tcsd_emu_LDFLAGS=-pie -Wl,-z,relro -Wl,-z,now -Wl,-rpath=${LOCALBASE}/lib/tddl_emu:${LOCALBASE}/lib
++
++tcsd_emu_SOURCES=svrside.c tcsd_conf.c tcsd_threads.c platform.c
++
+ if TSS_BUILD_PS
+ tcsd_CFLAGS+=-DTSS_BUILD_PS
+ endif
diff --git a/security/trousers/files/patch-src-tcsd-svrside.c b/security/trousers/files/patch-src-tcsd-svrside.c
index 17a5925d5839..dfc6eee35206 100644
--- a/security/trousers/files/patch-src-tcsd-svrside.c
+++ b/security/trousers/files/patch-src-tcsd-svrside.c
@@ -1,7 +1,7 @@
---- src/tcsd/svrside.c.orig 2012-09-25 23:23:01.000000000 +0900
-+++ src/tcsd/svrside.c 2013-07-31 22:12:08.000000000 +0900
-@@ -66,12 +66,19 @@
- close(sd);
+--- src/tcsd/svrside.c.orig 2014-04-24 18:05:44 UTC
++++ src/tcsd/svrside.c
+@@ -92,12 +92,19 @@ tcsd_signal_term(int signal)
+ term = 1;
}
-void
@@ -21,7 +21,7 @@
static TSS_RESULT
signals_init(void)
{
-@@ -80,6 +87,14 @@
+@@ -106,6 +113,14 @@ signals_init(void)
struct sigaction sa;
sigemptyset(&sigmask);
@@ -36,7 +36,7 @@
if ((rc = sigaddset(&sigmask, SIGTERM))) {
LogError("sigaddset: %s", strerror(errno));
return TCSERR(TSS_E_INTERNAL_ERROR);
-@@ -102,12 +117,24 @@
+@@ -128,12 +143,24 @@ signals_init(void)
return TCSERR(TSS_E_INTERNAL_ERROR);
}
@@ -61,64 +61,3 @@
return TSS_SUCCESS;
}
-@@ -256,6 +283,26 @@
- if ((result = tcsd_startup()))
- return (int)result;
-
-+ pwd = getpwnam(TSS_USER_NAME);
-+ if (pwd == NULL) {
-+ if (errno == 0) {
-+ LogError("User \"%s\" not found, please add this user"
-+ " manually.", TSS_USER_NAME);
-+ } else {
-+ LogError("getpwnam(%s): %s", TSS_USER_NAME, strerror(errno));
-+ }
-+ return TCSERR(TSS_E_INTERNAL_ERROR);
-+ }
-+ setuid(pwd->pw_uid);
-+
-+ if (getenv("TCSD_FOREGROUND") == NULL) {
-+ if (daemon(0, 0) == -1) {
-+ perror("daemon");
-+ tcsd_shutdown();
-+ return -1;
-+ }
-+ }
-+
- sd = socket(AF_INET, SOCK_STREAM, 0);
- if (sd < 0) {
- LogError("Failed socket: %s", strerror(errno));
-@@ -279,33 +326,12 @@
- LogError("Failed bind: %s", strerror(errno));
- return -1;
- }
--#ifndef SOLARIS
-- pwd = getpwnam(TSS_USER_NAME);
-- if (pwd == NULL) {
-- if (errno == 0) {
-- LogError("User \"%s\" not found, please add this user"
-- " manually.", TSS_USER_NAME);
-- } else {
-- LogError("getpwnam(%s): %s", TSS_USER_NAME, strerror(errno));
-- }
-- return TCSERR(TSS_E_INTERNAL_ERROR);
-- }
-- setuid(pwd->pw_uid);
--#endif
- if (listen(sd, TCSD_MAX_SOCKETS_QUEUED) < 0) {
- LogError("Failed listen: %s", strerror(errno));
- return -1;
- }
- client_len = (unsigned)sizeof(client_addr);
-
-- if (getenv("TCSD_FOREGROUND") == NULL) {
-- if (daemon(0, 0) == -1) {
-- perror("daemon");
-- tcsd_shutdown();
-- return -1;
-- }
-- }
--
- LogInfo("%s: TCSD up and running.", PACKAGE_STRING);
- do {
- newsd = accept(sd, (struct sockaddr *) &client_addr, &client_len);
diff --git a/security/trousers/files/patch-src-tddl-Makefile.am b/security/trousers/files/patch-src-tddl-Makefile.am
new file mode 100644
index 000000000000..639175af6f47
--- /dev/null
+++ b/security/trousers/files/patch-src-tddl-Makefile.am
@@ -0,0 +1,14 @@
+--- src/tddl/Makefile.am.orig 2014-04-24 18:05:44 UTC
++++ src/tddl/Makefile.am
+@@ -1,4 +1,11 @@
++libdir=@libdir@/tddl
++
+ lib_LIBRARIES=libtddl.a
+
+ libtddl_a_SOURCES=tddl.c
+ libtddl_a_CFLAGS=-DAPPID=\"TCSD\ TDDL\" -I${top_srcdir}/src/include -fPIE -DPIE
++
++lib_LTLIBRARIES=libtddl.la
++
++libtddl_la_SOURCES=tddl.c
++libtddl_la_CFLAGS=-DAPPID=\"TCSD\ TDDL\" -I${top_srcdir}/src/include -fPIE -DPIE
diff --git a/security/trousers/files/patch-src-trspi-Makefile.am b/security/trousers/files/patch-src-trspi-Makefile.am
index e9fd99e550c7..8b7f1bb90a64 100644
--- a/security/trousers/files/patch-src-trspi-Makefile.am
+++ b/security/trousers/files/patch-src-trspi-Makefile.am
@@ -1,5 +1,5 @@
---- src/trspi/Makefile.am.orig 2012-09-20 02:24:48.000000000 +0900
-+++ src/trspi/Makefile.am 2013-12-05 15:12:35.000000000 +0900
+--- src/trspi/Makefile.am.orig 2014-04-24 18:05:44 UTC
++++ src/trspi/Makefile.am
@@ -1,7 +1,8 @@
noinst_LTLIBRARIES=libtrousers.la
diff --git a/security/trousers/files/patch-src-tspi-Makefile.am b/security/trousers/files/patch-src-tspi-Makefile.am
index 9d67ba3e18b4..31672e1262d1 100644
--- a/security/trousers/files/patch-src-tspi-Makefile.am
+++ b/security/trousers/files/patch-src-tspi-Makefile.am
@@ -1,6 +1,6 @@
---- src/tspi/Makefile.am.orig 2012-09-20 02:24:48.000000000 +0900
-+++ src/tspi/Makefile.am 2013-12-05 11:10:14.000000000 +0900
-@@ -17,7 +17,7 @@
+--- src/tspi/Makefile.am.orig 2014-04-24 18:05:44 UTC
++++ src/tspi/Makefile.am
+@@ -17,7 +17,7 @@ libtspi_la_LIBADD=${top_builddir}/src/tr
# 5. If any interfaces have been added since the last public release, then increment age.
# 6. If any interfaces have been removed since the last public release, then set age to 0.
diff --git a/security/trousers/files/patch-src-tspi-ps-ps_utils.c b/security/trousers/files/patch-src-tspi-ps-ps_utils.c
index 30cd5c164200..0bb38d1cbbc2 100644
--- a/security/trousers/files/patch-src-tspi-ps-ps_utils.c
+++ b/security/trousers/files/patch-src-tspi-ps-ps_utils.c
@@ -1,5 +1,5 @@
---- src/tspi/ps/ps_utils.c.orig 2010-01-29 01:27:51.000000000 +0900
-+++ src/tspi/ps/ps_utils.c 2010-10-24 21:04:04.841558702 +0900
+--- src/tspi/ps/ps_utils.c.orig 2014-04-24 18:05:44 UTC
++++ src/tspi/ps/ps_utils.c
@@ -22,7 +22,7 @@
#include "tspps.h"
#include "tsplog.h"
@@ -9,7 +9,7 @@
read_data(int fd, void *data, UINT32 size)
{
int rc;
-@@ -39,7 +39,7 @@
+@@ -39,7 +39,7 @@ read_data(int fd, void *data, UINT32 siz
return TSS_SUCCESS;
}
diff --git a/security/trousers/files/patch-src-tspi-ps-tspps.c b/security/trousers/files/patch-src-tspi-ps-tspps.c
index 41076366f5ce..d58f17d5f48c 100644
--- a/security/trousers/files/patch-src-tspi-ps-tspps.c
+++ b/security/trousers/files/patch-src-tspi-ps-tspps.c
@@ -1,5 +1,5 @@
---- src/tspi/ps/tspps.c.orig 2012-09-20 02:24:48.000000000 +0900
-+++ src/tspi/ps/tspps.c 2013-07-27 04:03:25.000000000 +0900
+--- src/tspi/ps/tspps.c.orig 2014-04-24 18:05:44 UTC
++++ src/tspi/ps/tspps.c
@@ -29,6 +29,11 @@
#define LE_16 htole16
#define LE_32 htole32
@@ -26,7 +26,7 @@
static MUTEX_DECLARE_INIT(user_ps_path);
#endif
static struct flock fl;
-@@ -60,9 +69,7 @@
+@@ -60,9 +69,7 @@ get_user_ps_path(char **file)
TSS_RESULT result;
char *file_name = NULL, *home_dir = NULL;
struct passwd *pwp;
@@ -36,7 +36,7 @@
struct stat stat_buf;
char buf[PASSWD_BUFSIZE];
uid_t euid;
-@@ -72,10 +79,6 @@
+@@ -72,10 +79,6 @@ get_user_ps_path(char **file)
*file = strdup(file_name);
return (*file) ? TSS_SUCCESS : TSPERR(TSS_E_OUTOFMEMORY);
}
@@ -47,7 +47,7 @@
euid = geteuid();
#if defined (SOLARIS)
-@@ -88,32 +91,14 @@
+@@ -88,32 +91,14 @@ get_user_ps_path(char **file)
*/
rc = snprintf(buf, sizeof (buf), "%s/%d", TSS_USER_PS_DIR, euid);
#else
diff --git a/security/trousers/files/patch-src-tspi-rpc-hosttable.c b/security/trousers/files/patch-src-tspi-rpc-hosttable.c
index befd61032770..144ec14535ad 100644
--- a/security/trousers/files/patch-src-tspi-rpc-hosttable.c
+++ b/security/trousers/files/patch-src-tspi-rpc-hosttable.c
@@ -1,20 +1,6 @@
---- src/tspi/rpc/hosttable.c.orig 2012-09-20 02:35:07.000000000 +0900
-+++ src/tspi/rpc/hosttable.c 2014-08-06 15:35:22.000000000 +0900
-@@ -36,10 +36,10 @@
- }
-
- #ifdef SOLARIS
--#pragma init(_init)
--void _init(void)
-+#pragma init(_init_hosttable)
-+void _init_hosttable(void)
- #else
--void __attribute__ ((constructor)) my_init(void)
-+static void __attribute__ ((constructor)) my_init(void)
- #endif
- {
- host_table_init();
-@@ -51,6 +51,8 @@
+--- src/tspi/rpc/hosttable.c.orig 2014-04-24 18:05:44 UTC
++++ src/tspi/rpc/hosttable.c
+@@ -51,6 +51,8 @@ host_table_final()
{
struct host_table_entry *hte, *next = NULL;
@@ -23,21 +9,7 @@
MUTEX_LOCK(ht->lock);
for (hte = ht->entries; hte; hte = next) {
-@@ -70,10 +72,10 @@
- }
-
- #ifdef SOLARIS
--#pragma fini(_fini)
--void _fini(void)
-+#pragma fini(_fini_hosttable)
-+void _fini_hosttable(void)
- #else
--void __attribute__ ((destructor)) my_fini(void)
-+static void __attribute__ ((destructor)) my_fini(void)
- #endif
- {
- host_table_final();
-@@ -84,6 +86,8 @@
+@@ -84,6 +86,8 @@ __tspi_add_table_entry(TSS_HCONTEXT tspC
{
struct host_table_entry *entry, *tmp;
@@ -46,7 +18,7 @@
entry = calloc(1, sizeof(struct host_table_entry));
if (entry == NULL) {
LogError("malloc of %zd bytes failed.", sizeof(struct host_table_entry));
-@@ -134,6 +138,8 @@
+@@ -134,6 +138,8 @@ remove_table_entry(TSS_HCONTEXT tspConte
{
struct host_table_entry *hte, *prev = NULL;
@@ -55,7 +27,7 @@
MUTEX_LOCK(ht->lock);
for (hte = ht->entries; hte; prev = hte, hte = hte->next) {
-@@ -158,6 +164,8 @@
+@@ -158,6 +164,8 @@ get_table_entry(TSS_HCONTEXT tspContext)
{
struct host_table_entry *index = NULL;
diff --git a/security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c b/security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c
index 711938b712e0..5de4c2079f55 100644
--- a/security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c
+++ b/security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c
@@ -1,6 +1,6 @@
---- src/tspi/rpc/tcstp/rpc.c.orig 2010-03-12 05:26:51.000000000 +0900
-+++ src/tspi/rpc/tcstp/rpc.c 2010-10-24 21:04:04.846552639 +0900
-@@ -306,7 +306,7 @@
+--- src/tspi/rpc/tcstp/rpc.c.orig 2014-04-24 18:05:44 UTC
++++ src/tspi/rpc/tcstp/rpc.c
+@@ -304,7 +304,7 @@ recv_from_socket(int sock, void *buffer,
errno = 0;
if ((recv_size = recv(sock, buffer+recv_total, size-recv_total, 0)) <= 0) {
if (recv_size < 0) {
diff --git a/security/trousers/files/patch-src-tspi-tsp_tcsi_param.c b/security/trousers/files/patch-src-tspi-tsp_tcsi_param.c
new file mode 100644
index 000000000000..5aae426603a1
--- /dev/null
+++ b/security/trousers/files/patch-src-tspi-tsp_tcsi_param.c
@@ -0,0 +1,15 @@
+--- src/tspi/tsp_tcsi_param.c.orig 2014-04-24 18:05:44 UTC
++++ src/tspi/tsp_tcsi_param.c
+@@ -11,7 +11,12 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
++#if !defined(__FreeBSD__)
+ #include <bits/local_lim.h>
++#else
++#include <sys/param.h>
++#define HOST_NAME_MAX MAXHOSTNAMELEN
++#endif
+ #include "trousers/tss.h"
+ #include "trousers/trousers.h"
+ #include "trousers_types.h"
diff --git a/security/trousers/files/pkg-message.in b/security/trousers/files/pkg-message.in
index 733f02f0fb60..c7fa46fea18c 100644
--- a/security/trousers/files/pkg-message.in
+++ b/security/trousers/files/pkg-message.in
@@ -1,9 +1,16 @@
-To run tcsd automatically, add the following line to /etc/rc.conf
+To run tcsd automatically, add the following line to /etc/rc.conf:
tcsd_enable="YES"
You might want to edit %%PREFIX%%/etc/tcsd.conf to reflect your setup.
+If you want to use tcsd with software TPM emulator, use the following
+configuration in /etc/rc.conf:
+
+tcsd_enable="YES"
+tcsd_mode="emulator"
+tpmd_enable="YES"
+
To use TPM, add your_account to '%%GROUPS%%' group like following:
# pw groupadd %%GROUPS%% -m your_account
diff --git a/security/trousers/files/tcsd.in b/security/trousers/files/tcsd.in
index 6f2f11ba3caf..f1ca44331c23 100644
--- a/security/trousers/files/tcsd.in
+++ b/security/trousers/files/tcsd.in
@@ -12,6 +12,9 @@
#
# tcsd_enable (bool): Set to NO by default.
# Set it to YES to enable tcsd.
+# tcsd_mode (string): Set to "native" by default.
+# Set it to "emulator" to use software TPM emulator.
+# "emulator" depends on tpmd (emulators/tpm-emulator).
. /etc/rc.subr
@@ -24,15 +27,26 @@ required_files="%%PREFIX%%/etc/${name}.conf"
tcsd_precmd()
{
/usr/bin/install -d -m 0700 -o %%USERS%% -g %%GROUPS%% \
- /var/run/tpm /var/run/ima %%PREFIX%%/var/lib/tpm
+ /var/run/tpm /var/run/ima %%PREFIX%%/var/lib/tpm
/usr/sbin/chown %%USERS%%:%%GROUPS%% \
- %%PREFIX%%/etc/tcsd.conf
+ %%PREFIX%%/etc/tcsd.conf
/bin/chmod 0600 \
- %%PREFIX%%/etc/tcsd.conf
+ %%PREFIX%%/etc/tcsd.conf
}
load_rc_config $name
: ${tcsd_enable:="NO"}
+: ${tcsd_mode:="native"}
+
+case $tcsd_mode in
+emulator)
+ if checkyesno tpmd_enable; then
+ command="%%PREFIX%%/sbin/tcsd_emu"
+ else
+ err 1 "tcsd_mode=\"emulator\" requires tpmd_enable=\"YES\"."
+ fi
+;;
+esac
run_rc_command "$1"
diff --git a/security/trousers/pkg-plist b/security/trousers/pkg-plist
index c70c820f5325..e6a16c7f0dbc 100644
--- a/security/trousers/pkg-plist
+++ b/security/trousers/pkg-plist
@@ -23,12 +23,16 @@ include/tss/tss_error.h
include/tss/tss_error_basics.h
include/tss/tss_structs.h
include/tss/tss_typedef.h
-%%TDDL%%lib/libtddl.a
+lib/tddl/libtddl.a
+lib/tddl/libtddl.so
+lib/tddl/libtddl.so.0
+lib/tddl/libtddl.so.0.0.0
lib/libtspi.a
lib/libtspi.so
lib/libtspi.so.1
lib/libtspi.so.1.2.0
sbin/tcsd
+sbin/tcsd_emu
man/man3/Tspi_ChangeAuth.3.gz
man/man3/Tspi_ChangeAuthAsym.3.gz
man/man3/Tspi_Context_Close.3.gz
@@ -48,12 +52,6 @@ man/man3/Tspi_Context_LoadKeyByBlob.3.gz
man/man3/Tspi_Context_LoadKeyByUUID.3.gz
man/man3/Tspi_Context_RegisterKey.3.gz
man/man3/Tspi_Context_UnregisterKey.3.gz
-man/man3/Tspi_DAA_IssueCredential.3.gz
-man/man3/Tspi_DAA_IssueInit.3.gz
-man/man3/Tspi_DAA_IssueSetup.3.gz
-man/man3/Tspi_DAA_IssuerKeyVerification.3.gz
-man/man3/Tspi_DAA_VerifyInit.3.gz
-man/man3/Tspi_DAA_VerifySignature.3.gz
man/man3/Tspi_Data_Bind.3.gz
man/man3/Tspi_Data_Seal.3.gz
man/man3/Tspi_Data_Unbind.3.gz
@@ -92,10 +90,6 @@ man/man3/Tspi_TPM_ClearOwner.3.gz
man/man3/Tspi_TPM_CollateIdentityRequest.3.gz
man/man3/Tspi_TPM_CreateEndorsementKey.3.gz
man/man3/Tspi_TPM_CreateMaintenanceArchive.3.gz
-man/man3/Tspi_TPM_DAA_JoinCreateDaaPubKey.3.gz
-man/man3/Tspi_TPM_DAA_JoinInit.3.gz
-man/man3/Tspi_TPM_DAA_JoinStoreCredential.3.gz
-man/man3/Tspi_TPM_DAA_Sign.3.gz
man/man3/Tspi_TPM_DirRead.3.gz
man/man3/Tspi_TPM_DirWrite.3.gz
man/man3/Tspi_TPM_GetAuditDigest.3.gz
@@ -113,11 +107,12 @@ man/man3/Tspi_TPM_OwnerGetSRKPubKey.3.gz
man/man3/Tspi_TPM_PcrExtend.3.gz
man/man3/Tspi_TPM_PcrRead.3.gz
man/man3/Tspi_TPM_Quote.3.gz
+man/man3/Tspi_TPM_Quote2.3.gz
man/man3/Tspi_TPM_SelfTestFull.3.gz
man/man3/Tspi_TPM_SetStatus.3.gz
man/man3/Tspi_TPM_StirRandom.3.gz
man/man3/Tspi_TPM_TakeOwnership.3.gz
man/man5/tcsd.conf.5.gz
man/man8/tcsd.8.gz
-@sample(_tss,_tss,0600) etc/tcsd.conf.dist etc/tcsd.conf
-@dir(_tss,_tss,0700) var/lib/tpm
+@sample(%%USERS%%,%%GROUPS%%,0600) etc/tcsd.conf.sample
+@dir(%%USERS%%,%%GROUPS%%,0700) var/lib/tpm