Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 May 2016 13:53:45 +0000 (UTC)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r415449 - in head: emulators/tpm-emulator emulators/tpm-emulator/files security/trousers security/trousers/files
Message-ID:  <201605181353.u4IDrjLx096771@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hrs
Date: Wed May 18 13:53:45 2016
New Revision: 415449
URL: https://svnweb.freebsd.org/changeset/ports/415449

Log:
  security/trousers:
  
  - Update to 0.3.13.
  - Remove CONFLICTS with emulators/tpm-emulator.
  
    Two separate binaries, sbin/tcsd (for actual TPM device) and
    sbin/tcsd_emu (for TPM emulator) are now installed.  rc.d/tcsd chooses
    one of them depending on $tcsd_mode.  When tcsd_mode="native" (default)
    it runs sbin/tcsd, and when tcsd_mode="emulator" it runs sbin/tcsd_emu.
    Note that sbin/tcsd_emu depends on tpmd in emulators/tpm-emulator.
  
  - Simplify @sample.
  
  emulators/tpm-emulator:
  
  - Remove CONFLICTS with security/trousers.
  - Simplify rc.d/tpmd.

Added:
  head/security/trousers/files/patch-src-tcs-Makefile.am   (contents, props changed)
  head/security/trousers/files/patch-src-tcs-rpc-tcstp-rpc.c   (contents, props changed)
  head/security/trousers/files/patch-src-tcsd-Makefile.am   (contents, props changed)
  head/security/trousers/files/patch-src-tddl-Makefile.am   (contents, props changed)
  head/security/trousers/files/patch-src-tspi-tsp_tcsi_param.c   (contents, props changed)
Deleted:
  head/security/trousers/files/extra-patch-src-tcs-Makefile.am
  head/security/trousers/files/extra-patch-src-tcsd-Makefile.am
  head/security/trousers/files/extra-patch-src-tddl-Makefile.am
Modified:
  head/emulators/tpm-emulator/Makefile
  head/emulators/tpm-emulator/files/patch-CMakeLists.txt
  head/emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt
  head/emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt
  head/emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt
  head/emulators/tpm-emulator/files/tpmd.in
  head/emulators/tpm-emulator/pkg-plist
  head/security/trousers/Makefile
  head/security/trousers/distinfo
  head/security/trousers/files/patch-configure.in
  head/security/trousers/files/patch-dist-Makefile.am
  head/security/trousers/files/patch-dist-tcsd.conf.in
  head/security/trousers/files/patch-src-include-biosem.h
  head/security/trousers/files/patch-src-include-linux-tpm.h
  head/security/trousers/files/patch-src-include-tcs_tsp.h
  head/security/trousers/files/patch-src-include-tcs_utils.h
  head/security/trousers/files/patch-src-include-tcsd.h
  head/security/trousers/files/patch-src-include-tcsd_ops.h
  head/security/trousers/files/patch-src-include-threads.h
  head/security/trousers/files/patch-src-include-trousers_types.h
  head/security/trousers/files/patch-src-include-tss-platform.h
  head/security/trousers/files/patch-src-tcs-ps-ps_utils.c
  head/security/trousers/files/patch-src-tcs-ps-tcsps.c
  head/security/trousers/files/patch-src-tcs-tcs_aik.c
  head/security/trousers/files/patch-src-tcs-tcs_auth_mgr.c
  head/security/trousers/files/patch-src-tcsd-svrside.c
  head/security/trousers/files/patch-src-trspi-Makefile.am
  head/security/trousers/files/patch-src-tspi-Makefile.am
  head/security/trousers/files/patch-src-tspi-ps-ps_utils.c
  head/security/trousers/files/patch-src-tspi-ps-tspps.c
  head/security/trousers/files/patch-src-tspi-rpc-hosttable.c
  head/security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c
  head/security/trousers/files/pkg-message.in
  head/security/trousers/files/tcsd.in
  head/security/trousers/pkg-plist

