Index: head/security/opencryptoki/Makefile =================================================================== --- head/security/opencryptoki/Makefile (revision 416761) +++ head/security/opencryptoki/Makefile (revision 416762) @@ -1,55 +1,60 @@ # Created by: Ralf Meister # $FreeBSD$ PORTNAME= opencryptoki PORTVERSION= 3.5 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= security MASTER_SITES= SF MAINTAINER= hrs@FreeBSD.org COMMENT= Open PKCS\#11 implementation library LICENSE= CPL LICENSE_NAME= Common Public License LICENSE_FILE= ${WRKSRC}/LICENSE LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept LIB_DEPENDS= libtspi.so:security/trousers USES= alias autoreconf gmake libtool tar:tgz USE_LDCONFIG= ${PREFIX}/lib/opencryptoki +USE_OPENSSL= yes +.if exists(/usr/include/openssl/md2.h) +WITH_OPENSSL_PORT=yes +.endif WRKSRC= ${WRKDIR}/${PORTNAME} INSTALL_TARGET= install-strip GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-swtok --enable-tpmtok \ --disable-crtok --disable-aeptok \ --disable-ccatok --disable-bcomtok \ --disable-pkcscca_migrate \ --with-lockdir=/var/run/opencryptoki \ --with-logdir=/var/log/opencryptoki \ --localstatedir=/var \ + --with-openssl=${OPENSSLBASE} \ --with-pkcs11user=${USERS} \ --with-pkcs11group=${GROUPS} \ ac_cv_path_CHGRP=true CFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib USE_RC_SUBR= pkcsslotd SUB_FILES= pkg-message SUB_LIST= USERS="${USERS}" GROUPS="${GROUPS}" PLIST_SUB= USERS="${USERS}" GROUPS="${GROUPS}" USERS= _pkcs11 GROUPS= _pkcs11 OPTIONS_DEFINE= LDAP OPTIONS_SUB= yes LDAP_CONFIGURE_ENABLE= icsf LDAP_USE= OPENLDAP=yes post-install: ${MV} ${STAGEDIR}${ETCDIR}/opencryptoki.conf \ ${STAGEDIR}${ETCDIR}/opencryptoki.conf.sample ${RMDIR} ${STAGEDIR}/var/run/opencryptoki/* \ ${STAGEDIR}/var/run/opencryptoki .include Index: head/security/opencryptoki/files/patch-usr-sbin-pkcsslotd-socket_server.c =================================================================== --- head/security/opencryptoki/files/patch-usr-sbin-pkcsslotd-socket_server.c (revision 416761) +++ head/security/opencryptoki/files/patch-usr-sbin-pkcsslotd-socket_server.c (revision 416762) @@ -1,11 +1,45 @@ ---- usr/sbin/pkcsslotd/socket_server.c.orig 2016-04-29 17:26:46 UTC -+++ usr/sbin/pkcsslotd/socket_server.c -@@ -337,7 +337,7 @@ int CreateListenerSocket (void) { +--- usr/sbin/pkcsslotd/socket_server.c.orig 2016-04-30 02:26:46.000000000 +0900 ++++ usr/sbin/pkcsslotd/socket_server.c 2016-06-12 07:33:22.000000000 +0900 +@@ -300,6 +300,9 @@ + #include + #include + #include ++#ifndef SOCK_NONBLOCK ++#include ++#endif + + #include "log.h" + #include "slotmgr.h" +@@ -314,11 +317,23 @@ + struct group *grp; + int socketfd; + ++#ifdef SOCK_NONBLOCK + socketfd = socket(PF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0); ++#else ++ socketfd = socket(PF_UNIX, SOCK_STREAM, 0); ++#endif + if (socketfd < 0) { + ErrLog("Failed to create listener socket, errno 0x%X.", errno); + return -1; + } ++#ifndef SOCK_NONBLOCK ++ if (fcntl(socketfd, F_SETFL, ++ fcntl(socketfd, F_GETFL) | O_NONBLOCK) < 0) { ++ ErrLog("Failed to set listener non-block, errno 0x%X.", errno); ++ close(socketfd); ++ return -1; ++ } ++#endif + if (unlink(SOCKET_FILE_PATH) && errno != ENOENT) { + ErrLog("Failed to unlink socket file, errno 0x%X.", errno); + close(socketfd); +@@ -337,7 +352,7 @@ // make socket file part of the pkcs11 group, and write accessable // for that group - grp = getgrnam("pkcs11"); + grp = getgrnam(PKCS11GROUP); if (!grp) { ErrLog("Group PKCS#11 does not exist"); DetachSocketListener(socketfd);