openpts: init at 0.2.6
This commit is contained in:
parent
4abc4fa991
commit
3607cf316e
6 changed files with 128 additions and 0 deletions
12
pkgs/servers/openpts/bugs.patch
Normal file
12
pkgs/servers/openpts/bugs.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -urNp openpts-0.2.6-cvs-patched/src/fsm.c openpts-0.2.6-current/src/fsm.c
|
||||
--- openpts-0.2.6-cvs-patched/src/fsm.c 2012-01-05 03:49:15.000000000 -0500
|
||||
+++ openpts-0.2.6-current/src/fsm.c 2012-01-09 12:11:17.338706205 -0500
|
||||
@@ -934,7 +934,7 @@ char *getEventString(OPENPTS_PCR_EVENT_W
|
||||
/* event */
|
||||
event = eventWrapper->event;
|
||||
if (event != NULL) {
|
||||
- // len = snprintf(buf, size, "PCR[%d],TYPE=%d", (int)event->ulPcrIndex, event->eventType);
|
||||
+ snprintf(buf, size, "PCR[%d],TYPE=%d", (int)event->ulPcrIndex, event->eventType);
|
||||
} else {
|
||||
LOG(LOG_ERR, "NULL event\n"); // TODO(munetoh)
|
||||
xfree(buf);
|
53
pkgs/servers/openpts/default.nix
Normal file
53
pkgs/servers/openpts/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{ stdenv, fetchurl, autoconf, automake, pkgconfig, libtool, trousers, openssl, libxml2, libuuid, gettext, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "openpts-${version}";
|
||||
version = "0.2.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://jaist.dl.osdn.jp/openpts/54410/openpts-${version}.tar.gz";
|
||||
sha256 = "1b5phshl49fxr5y3g5zz75gm0n4cw8i7n29x5f1a95xkwrjpazi0";
|
||||
};
|
||||
|
||||
# patches from https://apps.fedoraproject.org/packages/openpts/sources/patches/
|
||||
patches = [ ./bugs.patch ./zlib.patch ./tboot.patch ./ptsc.patch ];
|
||||
|
||||
buildInputs = [ autoconf automake pkgconfig libtool trousers openssl libxml2 libuuid gettext ];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace include/Makefile.am --replace "./cvs2msg.pl" "${perl}/bin/perl cvs2msg.pl";
|
||||
$SHELL bootstrap.sh
|
||||
'';
|
||||
|
||||
configureFlags = [ "--with-tss" "--with-aru" "--with-tboot" "--enable-tnc" "--with-aide" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${trousers}/include/trousers -I${trousers}/include/tss";
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out
|
||||
mkdir -p $out/etc
|
||||
cp -p dist/ptsc.conf.in $out/etc/ptsc.conf
|
||||
cp -p dist/ptsv.conf.in $out/etc/ptsv.conf
|
||||
mkdir -p $out/share/openpts/models
|
||||
cp -p models/*.uml $out/share/openpts/models/
|
||||
|
||||
mkdir -p $out/share/openpts/tpm_emulator
|
||||
cp dist/tpm_emulator/README.rhel $out/share/openpts/tpm_emulator/README
|
||||
cp dist/tpm_emulator/binary_bios_measurements $out/share/openpts/tpm_emulator/
|
||||
cp dist/tpm_emulator/tcsd $out/share/openpts/tpm_emulator/
|
||||
|
||||
mkdir -p $out/share/openpts/tboot
|
||||
cp dist/tboot/README.fedora15 $out/share/openpts/tboot/README
|
||||
cp dist/tboot/ptsc.conf.fedora15 $out/share/openpts/tboot/ptsc.conf
|
||||
cp dist/tboot/tcsd.conf.fedora15 $out/share/openpts/tboot/tcsd.conf
|
||||
cp dist/tboot/tcsd.fedora15 $out/share/openpts/tboot/tcsd
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "TCG Platform Trust Service (PTS)";
|
||||
homepage = "ttp://sourceforge.jp/projects/openpts";
|
||||
license = stdenv.lib.licenses.cpl10;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ tstrobel ];
|
||||
};
|
||||
}
|
28
pkgs/servers/openpts/ptsc.patch
Normal file
28
pkgs/servers/openpts/ptsc.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
diff -urNp openpts-0.2.6-patched/src/ptsc.c openpts-0.2.6-current/src/ptsc.c
|
||||
--- openpts-0.2.6-patched/src/ptsc.c 2012-08-21 15:57:07.733841433 -0400
|
||||
+++ openpts-0.2.6-current/src/ptsc.c 2012-08-21 16:13:26.479732504 -0400
|
||||
@@ -457,7 +457,10 @@ void ptsc_lock(void) {
|
||||
exit(1);
|
||||
}
|
||||
oldgrp = getegid();
|
||||
- setegid(grp.gr_gid);
|
||||
+ if(setegid(grp.gr_gid) != 0){
|
||||
+ LOG(LOG_ERR, "setegid fail");
|
||||
+ exit(1);
|
||||
+ }
|
||||
}
|
||||
|
||||
oldmask = umask(0);
|
||||
@@ -467,7 +470,10 @@ void ptsc_lock(void) {
|
||||
}
|
||||
if (grpent) {
|
||||
chmod(LOCK_DIR, 02775);
|
||||
- setegid(oldgrp);
|
||||
+ if(setegid(oldgrp) != 0){
|
||||
+ LOG(LOG_ERR, "setegid fail");
|
||||
+ exit(1);
|
||||
+ }
|
||||
}
|
||||
fd = open(LOCK_FILE, O_RDWR | O_CREAT | O_TRUNC, 0660);
|
||||
if (fd < 0) {
|
||||
|
21
pkgs/servers/openpts/tboot.patch
Normal file
21
pkgs/servers/openpts/tboot.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
diff -urNp openpts-0.2.6-patched/src/tboot2iml.c openpts-0.2.6-current/src/tboot2iml.c
|
||||
--- openpts-0.2.6-patched/src/tboot2iml.c 2012-07-23 16:30:12.381361421 -0400
|
||||
+++ openpts-0.2.6-current/src/tboot2iml.c 2012-07-23 17:25:59.053945778 -0400
|
||||
@@ -531,7 +531,7 @@ int sinit_acm_hash(char *filename, int s
|
||||
|
||||
|
||||
int sha1sum_unzip(char *filename, int *filesize, BYTE *digest) {
|
||||
- FILE *fp;
|
||||
+ gzFile fp;
|
||||
char buf[2048];
|
||||
SHA_CTX sha_ctx;
|
||||
int len;
|
||||
@@ -541,7 +541,7 @@ int sha1sum_unzip(char *filename, int *f
|
||||
|
||||
/* open */
|
||||
fp = gzopen(filename, "rb");
|
||||
- if (fp == NULL) {
|
||||
+ if (fp == Z_NULL) {
|
||||
LOG(LOG_ERR, "File %s does not exist\n", filename);
|
||||
return 0;
|
||||
}
|
12
pkgs/servers/openpts/zlib.patch
Normal file
12
pkgs/servers/openpts/zlib.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -urNp openpts-0.2.6-cvs-patched/src/Makefile.am openpts-0.2.6-current/src/Makefile.am
|
||||
--- openpts-0.2.6-cvs-patched/src/Makefile.am 2012-01-05 03:49:15.000000000 -0500
|
||||
+++ openpts-0.2.6-current/src/Makefile.am 2012-01-09 14:12:02.507361732 -0500
|
||||
@@ -30,7 +30,7 @@ localedir = $(datadir)/locale
|
||||
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include $(LIBXML2_CFLAGS) $(TSS_CFLAGS) -I../include -DLOCALEDIR=\"$(localedir)\"
|
||||
-AM_LDFLAGS = $(LIBXML2_LIBS) $(LIBCRYPTO_LIBS) $(TSS_LIBS) -lopenpts
|
||||
+AM_LDFLAGS = $(LIBXML2_LIBS) $(LIBCRYPTO_LIBS) $(TSS_LIBS) -lz -lopenpts
|
||||
# $(LIBINTL) -lopenpts
|
||||
|
||||
if HAVE_LIBUUID
|
|
@ -9026,6 +9026,8 @@ let
|
|||
|
||||
nsq = callPackage ../servers/nsq { };
|
||||
|
||||
openpts = callPackage ../servers/openpts { };
|
||||
|
||||
openresty = callPackage ../servers/http/openresty { };
|
||||
|
||||
opensmtpd = callPackage ../servers/mail/opensmtpd { };
|
||||
|
|
Loading…
Reference in a new issue