Add opencryptoki 2.3.2, is an open PKCS#11 implementation library.

Obtained from:	http://bsssd.sourceforge.net/
This commit is contained in:
Norikatsu Shigemura 2010-11-07 12:07:17 +00:00
parent 7612f38ced
commit c38e52a3c0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=264183
44 changed files with 1196 additions and 0 deletions

View file

@ -334,6 +334,7 @@
SUBDIR += openbsm
SUBDIR += opencdk
SUBDIR += openconnect
SUBDIR += opencryptoki
SUBDIR += openct
SUBDIR += openfwtk
SUBDIR += openpgpsdk

View file

@ -0,0 +1,67 @@
# New ports collection makefile for: opencryptoki
# Date created: 2010-07-16
# Whom: Ralf Meister
#
# $FreeBSD$
#
PORTNAME= opencryptoki
PORTVERSION= 2.3.2
CATEGORIES= security
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}
MAINTAINER= nork@FreeBSD.org
COMMENT= An open PKCS\#11 implementation library
LIB_DEPENDS= tspi.2:${PORTSDIR}/security/trousers
USE_BZIP2= YES
USE_GMAKE= YES
USE_LDCONFIG= YES
USE_AUTOTOOLS= autoconf:268 libtool:22 automake:111
HAS_CONFIGURE= YES
MAKE_JOBS_SAFE= YES
USE_RC_SUBR= pkcsslotd
SUB_FILES= pkg-message
SUB_LIST= USERS=${USERS} GROUPS=${GROUPS}
MAN1= pkcs11_startup.1 pkcsconf.1
MAN5= pk_config_data.5
MAN7= opencryptoki.7
MAN8= pkcsslotd.8
USERS= _pkcs11
GROUPS= _pkcs11
LICENSE= CPL
LICENSE_NAME= Common Public License
LICENSE_FILE= ${WRKSRC}/LICENSE
LICENSE_PERMS= ${_LICENSE_PERMS_DEFAULT}
CONFIGURE_ARGS= --enable-swtok --enable-tpmtok \
--disable-crtok --disable-aeptok \
--disable-ccatok --disable-bcomtok \
--disable-pkcscca_migrate \
--libdir=${PREFIX}/lib \
--sbindir=${PREFIX}/sbin \
--localstatedir=${PREFIX}/var \
--with-pkcs11user=${USERS} \
--with-pkcs11group=${GROUPS}
CONFIGURE_ENV= LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
.include <bsd.port.pre.mk>
CFLAGS+= -I${LOCALBASE}/include
pre-configure:
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${ACLOCAL}
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${LIBTOOLIZE} --force -c
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${AUTOMAKE} --add-missing -c
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${AUTOCONF}
post-install:
@cd ${PREFIX}/lib && ${LN} -s opencryptoki/libopencryptoki* .
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>

View file

@ -0,0 +1,2 @@
SHA256 (opencryptoki-2.3.2.tar.bz2) = 44fdf74a9eab2586240a69779c5c323e8378e8f2fde21cd4f8bd9186a24c30f7
SIZE (opencryptoki-2.3.2.tar.bz2) = 665134

View file

