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>