Modified: head/emulators/tpm-emulator/Makefile
==============================================================================
--- head/emulators/tpm-emulator/Makefile	Wed May 18 13:33:57 2016	(r415448)
+++ head/emulators/tpm-emulator/Makefile	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/emulators/tpm-emulator/files/patch-CMakeLists.txt
==============================================================================
--- head/emulators/tpm-emulator/files/patch-CMakeLists.txt	Wed May 18 13:33:57 2016	(r415448)
+++ head/emulators/tpm-emulator/files/patch-CMakeLists.txt	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt
==============================================================================
--- head/emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt	Wed May 18 13:33:57 2016	(r415448)
+++ head/emulators/tpm-emulator/files/patch-tddl-CMakeLists.txt	Wed May 18 13:53:45 2016	(r415449)
@@ -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})

Modified: head/emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt
==============================================================================
--- head/emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt	Wed May 18 13:33:57 2016	(r415448)
+++ head/emulators/tpm-emulator/files/patch-tpmd-CMakeLists.txt	Wed May 18 13:53:45 2016	(r415449)
@@ -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)
  

Modified: head/emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt
==============================================================================
--- head/emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt	Wed May 18 13:33:57 2016	(r415448)
+++ head/emulators/tpm-emulator/files/patch-tpmd-unix-CMakeLists.txt	Wed May 18 13:53:45 2016	(r415449)
@@ -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)

Modified: head/emulators/tpm-emulator/files/tpmd.in
==============================================================================
--- head/emulators/tpm-emulator/files/tpmd.in	Wed May 18 13:33:57 2016	(r415448)
+++ head/emulators/tpm-emulator/files/tpmd.in	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/emulators/tpm-emulator/pkg-plist
==============================================================================
--- head/emulators/tpm-emulator/pkg-plist	Wed May 18 13:33:57 2016	(r415448)
+++ head/emulators/tpm-emulator/pkg-plist	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/Makefile
==============================================================================
--- head/security/trousers/Makefile	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/Makefile	Wed May 18 13:53:45 2016	(r415449)
@@ -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
 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>

Modified: head/security/trousers/distinfo
==============================================================================
--- head/security/trousers/distinfo	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/distinfo	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/files/patch-configure.in
==============================================================================
--- head/security/trousers/files/patch-configure.in	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-configure.in	Wed May 18 13:53:45 2016	(r415449)
@@ -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 \

Modified: head/security/trousers/files/patch-dist-Makefile.am
==============================================================================
--- head/security/trousers/files/patch-dist-Makefile.am	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-dist-Makefile.am	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/files/patch-dist-tcsd.conf.in
==============================================================================
--- head/security/trousers/files/patch-dist-tcsd.conf.in	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-dist-tcsd.conf.in	Wed May 18 13:53:45 2016	(r415449)
@@ -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.

Modified: head/security/trousers/files/patch-src-include-biosem.h
==============================================================================
--- head/security/trousers/files/patch-src-include-biosem.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-biosem.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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;

Modified: head/security/trousers/files/patch-src-include-linux-tpm.h
==============================================================================
--- head/security/trousers/files/patch-src-include-linux-tpm.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-linux-tpm.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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__))

Modified: head/security/trousers/files/patch-src-include-tcs_tsp.h
==============================================================================
--- head/security/trousers/files/patch-src-include-tcs_tsp.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-tcs_tsp.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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
  

Modified: head/security/trousers/files/patch-src-include-tcs_utils.h
==============================================================================
--- head/security/trousers/files/patch-src-include-tcs_utils.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-tcs_utils.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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"

Modified: head/security/trousers/files/patch-src-include-tcsd.h
==============================================================================
--- head/security/trousers/files/patch-src-include-tcsd.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-tcsd.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/files/patch-src-include-tcsd_ops.h
==============================================================================
--- head/security/trousers/files/patch-src-include-tcsd_ops.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-tcsd_ops.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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 {

Modified: head/security/trousers/files/patch-src-include-threads.h
==============================================================================
--- head/security/trousers/files/patch-src-include-threads.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-threads.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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)
  

Modified: head/security/trousers/files/patch-src-include-trousers_types.h
==============================================================================
--- head/security/trousers/files/patch-src-include-trousers_types.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-trousers_types.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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;
  