@ -0,0 +1,59 @@
--- configure.in.orig 2010-07-29 21:28:41.000000000 +0900
+++ configure.in 2010-10-20 01:31:02.971984782 +0900
@@ -8,6 +8,9 @@
AM_INIT_AUTOMAKE([foreign 1.6])
+AC_DEFINE(_BSD_SOURCE, 1, BSD functions)
+AC_DEFINE(__BSD_VISIBLE, 1, BSD extensions)
+
dnl Get the canonical host type
AC_CANONICAL_TARGET
@@ -30,6 +33,7 @@
AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([getcwd])
+AC_CHECK_FUNCS([asprintf])
dnl Used in various scripts
AC_PATH_PROG([ID], [id], [/us/bin/id])
@@ -193,6 +197,21 @@
[],
[with_xcryptolinz=check])
+dnl --- check for pkcs11 user
+AC_ARG_WITH([pkcs11user],
+ AC_HELP_STRING([--with-pkcs11user[[=USER]]], [set pkcs11 user [[pkcs11]]]),
+ [pkcs11_user=$withval],
+ [pkcs11_user=pkcs11])
+
+dnl --- check for pkcs11 group
+AC_ARG_WITH(pkcs11group,
+ AC_HELP_STRING([--with-pkcs11group[[=GROUP]]], [set pkcs11 group [[pkcs11]]]),
+ [pkcs11_group=$withval],
+ [pkcs11_group=pkcs11])
+
+AC_SUBST(PKCS11USER, $pkcs11_user)
+AC_SUBST(PKCS11GROUP, $pkcs11_group)
+
dnl ---
dnl ---
dnl --- Now that we have all the options, let's check for a valid build
@@ -630,11 +649,15 @@
CFLAGS="$CFLAGS $DEBUG_CFLAGS -DPKCS64 -D_XOPEN_SOURCE=500"
-CFLAGS+=' -DCONFIG_PATH=\"$(localstatedir)/lib/opencryptoki\" -DSBIN_PATH=\"$(sbindir)\" -DLIB_PATH=\"$(libdir)\"'
+CFLAGS="$CFLAGS -DCONFIG_PATH='\"$localstatedir/lib/opencryptoki\"' -DSBIN_PATH='\"$sbindir\"' -DLIB_PATH='\"$libdir\"'"
+
+CFLAGS="$CFLAGS -DPKCS11USER='\"${pkcs11_user}\"' -DPKCS11GROUP='\"${pkcs11_group}\"'"
# At this point, CFLAGS is set to something sensible
AC_PROG_CC
+AC_SUBST(FPIC, $lt_prog_compiler_pic)
+
AC_OUTPUT([Makefile usr/Makefile \
usr/include/Makefile \
usr/include/pkcs11/Makefile \

View file

@ -0,0 +1,11 @@
--- usr/include/pkcs11/apictl.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/include/pkcs11/apictl.h 2010-10-19 23:42:04.580983829 +0900
@@ -296,7 +296,7 @@
#include <pkcs11types.h>
-#include <linux/limits.h>
+#include <limits.h>
#include <local_types.h>
#include <stdll.h>
#include <slotmgr.h>

View file

@ -0,0 +1,11 @@
--- usr/include/pkcs11/slotmgr.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/include/pkcs11/slotmgr.h 2010-10-19 23:42:55.423984058 +0900
@@ -301,7 +301,7 @@
#include <pkcs11types.h>
-#include <linux/limits.h>
+#include <limits.h>
#include <local_types.h>
#include <pthread.h>

View file

@ -0,0 +1,11 @@
--- usr/include/pkcs11/stdll.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/include/pkcs11/stdll.h 2010-10-19 23:43:40.418984281 +0900
@@ -302,7 +302,7 @@
#include <pkcs11types.h>
-#include <linux/limits.h>
+#include <limits.h>
#include <local_types.h>
#include <slotmgr.h>

View file

@ -0,0 +1,11 @@
--- usr/lib/pkcs11/aep_stdll/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/aep_stdll/Makefile.am 2010-10-19 23:45:36.945982287 +0900
@@ -6,7 +6,7 @@
# Not all versions of automake observe libname_CFLAGS
opencryptoki_stdll_libpkcs11_aep_la_CFLAGS = -DSPINXPL -DDEV \
--D_THREAD_SAFE -fPIC -DSHALLOW=0 -DSWTOK=1 -DLITE=0 -DNOCDMF -DNOMD2 \
+-D_THREAD_SAFE $(FPIC) -DSHALLOW=0 -DSWTOK=1 -DLITE=0 -DNOCDMF -DNOMD2 \
-DNODSA -DDEBUGON -DAEP_GENERIC -DNORIPE -DSTDLL_NAME=\"aeptok\"
opencryptoki_stdll_libpkcs11_aep_la_SOURCES = ../common/asn1.c \

View file

@ -0,0 +1,18 @@
--- usr/lib/pkcs11/api/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/api/Makefile.am 2010-10-19 23:49:45.125982519 +0900
@@ -4,13 +4,13 @@
SO_REVISION=0
SO_AGE=0
-opencryptoki_libopencryptoki_la_LDFLAGS = -shared -Wl,-Bsymbolic -lc -ldl \
+opencryptoki_libopencryptoki_la_LDFLAGS = -shared -Wl,-Bsymbolic -lc \
-lpthread -version-info \
$(SO_CURRENT):$(SO_REVISION):$(SO_AGE)
# Not all versions of automake observe libname_CFLAGS
opencryptoki_libopencryptoki_la_CFLAGS = -DSPINXPL -DAPI -DDEV -D_THREAD_SAFE \
- -fPIC -I../. -I../../../include/pkcs11
+ $(FPIC) -I../. -I../../../include/pkcs11
opencryptoki_libopencryptoki_la_SOURCES = api_interface.c shrd_mem.c apiutil.c

View file

@ -0,0 +1,35 @@
--- usr/lib/pkcs11/api/api_interface.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/api/api_interface.c 2010-10-19 23:52:25.355983620 +0900
@@ -2390,7 +2390,7 @@
C_GetFunctionList ( CK_FUNCTION_LIST_PTR_PTR ppFunctionList )
{
- _init();
+ api_init();
LOG("C_GetFunctionList");
FuncList.version.major = VERSION_MAJOR;
@@ -5168,7 +5168,11 @@
}
+#ifdef __sun
+#pragma init(api_init)
+#else
void api_init(void) __attribute__((constructor));
+#endif
void
api_init(void)
@@ -5194,7 +5198,11 @@
}
+#ifdef __sun
+#pragma fini(api_fini)
+#else
void api_fini(void) __attribute__((destructor));
+#endif
void
api_fini()

View file

@ -0,0 +1,44 @@
--- usr/lib/pkcs11/api/apiutil.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/api/apiutil.c 2010-10-19 23:54:52.374982634 +0900
@@ -305,10 +305,10 @@
#include <string.h>
#include <strings.h>
#include <unistd.h>
-#include <alloca.h>
#include <dlfcn.h>
#include <errno.h>
#include <sys/syslog.h>
+#include <limits.h>
#include <sys/ipc.h>
@@ -325,10 +325,28 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <sys/file.h>
static int xplfd=-1;
#endif
+#ifdef __sun
+#define LOCK_EX F_LOCK
+#define LOCK_UN F_ULOCK
+#define flock(fd, func) lockf(fd, func, 0)
+#endif
+
+#ifndef LOCK_SH
+#define LOCK_SH 1 /* shared lock */
+#endif
+#ifndef LOCK_EX
+#define LOCK_EX 2 /* exclusive lock */
+#endif
+#ifndef LOCK_NB
+#define LOCK_NB 4 /* don't block when locking */
+#endif
+#ifndef LOCK_UN
+#define LOCK_UN 8 /* unlock */
+#endif
+
#include <libgen.h>
#define LIBLOCATION LIB_PATH

View file

@ -0,0 +1,11 @@
--- usr/lib/pkcs11/api/shrd_mem.c.in.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/api/shrd_mem.c.in 2010-10-19 23:56:22.728981736 +0900
@@ -353,7 +353,7 @@
// SAB check for the group id here and membership here as well
- grp = getgrnam("pkcs11");
+ grp = getgrnam(PKCS11GROUP);
if ( grp ) {
int i=0;
char member=0;

View file

@ -0,0 +1,11 @@
--- usr/lib/pkcs11/bcom_stdll/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/bcom_stdll/Makefile.am 2010-10-19 23:57:38.434983522 +0900
@@ -8,7 +8,7 @@
# Not all versions of automake observe libname_CFLAGS
opencryptoki_stdll_libpkcs11_bc_la_CFLAGS = -DSPINXPL -DDEV \
--D_THREAD_SAFE -fPIC $(VARIANT) -DNOCDMF -DNOMD2 -DNODSA -DNOAES \
+-D_THREAD_SAFE $(FPIC) $(VARIANT) -DNOCDMF -DNOMD2 -DNODSA -DNOAES \
-DNODH -DDEBUGON -DNORIPE -DSTDLL_NAME=\"bcomtok\"
opencryptoki_stdll_libpkcs11_bc_la_SOURCES = ../common/asn1.c \

View file

@ -0,0 +1,27 @@
--- usr/lib/pkcs11/cca_stdll/host_defs.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/cca_stdll/host_defs.h 2010-10-19 23:59:33.363984758 +0900
@@ -10,13 +10,24 @@
*/
+#include <sys/types.h>
#include <sys/mman.h>
#ifndef _HOST_DEFS_H
#define _HOST_DEFS_H
#include <semaphore.h>
#include <pthread.h>
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#include <sys/endian.h>
+#ifdef _BYTE_ORDER
+#define __BYTE_ORDER _BYTE_ORDER
+#endif
+#ifdef _LITTLE_ENDIAN
+#define __LITTLE_ENDIAN _LITTLE_ENDIAN
+#endif
+#else
#include <endian.h>
+#endif
#include "pkcs32.h"
// Both of the strings below have a length of 32 chars and must be

View file

@ -0,0 +1,23 @@
--- usr/lib/pkcs11/cca_stdll/loadsave.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/cca_stdll/loadsave.c 2010-10-20 01:49:50.769984323 +0900
@@ -22,11 +22,9 @@
#include <string.h>
#include <strings.h>
#include <unistd.h>
-#include <alloca.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ipc.h>
-#include <sys/file.h>
#include <errno.h>
#include <pwd.h>
@@ -51,7 +49,7 @@
// Set absolute permissions or rw-rw-r--
fchmod(file,S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH);
- grp = getgrnam("pkcs11"); // Obtain the group id
+ grp = getgrnam(PKCS11GROUP); // Obtain the group id
if (grp){
fchown(file,getuid(),grp->gr_gid); // set ownership to root, and pkcs11 group
}

View file

@ -0,0 +1,52 @@
--- usr/lib/pkcs11/cca_stdll/new_host.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/cca_stdll/new_host.c 2010-10-20 00:06:26.575983974 +0900
@@ -298,7 +298,7 @@
struct group *grp;
int rc = 0;
gid_t gid,egid;
- grp = getgrnam("pkcs11");
+ grp = getgrnam(PKCS11GROUP);
if (grp) {
// Check for member of group..
// SAB get login seems to not work with some
@@ -786,7 +786,19 @@
//
object_mgr_destroy_token_objects();
#if 0 /* TODO: Implement delete_all_files_in_dir() */
+#if HAVE_ASPRINTF
local_rc = asprintf(&pk_full_path, "%s/%s", pk_dir, PK_LITE_OBJ_DIR);
+#else
+ pk_full_path = malloc(1024);
+ if( pk_full_path != NULL ) {
+ local_rc = snprintf(pk_full_path, 1023, "%s/%s",
+ pk_dir, PK_LITE_OBJ_DIR);
+ if( local_rc == -1 ) free(pk_full_path);
+ }
+ else {
+ local_rc = -1;
+ }
+#endif
if (local_rc == -1) {
rc = CKR_HOST_MEMORY;
goto out;
@@ -797,8 +809,20 @@
goto out;
}
#endif
+#if HAVE_ASPRINTF
local_rc = asprintf(&s, "%s %s/%s/* > /dev/null 2>&1", DEL_CMD, pk_dir,
PK_LITE_OBJ_DIR);
+#else
+ s = malloc(1024);
+ if( s != NULL ) {
+ local_rc = snprintf(s, 1023, "%s %s/%s/* > /dev/null 2>&1",
+ DEL_CMD, pk_dir, PK_LITE_OBJ_DIR);
+ if( local_rc == -1 ) free(s);
+ }
+ else {
+ local_rc = -1;
+ }
+#endif
if (local_rc == -1) {
rc = CKR_HOST_MEMORY;
goto out;

View file

@ -0,0 +1,15 @@
--- usr/lib/pkcs11/cca_stdll/tok_spec_struct.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/cca_stdll/tok_spec_struct.h 2010-10-20 00:08:00.317982423 +0900
@@ -22,9 +22,9 @@
#define _TOK_SPECIFIC_STRUCT
struct token_specific_struct{
- CK_BYTE token_directory[2048]; // Used to be in the token_local.h as a #def
- CK_BYTE token_subdir[2048]; // subdirectory
- CK_BYTE token_debug_tag[2048]; // debug logging tag
+ CK_BYTE *token_directory; // Used to be in the token_local.h as a #def
+ CK_BYTE *token_subdir; // subdirectory
+ CK_BYTE *token_debug_tag; // debug logging tag
CK_RV (*t_init)(char *,CK_SLOT_ID); // Initialization function
int (*t_slot2local)(); // convert the PKCS#11 slot to a local index

View file

@ -0,0 +1,27 @@
--- usr/lib/pkcs11/common/host_defs.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/common/host_defs.h 2010-10-20 00:10:01.398983092 +0900
@@ -294,13 +294,24 @@
/* (C) COPYRIGHT International Business Machines Corp. 2001,2002 */
+#include <sys/types.h>
#include <sys/mman.h>
#ifndef _HOST_DEFS_H
#define _HOST_DEFS_H
#include <semaphore.h>
#include <pthread.h>
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#include <sys/endian.h>
+#ifdef _BYTE_ORDER
+#define __BYTE_ORDER _BYTE_ORDER
+#endif
+#ifdef _LITTLE_ENDIAN
+#define __LITTLE_ENDIAN _LITTLE_ENDIAN
+#endif
+#else
#include <endian.h>
+#endif
#include "pkcs32.h"
// Both of the strings below have a length of 32 chars and must be

View file

@ -0,0 +1,23 @@
--- usr/lib/pkcs11/common/loadsave.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/common/loadsave.c 2010-10-20 00:11:28.399983780 +0900
@@ -301,11 +301,9 @@
#include <string.h>
#include <strings.h>
#include <unistd.h>
-#include <alloca.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ipc.h>
-#include <sys/file.h>
#include <errno.h>
#include <pwd.h>
@@ -328,7 +326,7 @@
// Set absolute permissions or rw-rw-r--
fchmod(file,S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH);
- grp = getgrnam("pkcs11"); // Obtain the group id
+ grp = getgrnam(PKCS11GROUP); // Obtain the group id
if (grp){
fchown(file,getuid(),grp->gr_gid); // set ownership to root, and pkcs11 group
}

View file

@ -0,0 +1,52 @@
--- usr/lib/pkcs11/common/new_host.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/common/new_host.c 2010-10-20 00:16:08.274985517 +0900
@@ -576,7 +576,7 @@
struct group *grp;
int rc = 0;
gid_t gid,egid;
- grp = getgrnam("pkcs11");
+ grp = getgrnam(PKCS11GROUP);
if (grp) {
// Check for member of group..
// SAB get login seems to not work with some
@@ -1064,7 +1064,19 @@
//
object_mgr_destroy_token_objects();
#if 0 /* TODO: Implement delete_all_files_in_dir() */
+#if HAVE_ASPRINTF
local_rc = asprintf(&pk_full_path, "%s/%s", pk_dir, PK_LITE_OBJ_DIR);
+#else
+ pk_full_path = malloc(1024);
+ if( pk_full_path != NULL ) {
+ local_rc = snprintf(pk_full_path, 1023, "%s/%s",
+ pk_dir, PK_LITE_OBJ_DIR);
+ if( local_rc == -1 ) free(pk_full_path);
+ }
+ else {
+ local_rc = -1;
+ }
+#endif
if (local_rc == -1) {
rc = CKR_HOST_MEMORY;
goto out;
@@ -1075,8 +1087,20 @@
goto out;
}
#endif
+#if HAVE_ASPRINTF
local_rc = asprintf(&s, "%s %s/%s/* > /dev/null 2>&1", DEL_CMD, pk_dir,
PK_LITE_OBJ_DIR);
+#else
+ s = malloc(1024);
+ if( s != NULL ) {
+ local_rc = snprintf(s, 1023, "%s %s/%s/* > /dev/null 2>&1",
+ DEL_CMD, pk_dir, PK_LITE_OBJ_DIR);
+ if( local_rc == -1 ) free(s);
+ }
+ else {
+ local_rc = -1;
+ }
+#endif
if (local_rc == -1) {
rc = CKR_HOST_MEMORY;
goto out;

View file

@ -0,0 +1,15 @@
--- usr/lib/pkcs11/common/tok_spec_struct.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/common/tok_spec_struct.h 2010-10-20 00:17:28.288984976 +0900
@@ -308,9 +308,9 @@
#define _TOK_SPECIFIC_STRUCT
struct token_specific_struct{
- CK_BYTE token_directory[PATH_MAX]; // Used to be in the token_local.h as a #def
- CK_BYTE token_subdir[PATH_MAX]; // subdirectory
- CK_BYTE token_debug_tag[PATH_MAX]; // debug logging tag
+ CK_BYTE *token_directory; // Used to be in the token_local.h as a #def
+ CK_BYTE *token_subdir; // subdirectory
+ CK_BYTE *token_debug_tag; // debug logging tag
CK_RV (*t_init)(char *,CK_SLOT_ID); // Initialization function
int (*t_slot2local)(); // convert the PKCS#11 slot to a local index

View file

@ -0,0 +1,29 @@
--- usr/lib/pkcs11/common/utility.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/common/utility.c 2010-10-20 00:19:02.740983592 +0900
@@ -302,6 +302,26 @@
#include <errno.h>
#include <pwd.h>
+#include <fcntl.h>
+
+#ifdef __sun
+#define LOCK_EX F_LOCK
+#define LOCK_UN F_ULOCK
+#define flock(fd, func) lockf(fd, func, 0)
+#endif
+
+#ifndef LOCK_SH
+#define LOCK_SH 1 /* shared lock */
+#endif
+#ifndef LOCK_EX
+#define LOCK_EX 2 /* exclusive lock */
+#endif
+#ifndef LOCK_NB
+#define LOCK_NB 4 /* don't block when locking */
+#endif
+#ifndef LOCK_UN
+#define LOCK_UN 8 /* unlock */
+#endif
#include "pkcs11types.h"
#include "defs.h"

View file

@ -0,0 +1,18 @@
--- usr/lib/pkcs11/cr_stdll/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/cr_stdll/Makefile.am 2010-10-20 00:20:46.987982761 +0900
@@ -2,13 +2,13 @@
opencryptoki_stdll_libpkcs11_cr_la_LDFLAGS = $(LCRYPTO) $(CR_LIB_DIRS) \
-nostartfiles -shared -Wl,-Bsymbolic -Wl,-soname,PKCS11_BC.so.1 -lc \
--lpthread -lsocketarmor -ldl -lcrypto
+-lpthread -lsocketarmor -lcrypto
VARIANT = -DSHALLOW=0 -DSWTOK=1 -DLITE=0
# Not all versions of automake observe libname_CFLAGS
opencryptoki_stdll_libpkcs11_cr_la_CFLAGS = -DSPINXPL -DDEV \
--D_THREAD_SAFE -fPIC $(VARIANT) -DNOCDMF -DNOMD2 -DNODSA -DDEBUGON
+-D_THREAD_SAFE $(FPIC) $(VARIANT) -DNOCDMF -DNOMD2 -DNODSA -DDEBUGON
opencryptoki_stdll_libpkcs11_cr_la_SOURCES = ../common/asn1.c \
../common/cert.c ../common/hwf_obj.c ../common/dp_obj.c \

View file

@ -0,0 +1,16 @@
--- usr/lib/pkcs11/ica_s390_stdll/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/ica_s390_stdll/Makefile.am 2010-10-20 00:22:00.867981839 +0900
@@ -2,11 +2,11 @@
opencryptoki_stdll_libpkcs11_ica_la_LDFLAGS = $(LCRYPTO) \
$(ICA_LIB_DIRS) -nostartfiles -shared -Wl,-Bsymbolic -Wl,-soname,$@ \
--Wl,-Bsymbolic -lc -lpthread -lica -ldl -lcrypto
+-Wl,-Bsymbolic -lc -lpthread -lica -lcrypto
# Not all versions of automake observe libname_CFLAGS
opencryptoki_stdll_libpkcs11_ica_la_CFLAGS = -DSPINXPL -DDEV \
--D_THREAD_SAFE -fPIC -DSHALLOW=0 -DSWTOK=0 -DLITE=1 -DNODH \
+-D_THREAD_SAFE $(FPIC) -DSHALLOW=0 -DSWTOK=0 -DLITE=1 -DNODH \
-DNOCDMF -DNOMD2 -DNODSA -DSTDLL_NAME=\"icatok\"
opencryptoki_stdll_libpkcs11_ica_la_SOURCES = ../common/asn1.c \

View file

@ -0,0 +1,21 @@
--- usr/lib/pkcs11/ica_stdll/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/ica_stdll/Makefile.am 2010-10-20 00:23:51.161996275 +0900
@@ -2,15 +2,15 @@
opencryptoki_stdll_libpkcs11_ica_la_LDFLAGS = $(LCRYPTO) \
$(ICA_LIB_DIRS) -nostartfiles -shared -Wl,-Bsymbolic \
--Wl,-soname,PKCS11_ICA.so.1 -lc -lpthread -ldl -lica
+-Wl,-soname,PKCS11_ICA.so.1 -lc -lpthread -lica
# Not all versions of automake observe libname_CFLAGS
opencryptoki_stdll_libpkcs11_ica_la_CFLAGS = -DSPINXPL -DDEV \
--D_THREAD_SAFE -fPIC -DSHALLOW=0 -DSWTOK=0 -DLITE=1 -DNOCDMF -DNOMD2 \
+-D_THREAD_SAFE $(FPIC) -DSHALLOW=0 -DSWTOK=0 -DLITE=1 -DNOCDMF -DNOMD2 \
-DNODSA -DNOAES -DNODH -DNORIPE -DSTDLL_NAME=\"icatok\"
# Not all versions of automake observe libname_CFLAGS
-AM_CFLAGS = -DSPINXPL -DDEV -D_THREAD_SAFE -fPIC -DSHALLOW=0 -DSWTOK=0 \
+AM_CFLAGS = -DSPINXPL -DDEV -D_THREAD_SAFE $(FPIC) -DSHALLOW=0 -DSWTOK=0 \
-DLITE=1 -DNOCDMF -DNOMD2 -DNODSA -DNOAES -DNODH -DNORIPE
opencryptoki_stdll_libpkcs11_ica_la_SOURCES= ../common/asn1.c \

View file

@ -0,0 +1,11 @@
--- usr/lib/pkcs11/soft_stdll/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/soft_stdll/Makefile.am 2010-10-20 00:25:03.227984225 +0900
@@ -7,7 +7,7 @@
opencryptoki_stdll_libpkcs11_sw_la_CFLAGS = -DSPINXPL -DDEV -D_THREAD_SAFE \
-DSHALLOW=0 -DSWTOK=1 -DLITE=0 \
-DNOCDMF -DNOMD2 -DNODSA -DNORIPE \
- -DDEBUGON -fPIC \
+ -DDEBUGON $(FPIC) \
-I/usr/include -I. \
-I../../../include/pkcs11/stdll \
-I../../../include/pkcs11 \

View file

@ -0,0 +1,28 @@
--- usr/lib/pkcs11/tpm_stdll/host_defs.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/tpm_stdll/host_defs.h 2010-10-20 00:26:48.474982648 +0900
@@ -2,13 +2,25 @@
/* (C) COPYRIGHT International Business Machines Corp. 2001, 2002, 2005*/
+#include <sys/types.h>
#include <sys/mman.h>
#ifndef _HOST_DEFS_H
#define _HOST_DEFS_H
#include <semaphore.h>
#include <pthread.h>
+
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#include <sys/endian.h>
+#ifdef _BYTE_ORDER
+#define __BYTE_ORDER _BYTE_ORDER
+#endif
+#ifdef _LITTLE_ENDIAN
+#define __LITTLE_ENDIAN _LITTLE_ENDIAN
+#endif
+#else
#include <endian.h>
+#endif
#include "pkcs32.h"
// Both of the strings below have a length of 32 chars and must be

View file

@ -0,0 +1,11 @@
--- usr/lib/pkcs11/tpm_stdll/loadsave.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/tpm_stdll/loadsave.c 2010-10-20 00:27:47.109983972 +0900
@@ -339,7 +339,7 @@
fchmod(file,S_IRUSR|S_IWUSR);
#if 0
- grp = getgrnam("pkcs11"); // Obtain the group id
+ grp = getgrnam(PKCS11GROUP); // Obtain the group id
if (grp){
fchown(file,getuid(),grp->gr_gid); // set ownership to root, and pkcs11 group
}

View file

@ -0,0 +1,11 @@
--- usr/lib/pkcs11/tpm_stdll/new_host.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/tpm_stdll/new_host.c 2010-10-20 00:29:17.108984288 +0900
@@ -356,7 +356,7 @@
int rc = 0;
int index = 0;
gid_t gid,egid;
- grp = getgrnam("pkcs11");
+ grp = getgrnam(PKCS11GROUP);
if ( grp ) {
// Check for member of group..

View file

@ -0,0 +1,15 @@
--- usr/lib/pkcs11/tpm_stdll/tok_spec_struct.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/tpm_stdll/tok_spec_struct.h 2010-10-20 00:30:22.991986453 +0900
@@ -33,9 +33,9 @@
#define _TOK_SPECIFIC_STRUCT
struct token_specific_struct{
- CK_BYTE token_directory[PATH_MAX]; // Used to be in the token_local.h as a #def
- CK_BYTE token_subdir[PATH_MAX]; // subdirectory
- CK_BYTE token_debug_tag[PATH_MAX]; // debug logging tag
+ CK_BYTE *token_directory; // Used to be in the token_local.h as a #def
+ CK_BYTE *token_subdir; // subdirectory
+ CK_BYTE *token_debug_tag; // debug logging tag
CK_RV (*t_init)(char *,CK_SLOT_ID); // Initialization function
int (*t_slot2local)(); // convert the PKCS#11 slot to a local index

View file

@ -0,0 +1,30 @@
--- usr/lib/pkcs11/tpm_stdll/utility.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/lib/pkcs11/tpm_stdll/utility.c 2010-10-20 00:33:02.810983787 +0900
@@ -44,6 +44,27 @@
#include "tok_spec_struct.h"
#include "pkcs32.h"
+#include <fcntl.h>
+
+#ifdef __sun
+#define LOCK_EX F_LOCK
+#define LOCK_UN F_ULOCK
+#define flock(fd, func) lockf(fd, func, 0)
+#endif
+
+#ifndef LOCK_SH
+#define LOCK_SH 1 /* shared lock */
+#endif
+#ifndef LOCK_EX
+#define LOCK_EX 2 /* exclusive lock */
+#endif
+#ifndef LOCK_NB
+#define LOCK_NB 4 /* don't block when locking */
+#endif
+#ifndef LOCK_UN
+#define LOCK_UN 8 /* unlock */
+#endif
+
#if (SPINXPL)
#include <sys/file.h>
#endif

View file

@ -0,0 +1,11 @@
--- usr/sbin/pkcs11_startup/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcs11_startup/Makefile.am 2010-10-22 00:59:30.397048865 +0900
@@ -12,6 +12,8 @@
-e s!\@ID\@!"@ID@"!g \
-e s!\@CAT\@!"@CAT@"!g \
-e s!\@SED\@!"@SED@"!g \
+ -e s!\@PKCS11USER\@!"@PKCS11USER@"!g \
+ -e s!\@PKCS11GROUP\@!"@PKCS11GROUP@"!g \
-e s!\@GROUPADD\@!"@GROUPADD@"!g \
-e s!\@USERMOD\@!"@USERMOD@"!g < $< > $@-t
@CHMOD@ +x $@-t

View file

@ -0,0 +1,41 @@
--- usr/sbin/pkcs11_startup/pkcs11_startup.in.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcs11_startup/pkcs11_startup.in 2010-10-22 00:57:35.508983672 +0900
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
#
#
@@ -310,29 +310,20 @@
# Create the pkcs11 group if it does not exist...
-cat /etc/group|grep pkcs11 >/dev/null 2>&1
+cat /etc/group|grep @PKCS11GROUP@ >/dev/null 2>&1
rc=$?
if [ $rc = 1 ]
then
if [ -x @GROUPADD@ ]
then
- @GROUPADD@ pkcs11 >/dev/null 2>&1
+ @GROUPADD@ @PKCS11GROUP@ >/dev/null 2>&1
else
- echo "Couldn't execute @GROUPADD@. Please add the group 'pkcs11' manually."
+ echo "Couldn't execute @GROUPADD@. Please add the group '@PKCS11GROUP@' manually."
fi
fi
-if [ -x @USERMOD@ -a -x @ID@ ]
-then
- # add the pkcs group
- # replace spaces by commas
- @USERMOD@ -G $( @ID@ --groups --name root | @SED@ -e 'y/ /,/'),pkcs11 root
-else
- echo "Couldn't execute @USERMOD@. Please add root to the group 'pkcs11' manually."
-fi
-
# For each card run the status command and if successful
# create the odm stanza for the file

View file

@ -0,0 +1,142 @@
--- usr/sbin/pkcs_slot/pkcs_slot.in.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcs_slot/pkcs_slot.in 2010-10-22 00:42:38.286985256 +0900
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
#
#
@@ -360,7 +360,7 @@
if [ ! -d @localstatedir@/lib/opencryptoki ]
then
@MKDIR_P@ @localstatedir@/lib/opencryptoki
- @CHGRP@ pkcs11 @localstatedir@/lib/opencryptoki
+ @CHGRP@ @PKCS11GROUP@ @localstatedir@/lib/opencryptoki
@CHMOD@ -R g+rwX @localstatedir@/lib/opencryptoki
fi
@@ -372,9 +372,9 @@
if [ $? -ne 0 ]
then
mkdir $SOFT_DIR
- @CHGRP@ pkcs11 $SOFT_DIR
+ @CHGRP@ @PKCS11GROUP@ $SOFT_DIR
mkdir "$SOFT_DIR"/TOK_OBJ
- @CHGRP@ pkcs11 "$SOFT_DIR"/TOK_OBJ
+ @CHGRP@ @PKCS11GROUP@ "$SOFT_DIR"/TOK_OBJ
fi
SYS_SLOT="Soft"
fi
@@ -386,7 +386,7 @@
if [ $? -ne 0 ]
then
mkdir $TPM_DIR
- @CHGRP@ pkcs11 $TPM_DIR
+ @CHGRP@ @PKCS11GROUP@ $TPM_DIR
fi
SYS_SLOT="TPM"
fi
@@ -397,7 +397,7 @@
if [ $? -ne 0 ]
then
mkdir $CCA_DIR
- @CHGRP@ pkcs11 $CCA_DIR
+ @CHGRP@ @PKCS11GROUP@ $CCA_DIR
mkdir "$CCA_DIR"/TOK_OBJ
@CHGRP@ pkcs11 "$CCA_DIR"/TOK_OBJ
fi
@@ -406,7 +406,7 @@
# If we are using a shallow device, make sure that the directory
# to store token objects is available, if not create it and change
-# the ownership to the pkcs11 group
+# the ownership to the @PKCS11GROUP@ group
if [ $DEPTH = "ica" ]
@@ -415,9 +415,9 @@
if [ $? -ne 0 ]
then
mkdir $ICA_DIR
- @CHGRP@ pkcs11 $ICA_DIR
+ @CHGRP@ @PKCS11GROUP@ $ICA_DIR
mkdir "$ICA_DIR"/TOK_OBJ
- @CHGRP@ pkcs11 "$ICA_DIR"/TOK_OBJ
+ @CHGRP@ @PKCS11GROUP@ "$ICA_DIR"/TOK_OBJ
fi
SYS_SLOT="ICA"
fi
@@ -428,9 +428,9 @@
if [ $? -ne 0 ]
then
mkdir $BCOM_DIR
- @CHGRP@ pkcs11 $BCOM_DIR
+ @CHGRP@ @PKCS11GROUP@ $BCOM_DIR
mkdir "$BCOM_DIR"/TOK_OBJ
- @CHGRP@ pkcs11 "$BCOM_DIR"/TOK_OBJ
+ @CHGRP@ @PKCS11GROUP@ "$BCOM_DIR"/TOK_OBJ
fi
SYS_SLOT="BCOM"
fi
@@ -441,9 +441,9 @@
if [ $? -ne 0 ]
then
mkdir $AEP_DIR
- @CHGRP@ pkcs11 $AEP_DIR
+ @CHGRP@ @PKCS11GROUP@ $AEP_DIR
mkdir "$AEP_DIR"/TOK_OBJ
- @CHGRP@ pkcs11 "$AEP_DIR"/TOK_OBJ
+ @CHGRP@ @PKCS11GROUP@ "$AEP_DIR"/TOK_OBJ
fi
SYS_SLOT="AEP"
fi
@@ -454,9 +454,9 @@
if [ $? -ne 0 ]
then
mkdir $CR_DIR
- @CHGRP@ pkcs11 $CR_DIR
+ @CHGRP@ @PKCS11GROUP@ $CR_DIR
mkdir "$CR_DIR"/TOK_OBJ
- @CHGRP@ pkcs11 "$CR_DIR"/TOK_OBJ
+ @CHGRP@ @PKCS11GROUP@ "$CR_DIR"/TOK_OBJ
fi
SYS_SLOT="CRNT"
fi
@@ -477,29 +477,29 @@
if [ $DEPTH = "deep" ]
then
-echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|$DEVICE|$DEEP4758_DLL_FN|$DEEP4758_INIT" >>$CFGFILE
+echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|$DEVICE|$DEEP4758_DLL|$DEEP4758_INIT" >>$CFGFILE
elif [ $DEPTH = "ica" ]
then
-echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$ICA_DLL_FN|$ICA_INIT" >>$CFGFILE
+echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$ICA_DLL|$ICA_INIT" >>$CFGFILE
elif [ $DEPTH = "bcom" ]
then
-echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$BCOM_DLL_FN|$BCOM_INIT" >>$CFGFILE
+echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$BCOM_DLL|$BCOM_INIT" >>$CFGFILE
elif [ $DEPTH = "aep" ]
then
-echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$AEP_DLL_FN|$AEP_INIT" >>$CFGFILE
+echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$AEP_DLL|$AEP_INIT" >>$CFGFILE
elif [ $DEPTH = "cr" ]
then
-echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$CR_DLL_FN|$CR_INIT" >>$CFGFILE
+echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$CR_DLL|$CR_INIT" >>$CFGFILE
elif [ $DEPTH = "soft" ]
then
-echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|FALSE|0|0|1|1|NONE|$SOFT_DLL_FN|$SOFT_INIT" >>$CFGFILE
+echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|FALSE|0|0|1|1|NONE|$SOFT_DLL|$SOFT_INIT" >>$CFGFILE
elif [ $DEPTH = "tpm" ]
then
-echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$TPM_DLL_FN|$TPM_INIT" >>$CFGFILE
+echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$TPM_DLL|$TPM_INIT" >>$CFGFILE
elif [ $DEPTH = "cca" ]
then
-echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$CCA_DLL_FN|$CCA_INIT" >>$CFGFILE
+echo "TRUE|0|$SLOT_DESCRIPTION|$MANUFACTURER|TRUE|FALSE|TRUE|0|0|1|1|NONE|$CCA_DLL|$CCA_INIT" >>$CFGFILE
fi
@CHMOD@ -R g+wrX @localstatedir@/lib/opencryptoki

View file

@ -0,0 +1,10 @@
--- usr/sbin/pkcsconf/Makefile.am.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcsconf/Makefile.am 2010-10-20 00:46:34.600985372 +0900
@@ -1,6 +1,6 @@
sbin_PROGRAMS=pkcsconf
-pkcsconf_LDFLAGS = -lpthread -ldl
+pkcsconf_LDFLAGS = -lpthread
# Not all versions of automake observe sbinname_CFLAGS
pkcsconf_CFLAGS = -DSPINXPL -D_THREAD_SAFE -DDEBUG -DDEV -DAPI

View file

@ -0,0 +1,11 @@
--- usr/sbin/pkcsconf/pkcsconf.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcsconf/pkcsconf.c 2010-10-20 00:47:46.462984231 +0900
@@ -654,6 +654,8 @@
free (newpin2);
}
+ cleanup();
+
return rc;
}

View file

@ -0,0 +1,107 @@
--- usr/sbin/pkcsslotd/err.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcsslotd/err.c 2010-10-20 01:17:17.245985003 +0900
@@ -288,6 +288,7 @@
/* (C) COPYRIGHT International Business Machines Corp. 2001 */
+#include <signal.h>
#include "pthread.h"
@@ -331,14 +332,30 @@
CONSTINFO(ERANGE),
CONSTINFO(ENOMSG),
CONSTINFO(EIDRM),
+#ifdef ECHRNG
CONSTINFO(ECHRNG),
+#endif
+#ifdef EL2NSYNC
CONSTINFO(EL2NSYNC),
+#endif
+#ifdef EL3HLT
CONSTINFO(EL3HLT),
+#endif
+#ifdef EL3RST
CONSTINFO(EL3RST),
+#endif
+#ifdef ELNRNG
CONSTINFO(ELNRNG),
+#endif
+#ifdef EUNATCH
CONSTINFO(EUNATCH),
+#endif
+#ifdef ENOCSI
CONSTINFO(ENOCSI),
+#endif
+#ifdef EL2HLT
CONSTINFO(EL2HLT),
+#endif
CONSTINFO(EDEADLK),
CONSTINFO(ESTALE),
CONSTINFO(EWOULDBLOCK),
@@ -369,7 +386,9 @@
CONSTINFO(ECONNREFUSED),
CONSTINFO(EHOSTDOWN),
CONSTINFO(EHOSTUNREACH),
+#ifdef ERESTART
CONSTINFO(ERESTART),
+#endif
CONSTINFO(EUSERS),
CONSTINFO(ELOOP),
CONSTINFO(ENAMETOOLONG),
@@ -380,16 +399,34 @@
CONSTINFO(ETOOMANYREFS),
CONSTINFO(EILSEQ),
CONSTINFO(ECANCELED),
+#ifdef ENOSR
CONSTINFO(ENOSR),
+#endif
+#ifdef ETIME
CONSTINFO(ETIME),
+#endif
+#ifdef EBADMSG
CONSTINFO(EBADMSG),
+#endif
+#ifdef EPROTO
CONSTINFO(EPROTO),
+#endif
+#ifdef ENODATA
CONSTINFO(ENODATA),
+#endif
+#ifdef ENOSTR
CONSTINFO(ENOSTR),
+#endif
CONSTINFO(ENOTSUP),
+#ifdef EMULTIHOP
CONSTINFO(EMULTIHOP),
+#endif
+#ifdef ENOLINK
CONSTINFO(ENOLINK),
+#endif
+#ifdef EOVERFLOW
CONSTINFO(EOVERFLOW),
+#endif
};
@@ -424,14 +461,20 @@
CONSTINFO(SIGXCPU),
CONSTINFO(SIGXFSZ),
CONSTINFO(SIGWINCH),
+#ifdef SIGPWR
CONSTINFO(SIGPWR),
+#endif
CONSTINFO(SIGUSR1),
CONSTINFO(SIGUSR2),
CONSTINFO(SIGPROF),
CONSTINFO(SIGVTALRM),
CONSTINFO(SIGIOT),
+#ifdef SIGCLD
CONSTINFO(SIGCLD),
+#endif
+#ifdef SIGPOLL
CONSTINFO(SIGPOLL),
+#endif
#if 0
CONSTINFO(SIG_DFL),
CONSTINFO(SIG_IGN),

View file

@ -0,0 +1,37 @@
--- usr/sbin/pkcsslotd/mutex.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcsslotd/mutex.c 2010-10-20 01:19:28.613984045 +0900
@@ -293,6 +293,26 @@
#include "pkcsslotd.h"
+#include <fcntl.h>
+
+#ifdef __sun
+#define LOCK_EX F_LOCK
+#define LOCK_UN F_ULOCK
+#define flock(fd, func) lockf(fd, func, 0)
+#endif
+
+#ifndef LOCK_SH
+#define LOCK_SH 1 /* shared lock */
+#endif
+#ifndef LOCK_EX
+#define LOCK_EX 2 /* exclusive lock */
+#endif
+#ifndef LOCK_NB
+#define LOCK_NB 4 /* don't block when locking */
+#endif
+#ifndef LOCK_UN
+#define LOCK_UN 8 /* unlock */
+#endif
#if SYSVSEM
#error "Caveat Emptor... this does not work"
@@ -315,7 +335,6 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <sys/file.h>
static int xplfd=-1;
#endif

View file

@ -0,0 +1,11 @@
--- usr/sbin/pkcsslotd/pkcsslotd.h.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcsslotd/pkcsslotd.h 2010-10-20 01:20:18.253984238 +0900
@@ -353,7 +353,7 @@
#include <nl_types.h>
#include <sys/ipc.h>
-#include <linux/limits.h>
+#include <limits.h>
#include <sys/shm.h>
#include <sys/stat.h>
#include <sys/types.h>

View file

@ -0,0 +1,35 @@
--- usr/sbin/pkcsslotd/shmem.c.orig 2010-07-29 21:28:41.000000000 +0900
+++ usr/sbin/pkcsslotd/shmem.c 2010-10-20 01:23:03.203984101 +0900
@@ -338,9 +338,9 @@
}
// SAB Get the group information for the PKCS#11 group... fail if
// it does not exist
- grp = getgrnam("pkcs11");
+ grp = getgrnam(PKCS11GROUP);
if ( !grp ) {
- ErrLog("Group PKCS#11 does not exist ");
+ ErrLog("Group " PKCS11GROUP " does not exist ");
return FALSE; // Group does not exist... setup is wrong..
}
@@ -409,9 +409,9 @@
int i;
char *buffer;
- grp = getgrnam("pkcs11");
+ grp = getgrnam(PKCS11GROUP);
if ( !grp ) {
- ErrLog("Group \"pkcs11\" does not exist! Please run %s/pkcs11_startup.",
+ ErrLog("Group " PKCS11GROUP " does not exist! Please run %s/pkcs11_startup.",
SBIN_PATH);
return FALSE; // Group does not exist... setup is wrong..
}
@@ -431,7 +431,7 @@
return FALSE;
}
if (fchown(fd, 0, grp->gr_gid) == -1) {
- ErrLog("%s: fchown(%s, root, pkcs11): %s", __FUNCTION__, MAPFILENAME,
+ ErrLog("%s: fchown(%s, root, %s): %s", __FUNCTION__, MAPFILENAME, PKCS11GROUP,
strerror(errno));
close(fd);
return FALSE;

View file

@ -0,0 +1,33 @@
#!/bin/sh
# $FreeBSD$
#
# PROVIDE: pkcsslotd
# REQUIRE: LOGIN tcsd
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# pkcsslotd_enable (bool): Set to NO by default.
# Set it to YES to enable pkcsslotd.
#
. /etc/rc.subr
name=pkcsslotd
rcvar=`set_rcvar`
command=%%PREFIX%%/sbin/${name}
start_precmd=${name}_prestart
pkcsslotd_prestart () {
[ -f %%PREFIX%%/var/lib/opencryptoki/pk_config_data ] || \
%%PREFIX%%/sbin/pkcs11_startup
}
load_rc_config ${name}
: pkcsslotd_enable=${pkcsslotd_enable-"NO"}
run_rc_command "$1"

View file

@ -0,0 +1,7 @@
To run pkcsslotd automatically, add the following line to /etc/rc.conf
pkcsslotd_enable="YES"
To use PKCS#11 token, add your_account to '%%GROUPS%%' like following:
# pw groupadd %%GROUPS%% -m your_account

View file

@ -0,0 +1 @@
openCryptoki is a PKCS#11 implementation.

View file

@ -0,0 +1,34 @@
include/opencryptoki/apiclient.h
include/opencryptoki/pkcs11.h
include/opencryptoki/pkcs11types.h
lib/libopencryptoki.la
lib/libopencryptoki.so
lib/libopencryptoki.so.0
lib/opencryptoki/PKCS11_API.so
lib/opencryptoki/libopencryptoki.la
lib/opencryptoki/libopencryptoki.so
lib/opencryptoki/libopencryptoki.so.0
lib/opencryptoki/methods
lib/opencryptoki/stdll/PKCS11_SW.so
lib/opencryptoki/stdll/libpkcs11_sw.la
lib/opencryptoki/stdll/libpkcs11_sw.so
lib/opencryptoki/stdll/libpkcs11_sw.so.0
lib/opencryptoki/stdll/PKCS11_TPM.so
lib/opencryptoki/stdll/libpkcs11_tpm.la
lib/opencryptoki/stdll/libpkcs11_tpm.so
lib/opencryptoki/stdll/libpkcs11_tpm.so.0
lib/pkcs11/PKCS11_API.so
lib/pkcs11/libopencryptoki.so
lib/pkcs11/methods
lib/pkcs11/stdll
sbin/pkcs11_startup
sbin/pkcs_slot
sbin/pkcsconf
sbin/pkcsslotd
@dirrmtry var/lib/opencryptoki
@dirrmtry var/lib
@dirrmtry var
@dirrm lib/pkcs11
@dirrm lib/opencryptoki/stdll
@dirrm lib/opencryptoki
@dirrm include/opencryptoki