- New upstream bug fix release

- Upstream requested the tpm-emulator patch be dropped
This commit is contained in:
Steve Grubb 2010-01-29 15:34:49 +00:00
parent ee6a46f40c
commit c585cabe48
10 changed files with 48 additions and 443 deletions

View File

@ -1 +1,2 @@
trousers-0.3.1.tar.gz
trousers-0.3.4.tar.gz

View File

@ -1 +1 @@
9d3a07380a0c5d2f0074a9ef79ea218a trousers-0.3.1.tar.gz
72235fd6d2bb35b898a654429946f2e6 trousers-0.3.4.tar.gz

View File

@ -1,12 +0,0 @@
diff -Naur trousers-0.3.1-orig/src/tspi/tspi_nv.c trousers-0.3.1/src/tspi/tspi_nv.c
--- trousers-0.3.1-orig/src/tspi/tspi_nv.c 2007-09-25 13:57:58.000000000 -0500
+++ trousers-0.3.1/src/tspi/tspi_nv.c 2008-06-03 22:20:30.000000000 -0500
@@ -217,7 +217,7 @@
nv_data_public.tag = TPM_TAG_NV_DATA_PUBLIC;
- if ((result = obj_nvstore_create_pcrshortinfo(hNvstore, (TSS_HPCRS)NULL, &pPCR_len, &pPCR)))
+ if ((result = obj_nvstore_create_pcrshortinfo(hNvstore, (TSS_HPCRS)0, &pPCR_len, &pPCR)))
return result;
NVPublic_DataSize = 0;

View File