Modified: head/security/trousers/files/patch-src-include-tss-platform.h
==============================================================================
--- head/security/trousers/files/patch-src-include-tss-platform.h	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-include-tss-platform.h	Wed May 18 13:53:45 2016	(r415449)
@@ -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;

Added: head/security/trousers/files/patch-src-tcs-Makefile.am
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/trousers/files/patch-src-tcs-Makefile.am	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/files/patch-src-tcs-ps-ps_utils.c
==============================================================================
--- head/security/trousers/files/patch-src-tcs-ps-ps_utils.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tcs-ps-ps_utils.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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
  }
  
  

Modified: head/security/trousers/files/patch-src-tcs-ps-tcsps.c
==============================================================================
--- head/security/trousers/files/patch-src-tcs-ps-tcsps.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tcs-ps-tcsps.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Added: head/security/trousers/files/patch-src-tcs-rpc-tcstp-rpc.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/trousers/files/patch-src-tcs-rpc-tcstp-rpc.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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>
+ 

Modified: head/security/trousers/files/patch-src-tcs-tcs_aik.c
==============================================================================
--- head/security/trousers/files/patch-src-tcs-tcs_aik.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tcs-tcs_aik.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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) {

Modified: head/security/trousers/files/patch-src-tcs-tcs_auth_mgr.c
==============================================================================
--- head/security/trousers/files/patch-src-tcs-tcs_auth_mgr.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tcs-tcs_auth_mgr.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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;

Added: head/security/trousers/files/patch-src-tcsd-Makefile.am
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/trousers/files/patch-src-tcsd-Makefile.am	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/files/patch-src-tcsd-svrside.c
==============================================================================
--- head/security/trousers/files/patch-src-tcsd-svrside.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tcsd-svrside.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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);

Added: head/security/trousers/files/patch-src-tddl-Makefile.am
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/trousers/files/patch-src-tddl-Makefile.am	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/files/patch-src-trspi-Makefile.am
==============================================================================
--- head/security/trousers/files/patch-src-trspi-Makefile.am	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-trspi-Makefile.am	Wed May 18 13:53:45 2016	(r415449)
@@ -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
  

Modified: head/security/trousers/files/patch-src-tspi-Makefile.am
==============================================================================
--- head/security/trousers/files/patch-src-tspi-Makefile.am	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tspi-Makefile.am	Wed May 18 13:53:45 2016	(r415449)
@@ -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.
  

Modified: head/security/trousers/files/patch-src-tspi-ps-ps_utils.c
==============================================================================
--- head/security/trousers/files/patch-src-tspi-ps-ps_utils.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tspi-ps-ps_utils.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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;
  }
  

Modified: head/security/trousers/files/patch-src-tspi-ps-tspps.c
==============================================================================
--- head/security/trousers/files/patch-src-tspi-ps-tspps.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tspi-ps-tspps.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/files/patch-src-tspi-rpc-hosttable.c
==============================================================================
--- head/security/trousers/files/patch-src-tspi-rpc-hosttable.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tspi-rpc-hosttable.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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;
  

Modified: head/security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c
==============================================================================
--- head/security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/patch-src-tspi-rpc-tcstp-rpc.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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) {

Added: head/security/trousers/files/patch-src-tspi-tsp_tcsi_param.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/trousers/files/patch-src-tspi-tsp_tcsi_param.c	Wed May 18 13:53:45 2016	(r415449)
@@ -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"

Modified: head/security/trousers/files/pkg-message.in
==============================================================================
--- head/security/trousers/files/pkg-message.in	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/pkg-message.in	Wed May 18 13:53:45 2016	(r415449)
@@ -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

Modified: head/security/trousers/files/tcsd.in
==============================================================================
--- head/security/trousers/files/tcsd.in	Wed May 18 13:33:57 2016	(r415448)
+++ head/security/trousers/files/tcsd.in	Wed May 18 13:53:45 2016	(r415449)
@@ -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}.c
 tcsd_precmd()
 {
 	/usr/bin/install -d -m 0700 -o %%USERS%% -g %%GROUPS%% \

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605181353.u4IDrjLx096771>