@ -1,53 +0,0 @@
--- tools/ps_convert.c.orig 2009-04-27 16:33:31.000000000 +0200
+++ tools/ps_convert.c 2009-04-27 16:33:53.000000000 +0200
@@ -136,13 +136,14 @@
version_0_convert(FILE *in, FILE *out)
{
int rc, members = 0;
- UINT32 i, u32 = *(UINT32 *)buf;
+ UINT32 i;
+ UINT32 *u32 = (UINT32 *) &buf;
/* output the PS version */
OUT(out, "\1", 1);
/* number of keys */
- OUT(out, &u32, sizeof(UINT32));
+ OUT(out, u32, sizeof(UINT32));
/* The +- 1's below account for the byte we read in to determine
* if the PS file had a version byte at the beginning */
@@ -163,7 +163,7 @@
return -1;
}
- for (i = 1; i < u32; i++) {
+ for (i = 1; i < *u32; i++) {
/* read in subsequent key's headers */
if ((members = fread(buf, 2*sizeof(TSS_UUID) + 3*sizeof(UINT16),
1, in)) != 1) {
--- tools/ps_inspect.c.orig 2009-04-27 17:49:46.000000000 +0200
+++ tools/ps_inspect.c 2009-04-27 17:51:52.000000000 +0200
@@ -179,10 +179,11 @@
version_0_print(FILE *f)
{
int rc, members = 0;
- UINT32 i, u32 = *(UINT32 *)buf;
+ UINT32 i;
+ UINT32 *u32 = (UINT32 *) &buf;
PRINT("version: 0\n");
- PRINT("number of keys: %u\n", u32);
+ PRINT("number of keys: %u\n", *u32);
/* The +- 1's below account for the byte we read in to determine
* if the PS file had a version byte at the beginning */
@@ -203,7 +204,7 @@
return -1;
}
- for (i = 1; i < u32; i++) {
+ for (i = 1; i < *u32; i++) {
/* read in subsequent key's headers */
if ((members = fread(buf, 2*sizeof(TSS_UUID) + 3*sizeof(UINT16),
1, f)) != 1) {

View File

@ -1,33 +0,0 @@
diff -pur ./trousers-0.3.1/src/trspi/crypto/openssl/symmetric.c ./trousers-0.3.1.new/src/trspi/crypto/openssl/symmetric.c
--- ./trousers-0.3.1/src/trspi/crypto/openssl/symmetric.c 2008-03-01 14:40:51.000000000 -0800
+++ ./trousers-0.3.1.new/src/trspi/crypto/openssl/symmetric.c 2008-03-01 14:51:32.000000000 -0800
@@ -20,6 +20,7 @@
#include <openssl/evp.h>
#include <openssl/err.h>
#include <openssl/rand.h>
+#include <limits.h>
#include "trousers/tss.h"
#include "trousers/trousers.h"
diff -pur ./trousers-0.3.1/src/tspi/tspi_aik.c ./trousers-0.3.1.new/src/tspi/tspi_aik.c
--- ./trousers-0.3.1/src/tspi/tspi_aik.c 2007-09-25 11:57:58.000000000 -0700
+++ ./trousers-0.3.1.new/src/tspi/tspi_aik.c 2008-03-01 15:06:06.000000000 -0800
@@ -12,6 +12,7 @@
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
+#include <limits.h>
#include "trousers/tss.h"
#include "trousers/trousers.h"
diff -pur ./trousers-0.3.1/src/tspi/tsp_ps.c ./trousers-0.3.1.new/src/tspi/tsp_ps.c
--- ./trousers-0.3.1/src/tspi/tsp_ps.c 2007-07-19 11:00:05.000000000 -0700
+++ ./trousers-0.3.1.new/src/tspi/tsp_ps.c 2008-03-01 15:05:10.000000000 -0800
@@ -15,6 +15,7 @@
#include <string.h>
#include <unistd.h>
#include <stdio.h>
+#include <limits.h>
#include "trousers/tss.h"
#include "trousers/trousers.h"

View File

@ -1,91 +0,0 @@
--- trousers-0.3.1.orig/dist/fedora/fedora.initrd.tcsd 2008-03-28 15:07:20.000000000 -0700
+++ trousers-0.3.1/dist/fedora/fedora.initrd.tcsd 2008-03-28 15:18:56.000000000 -0700
@@ -21,33 +21,79 @@ prog="tcsd"
# Some variables to make the below more readable
TCSD=/usr/sbin/tcsd
PID_FILE=/var/run/tcsd.pid
-INSMOD=/sbin/insmod
+MODPROBE=/sbin/modprobe
LSMOD=/sbin/lsmod
GREP=/bin/grep
+PWD=/bin/pwd
+MOD_DIR=/lib/modules/$(uname -r)/kernel/drivers/char/tpm
+START_OPT=" start"
load_drivers()
{
- for d in `echo /lib/modules/$(uname -r)/kernel/drivers/char/tpm/tpm_*`; do
- $INSMOD $d
- if test $? -eq 0; then
- break;
+ CUR_DIR=`$PWD`
+ cd $MOD_DIR
+
+ # Must load tpm_bios.ko first
+ $MODPROBE tpm_bios >/dev/null 2>&1
+ RETVAL=$?
+ if [ $RETVAL -ne 0 ]; then
+ failure "Load tpm_bios"
+ echo
+ cd $CUR_DIR
+ return $RETVAL
+ fi
+
+ # Must load tpm.ko second
+ $MODPROBE tpm >/dev/null 2>&1
+ RETVAL=$?
+ if [ $RETVAL -ne 0 ]; then
+ failure "Load tpm"
+ echo
+ cd $CUR_DIR
+ return $RETVAL
+ fi
+
+ # Attempt to load remaining tpm_*.ko
+ # But do NOT return error if they fail
+ for d in `echo tpm_*`; do
+ if [ "$d" != "tpm_bios.ko" ]
+ then
+ m=${d%".ko"}
+ $MODPROBE $m >/dev/null 2>&1
fi
done
+
+ cd $CUR_DIR
+ success "Load tpm"
+ echo
+ return $RETVAL
}
check_drivers()
{
- $LSMOD | $GREP tpm_
+ $LSMOD | $GREP tpm_ >/dev/null 2>&1
+ RETVAL=$?
+ return $RETVAL
}
start()
{
- check_drivers || load_drivers || failure
+ check_drivers
+ RETVAL=$?
+ if [ $RETVAL -ne 0 ]; then
+ load_drivers
+ RETVAL=$?
+ fi
+ if [ $RETVAL -ne 0 ]; then
+ failure $"Loading drivers"
+ fi
echo -n $"Starting $prog: "
- $TCSD $OPTIONS && success || failure
+ $TCSD $START_OPT && success
+ echo
+ touch /var/lock/subsys/tcsd && success
RETVAL=$?
- [ "$RETVAL" = 0 ] && touch /var/lock/subsys/tcsd
echo
+ return $RETVAL
}
stop()

View File

@ -1,148 +0,0 @@
diff -pburN trousers-0.3.1.vanilla/dist/Makefile.in trousers-0.3.1-newtest.build/dist/Makefile.in
--- trousers-0.3.1.vanilla/dist/Makefile.in 2007-11-02 16:59:43.000000000 -0500
+++ trousers-0.3.1-newtest.build/dist/Makefile.in 2007-12-12 13:34:38.000000000 -0600
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -13,6 +13,7 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
+
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -47,6 +48,15 @@ mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES = tcsd.conf trousers.spec
SOURCES =
DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(sysconfdir)"
+sysconfDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(sysconf_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
@@ -106,6 +116,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
RPC = @RPC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
@@ -213,6 +224,7 @@ ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -254,6 +266,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+sysconf_DATA = tcsd.conf
all: all-am
.SUFFIXES:
@@ -300,6 +313,23 @@ clean-libtool:
distclean-libtool:
-rm -f libtool
uninstall-info-am:
+install-sysconfDATA: $(sysconf_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(sysconfdir)" || $(mkdir_p) "$(DESTDIR)$(sysconfdir)"
+ @list='$(sysconf_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(sysconfDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(sysconfdir)/$$f'"; \
+ $(sysconfDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(sysconfdir)/$$f"; \
+ done
+
+uninstall-sysconfDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sysconf_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(sysconfdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(sysconfdir)/$$f"; \
+ done
tags: TAGS
TAGS:
@@ -336,8 +366,12 @@ distdir: $(DISTFILES)
done
check-am: all-am
check: check-am
-all-am: Makefile
+all-am: Makefile $(DATA)
installdirs:
+ for dir in "$(DESTDIR)$(sysconfdir)"; do \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ done
+install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -381,9 +415,7 @@ info-am:
install-data-am:
-install-exec-am:
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-exec-am: install-sysconfDATA
install-info: install-info-am
@@ -407,37 +439,18 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+uninstall-am: uninstall-info-am uninstall-sysconfDATA
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
- install-exec-hook install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
+ install-info install-info-am install-man install-strip \
+ install-sysconfDATA installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-hook uninstall-info-am
-
+ uninstall uninstall-am uninstall-info-am uninstall-sysconfDATA
-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
- /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
-
-install-exec-hook:
- /usr/sbin/groupadd tss || true
- /usr/sbin/useradd -r tss -g tss || true
- /bin/chown tss:tss ${DESTDIR}/@sbindir@/tcsd
- /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
- /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
-
-uninstall-hook:
- /usr/sbin/userdel tss
- /usr/sbin/groupdel tss
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,11 +0,0 @@
--- trousers-0.3.1/src/tcsd/svrside.c~ 2007-08-29 22:11:13.000000000 +0100
+++ trousers-0.3.1/src/tcsd/svrside.c 2008-09-27 10:23:08.000000000 +0100
@@ -268,6 +268,8 @@ main(int argc, char **argv)
else
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
+ c = 1;
+ setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, &c, sizeof(c));
if (bind(sd, (struct sockaddr *) &serv_addr, sizeof (serv_addr)) < 0) {
LogError("Failed bind: %s", strerror(errno));
return -1;

View File

@ -1,39 +0,0 @@
--- trousers-0.3.1/src/include/obj_context.h~ 2007-08-28 20:13:39.000000000 +0100
+++ trousers-0.3.1/src/include/obj_context.h 2008-09-26 01:08:07.000000000 +0100
@@ -44,7 +44,7 @@ struct tr_context_obj {
};
/* obj_context.c */
-void context_free(void *data);
+void obj_context_free(void *data);
TSS_BOOL obj_is_context(TSS_HOBJECT);
TSS_RESULT obj_context_get_policy(TSS_HCONTEXT, UINT32, TSS_HPOLICY *);
TSS_BOOL obj_context_is_silent(TSS_HCONTEXT);
@@ -84,6 +84,6 @@ struct tcs_api_table *obj_context_get_tc
#define CONTEXT_LIST_DECLARE_EXTERN extern struct obj_list context_list
#define CONTEXT_LIST_INIT() list_init(&context_list)
#define CONTEXT_LIST_CONNECT(a,b) obj_connectContext_list(&context_list, a, b)
-#define CONTEXT_LIST_CLOSE(a) obj_list_close(&context_list, &context_free, a)
+#define CONTEXT_LIST_CLOSE(a) obj_list_close(&context_list, &obj_context_free, a)
#endif
--- trousers-0.3.1/src/tspi/obj_context.c~ 2007-10-26 21:34:52.000000000 +0100
+++ trousers-0.3.1/src/tspi/obj_context.c 2008-09-26 01:06:17.000000000 +0100
@@ -60,7 +60,7 @@ obj_context_add(TSS_HOBJECT *phObject)
/* Add the default policy */
if ((result = obj_policy_add(*phObject, TSS_POLICY_USAGE, &context->policy))) {
- obj_list_remove(&context_list, &context_free, *phObject, *phObject);
+ obj_list_remove(&context_list, &obj_context_free, *phObject, *phObject);
return result;
}
@@ -95,7 +95,7 @@ obj_context_get_tcs_api(TSS_HCONTEXT tsp
}
void
-context_free(void *data)
+obj_context_free(void *data)
{
struct tr_context_obj *context = (struct tr_context_obj *)data;

View File

@ -1,28 +1,23 @@
Name: trousers
Summary: TCG's Software Stack v1.2
Version: 0.3.1
Release: 19%{?dist}
License: CPL
Group: System Environment/Libraries
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Url: http://trousers.sourceforge.net
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libtool, gtk2-devel, openssl-devel
Requires(pre): shadow-utils
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
Patch0: trousers-0.3.1-remove-group-install-code.patch
Patch1: trousers-0.3.1-limits.patch
Patch2: trousers-0.3.1-cast.patch
Patch3: trousers-0.3.1-module-ordering.patch
Patch4: trousers-0.3.1-workaround-selinux-namespace-pollution.patch
Patch5: trousers-0.3.1-reuseaddr.patch
Patch6: trousers-0.3.1-use-tpm-emu.patch
# Filed into upstream bugtracker at:
# https://sourceforge.net/tracker/?func=detail&aid=2782253&group_id=126012&atid=704358
Patch7: trousers-0.3.1-gcc44.patch
%global name trousers
%global version 0.3.4
%global tarballrev -1
%global release 1
Name: %{name}
Summary: TCG's Software Stack v1.2
Version: %{version}
Release: %{release}%{?dist}
License: CPL
Group: System Environment/Libraries
Url: http://trousers.sourceforge.net
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libtool, openssl-devel
Requires(pre): shadow-utils
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
%description
TrouSerS is an implementation of the Trusted Computing Group's Software Stack
@ -31,39 +26,31 @@ of your TPM hardware. TPM hardware can create, store and use RSA keys
securely (without ever being exposed in memory), verify a platform's software
state using cryptographic hashes and more.
%package static
Summary: TrouSerS TCG Device Driver Library
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%package static
Summary: TrouSerS TCG Device Driver Library
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
%description static
The TCG Device Driver Library (TDDL) used by the TrouSerS tcsd as the
interface to the TPM's device driver. For more information about writing
applications to the TDDL interface, see the latest TSS spec at
https://www.trustedcomputinggroup.org/specs/TSS.
%package devel
Summary: TrouSerS header files and documentation
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%package devel
Summary: TrouSerS header files and documentation
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
%description devel
Header files and man pages for use in creating Trusted Computing enabled
applications.
%prep
%setup -q
%patch0 -p1
%patch1 -p2
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7
%build
%configure
%configure --with-gui=openssl
make -k %{?_smp_mflags}
%install
@ -90,42 +77,46 @@ exit 0
%preun
if [ $1 = 0 ]; then
/sbin/service tcsd stop &> /dev/null
/sbin/service tcsd stop > /dev/null 2>&1
/sbin/chkconfig --del tcsd
fi
%postun
/sbin/ldconfig
if [ $1 -gt 1 ]; then
/sbin/service tcsd condrestart &>/dev/null || :
/sbin/service tcsd condrestart > /dev/null 2>&1 || :
fi
%files
%defattr(-, root, root, -)
%doc README AUTHORS LICENSE ChangeLog
%attr(755, tss, tss) %{_sbindir}/tcsd
%doc README LICENSE ChangeLog
%{_sbindir}/tcsd
%{_libdir}/libtspi.so.?
%{_libdir}/libtspi.so.?.?.?
%config(noreplace) %attr(600, tss, tss) %{_sysconfdir}/tcsd.conf
%attr(644, root, root) %{_mandir}/man5/*
%attr(644, root, root) %{_mandir}/man8/*
%config(noreplace) %attr(0600, tss, tss) %{_sysconfdir}/tcsd.conf
%attr(0644, root, root) %{_mandir}/man5/*
%attr(0644, root, root) %{_mandir}/man8/*
%{_initrddir}/tcsd
%{_localstatedir}/lib/tpm/
%attr(0700, tss, tss) %{_localstatedir}/lib/tpm/
%files devel
%files devel
# The files to be used by developers, 'trousers-devel'
%defattr(-, root, root, -)
%attr(755, root, root) %{_libdir}/libtspi.so
%attr(0755, root, root) %{_libdir}/libtspi.so
%{_includedir}/tss/
%{_includedir}/trousers/
%{_mandir}/man3/Tspi_*
%files static
%files static
%defattr(-, root, root, -)
# The only static library shipped by trousers, the TDDL
%{_libdir}/libtddl.a
%changelog
* Fri Jan 29 2010 Steve Grubb <sgrubb@redhat.com> 0.3.4-1
- New upstream bug fix release
- Upstream requested the tpm-emulator patch be dropped
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 0.3.1-19
- rebuilt with new openssl