diff options
author | Will Andrews <will@FreeBSD.org> | 2003-01-30 22:37:07 +0000 |
---|---|---|
committer | Will Andrews <will@FreeBSD.org> | 2003-01-30 22:37:07 +0000 |
commit | a79f0d9fb55c1325fd33335c16b9bda6532f0d66 (patch) | |
tree | 490040312901ec900d8e928255264fcc03666470 | |
parent | e2c8af71c963acffb546dd0940d132e1fbb80a96 (diff) | |
download | ports-a79f0d9fb55c1325fd33335c16b9bda6532f0d66.tar.gz ports-a79f0d9fb55c1325fd33335c16b9bda6532f0d66.zip |
Add pinentry 0.6.7, a collection of simple PIN or passphrase entry
dialogs.
Notes
Notes:
svn path=/head/; revision=74317
20 files changed, 293 insertions, 0 deletions
diff --git a/security/Makefile b/security/Makefile index 07cec024e653..aeace252ae43 100644 --- a/security/Makefile +++ b/security/Makefile @@ -231,6 +231,7 @@ SUBDIR += pgpgpg SUBDIR += pgpin SUBDIR += pidentd + SUBDIR += pinentry SUBDIR += pks SUBDIR += pktsuckers SUBDIR += poc diff --git a/security/pinentry/Makefile b/security/pinentry/Makefile new file mode 100644 index 000000000000..4bba97a95676 --- /dev/null +++ b/security/pinentry/Makefile @@ -0,0 +1,56 @@ +# New ports collection makefile for: pinentry +# Date created: 29 Jan 2003 +# Whom: michaelnottebrock@gmx.net +# +# $FreeBSD$ +# + +PORTNAME= pinentry +PORTVERSION= 0.6.7 +CATEGORIES= security +MASTER_SITES= ftp://ftp.gnupg.org/gcrypt/pinentry/ \ + http://tigress.com/lofi/ +DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz \ + common.tar.gz \ + jnlib.tar.gz + +MAINTAINER= michaelnottebrock@gmx.net + +BUILD_DEPENDS= autoconf:${PORTSDIR}/devel/autoconf \ + automake:${PORTSDIR}/devel/automake +LIB_DEPENDS= gcrypt.6:${PORTSDIR}/security/libgcrypt \ + gnugetopt.1:${PORTSDIR}/devel/libgnugetopt \ + ksba.7:${PORTSDIR}/security/libksba + +WANT_GTK= yes +USE_LIBTOOL= yes +USE_GMAKE= yes +INSTALLS_SHLIB= yes +USE_REINPLACE= yes +CFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib +LDFLAGS+= -L${LOCALBASE}/lib +CPPFLAGS+= -I${LOCALBASE}/include +CONFIGURE_ENV+= CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}" +CONFIGURE_ARGS+=--with-included-gettext=no + +.include <bsd.port.pre.mk> + +.if defined(WITH_QT) +#USE_QT_VER= 3 +BROKEN= The QT pinentry-helper is currently non-functional +.endif + +.if defined(HAVE_GTK) +USE_GTK= yes +.endif + +post-extract: + ${MV} ${WRKDIR}/common ${WRKSRC} + ${MV} ${WRKDIR}/jnlib ${WRKSRC} + +pre-configure: + ${REINPLACE_CMD} -e "s@-lpthread@${PTHREAD_LIBS}@g" \ + ${WRKSRC}/acinclude.m4 ${WRKSRC}/aclocal.m4 ${WRKSRC}/configure + cd ${WRKSRC}; ./autogen.sh + +.include <bsd.port.post.mk> diff --git a/security/pinentry/distinfo b/security/pinentry/distinfo new file mode 100644 index 000000000000..7e4289b719a7 --- /dev/null +++ b/security/pinentry/distinfo @@ -0,0 +1,3 @@ +MD5 (pinentry-0.6.7.tar.gz) = d1fd852644571ab7edf6c01f51078210 +MD5 (common.tar.gz) = 4f5171946f83dfe64761344d7e86af05 +MD5 (jnlib.tar.gz) = 9e8d48da4e6f8db94da64d444f4b3687 diff --git a/security/pinentry/files/patch-Makefile.am b/security/pinentry/files/patch-Makefile.am new file mode 100644 index 000000000000..1d5529d8cea6 --- /dev/null +++ b/security/pinentry/files/patch-Makefile.am @@ -0,0 +1,11 @@ +--- Makefile.am.orig Thu Jan 30 07:49:00 2003 ++++ Makefile.am Thu Jan 30 07:50:41 2003 +@@ -39,7 +39,7 @@ + pinentry_qt = + endif + +-SUBDIRS = assuan secmem pinentry ${pinentry_curses} \ ++SUBDIRS = jnlib assuan common secmem pinentry ${pinentry_curses} \ + ${pinentry_gtk} ${pinentry_qt} doc + + signed-dist: $(distdir).tar.gz.sig diff --git a/security/pinentry/files/patch-assuan::assuan-handler.c b/security/pinentry/files/patch-assuan::assuan-handler.c new file mode 100644 index 000000000000..3c73877a6b13 --- /dev/null +++ b/security/pinentry/files/patch-assuan::assuan-handler.c @@ -0,0 +1,27 @@ +--- assuan/assuan-handler.c.orig Thu Jan 30 07:58:09 2003 ++++ assuan/assuan-handler.c Thu Jan 30 07:58:27 2003 +@@ -29,6 +29,24 @@ + #define digitp(a) ((a) >= '0' && (a) <= '9') + + ++#if !HAVE_FOPENCOOKIE ++/* Provide structure for our dummy replacement function. Usually this ++ is defined in ../common/util.h but assuan should be self ++ contained. */ ++/* Fixme: Remove fopencoookie :-(( */ ++typedef struct ++{ ++ ssize_t (*read)(void*,char*,size_t); ++ ssize_t (*write)(void*,const char*,size_t); ++ int (*seek)(void*,off_t*,int); ++ int (*close)(void*); ++} _IO_cookie_io_functions_t; ++typedef _IO_cookie_io_functions_t cookie_io_functions_t; ++FILE *fopencookie (void *cookie, const char *opentype, ++ cookie_io_functions_t funclist); ++#endif /*!HAVE_FOPENCOOKIE*/ ++ ++ + static int + dummy_handler (ASSUAN_CONTEXT ctx, char *line) + { diff --git a/security/pinentry/files/patch-assuan::assuan-socket-connect.c b/security/pinentry/files/patch-assuan::assuan-socket-connect.c new file mode 100644 index 000000000000..74acc38ea626 --- /dev/null +++ b/security/pinentry/files/patch-assuan::assuan-socket-connect.c @@ -0,0 +1,10 @@ +--- assuan/assuan-socket-connect.c.orig Wed Jan 29 15:30:12 2003 ++++ assuan/assuan-socket-connect.c Wed Jan 29 15:30:28 2003 +@@ -23,6 +23,7 @@ + #include <stddef.h> + #include <stdio.h> + #include <errno.h> ++#include <sys/types.h> + #include <sys/socket.h> + #include <sys/un.h> + #include <unistd.h> diff --git a/security/pinentry/files/patch-assuan::assuan-socket-server.c b/security/pinentry/files/patch-assuan::assuan-socket-server.c new file mode 100644 index 000000000000..af8a39751c34 --- /dev/null +++ b/security/pinentry/files/patch-assuan::assuan-socket-server.c @@ -0,0 +1,10 @@ +--- assuan/assuan-socket-server.c.orig Wed Jan 29 15:27:13 2003 ++++ assuan/assuan-socket-server.c Wed Jan 29 15:27:38 2003 +@@ -22,6 +22,7 @@ + #include <stdlib.h> + #include <stdio.h> + #include <errno.h> ++#include <sys/types.h> + #include <sys/socket.h> + #include <sys/un.h> + #include <unistd.h> diff --git a/security/pinentry/files/patch-assuan::mkerrors b/security/pinentry/files/patch-assuan::mkerrors new file mode 100644 index 000000000000..f5d45193a0d6 --- /dev/null +++ b/security/pinentry/files/patch-assuan::mkerrors @@ -0,0 +1,10 @@ +--- assuan/mkerrors.orig Thu Jan 30 07:49:26 2003 ++++ assuan/mkerrors Thu Jan 30 07:50:41 2003 +@@ -68,4 +68,5 @@ + return s; + } + +-EOF +\ No newline at end of file ++EOF ++ diff --git a/security/pinentry/files/patch-common::maperrors.c b/security/pinentry/files/patch-common::maperrors.c new file mode 100644 index 000000000000..3e49c27521da --- /dev/null +++ b/security/pinentry/files/patch-common::maperrors.c @@ -0,0 +1,10 @@ +--- common/maperror.c.orig Thu Jan 30 08:00:00 2003 ++++ common/maperror.c Thu Jan 30 08:00:15 2003 +@@ -210,7 +210,6 @@ + case GNUPG_Certificate_Expired: + rc = ASSUAN_Bad_Certificate; + break; +- case GNUPG_Bad_Certificate_Chain: rc = ASSUAN_Bad_Certificate_Chain; break; + case GNUPG_Missing_Certificate: rc = ASSUAN_Missing_Certificate; break; + case GNUPG_No_Data: rc = ASSUAN_No_Data_Available; break; + case GNUPG_Bad_Signature: rc = ASSUAN_Bad_Signature; break; diff --git a/security/pinentry/files/patch-configure.ac b/security/pinentry/files/patch-configure.ac new file mode 100644 index 000000000000..ad535e7cacf3 --- /dev/null +++ b/security/pinentry/files/patch-configure.ac @@ -0,0 +1,57 @@ +--- configure.ac.orig Thu Jan 30 07:49:12 2003 ++++ configure.ac Thu Jan 30 07:50:41 2003 +@@ -59,14 +59,6 @@ + AC_CHECK_FUNCS(seteuid stpcpy) + GNUPG_CHECK_MLOCK + +-dnl Checks for libassuan. +-AC_CHECK_FUNCS(fopencookie,,[ +- AC_MSG_ERROR([[ +-*** +-*** fopencookie(3) is needed to build this package. +-*** We will provide an replacement in a later release. +-***]])]) +- + dnl Checks for libsecmem. + GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF) + GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF) +@@ -217,9 +209,39 @@ + dnl dnl End of checks for Qt pinentry. + dnl fi + ++# Checks for typedefs, structures, and compiler characteristics. ++AC_C_CONST ++AC_C_INLINE ++AC_TYPE_SIZE_T ++AC_TYPE_SIGNAL ++AC_DECL_SYS_SIGLIST ++ ++GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF) ++GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF) ++GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF) ++ ++GNUPG_SYS_SO_PEERCRED ++ ++# Checks for library functions. ++ ++# These are needed by libjnlib - fixme: we should have a macros for them ++AC_CHECK_FUNCS(memicmp stpcpy strlwr strtoul memmove stricmp strtol) ++AC_CHECK_FUNCS(getrusage setrlimit stat setlocale) ++AC_CHECK_FUNCS(flockfile funlockfile) ++ ++AC_CHECK_FUNCS(sigaction sigprocmask) ++ ++AC_REPLACE_FUNCS(vasprintf) ++AC_REPLACE_FUNCS(fopencookie) ++# FIXME: Print a warning when fopencookie is not available. ++AC_REPLACE_FUNCS(mkdtemp) ++AC_REPLACE_FUNCS(fseeko ftello) ++AC_REPLACE_FUNCS(isascii) + + AC_CONFIG_FILES([ ++jnlib/Makefile + assuan/Makefile ++common/Makefile + secmem/Makefile + pinentry/Makefile + curses/Makefile diff --git a/security/pinentry/files/patch-curses::Makefile.am b/security/pinentry/files/patch-curses::Makefile.am new file mode 100644 index 000000000000..42222522344b --- /dev/null +++ b/security/pinentry/files/patch-curses::Makefile.am @@ -0,0 +1,12 @@ +--- curses/Makefile.am.orig Thu Jan 30 07:49:42 2003 ++++ curses/Makefile.am Thu Jan 30 07:50:41 2003 +@@ -23,7 +23,7 @@ + + AM_CPPFLAGS = $(NCURSES_INCLUDE) -I$(top_srcdir)/pinentry + LDADD = ../pinentry/libpinentry.a ../pinentry/libpinentry-curses.a \ +- ../assuan/libassuan.a ../secmem/libsecmem.a \ +- $(LIBCAP) $(LIBCURSES) $(LIBICONV) ++ ../assuan/libassuan.a ../secmem/libsecmem.a ../common/libcommon.a \ ++ $(LIBCAP) $(LIBCURSES) $(LIBICONV) -lgnugetopt + + pinentry_curses_SOURCES = pinentry-curses.c diff --git a/security/pinentry/files/patch-gtk::Makefile.am b/security/pinentry/files/patch-gtk::Makefile.am new file mode 100644 index 000000000000..8d7b22ebbcf7 --- /dev/null +++ b/security/pinentry/files/patch-gtk::Makefile.am @@ -0,0 +1,11 @@ +--- gtk/Makefile.am.orig Thu Jan 30 07:49:55 2003 ++++ gtk/Makefile.am Thu Jan 30 07:50:41 2003 +@@ -32,7 +32,7 @@ + AM_CPPFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) $(ncurses_include) \ + -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry + LDADD = ../pinentry/libpinentry.a ../assuan/libassuan.a ../secmem/libsecmem.a \ +- $(LIBCAP) $(GTK_LIBS) $(libcurses) ++ ../common/libcommon.a $(LIBCAP) $(GTK_LIBS) $(libcurses) -lgnugetopt + + pinentry_gtk_SOURCES = pinentry-gtk.c \ + gtksecentry.c gtksecentry.h diff --git a/security/pinentry/files/patch-pinentry::pinentry.c b/security/pinentry/files/patch-pinentry::pinentry.c new file mode 100644 index 000000000000..7eb174ed98c7 --- /dev/null +++ b/security/pinentry/files/patch-pinentry::pinentry.c @@ -0,0 +1,13 @@ +--- pinentry/pinentry.c.orig Thu Jan 30 08:36:45 2003 ++++ pinentry/pinentry.c Thu Jan 30 08:37:10 2003 +@@ -22,6 +22,10 @@ + #include <config.h> + #endif + ++#ifdef _GETOPT_H ++#undef _GETOPT_H ++#endif ++ + #include <errno.h> + #include <stdlib.h> + #include <string.h> diff --git a/security/pinentry/files/patch-qt::Makefile.am b/security/pinentry/files/patch-qt::Makefile.am new file mode 100644 index 000000000000..fd0629c05073 --- /dev/null +++ b/security/pinentry/files/patch-qt::Makefile.am @@ -0,0 +1,13 @@ +--- qt/Makefile.am.orig Thu Jan 30 07:50:05 2003 ++++ qt/Makefile.am Thu Jan 30 07:50:41 2003 +@@ -33,8 +33,8 @@ + AM_CPPFLAGS = -I$(top_srcdir)/assuan -I$(top_srcdir)/secmem $(QT_INCLUDES) $(ncurses_include) + AM_CXXFLAGS = $(QT_CXXFLAGS) + pinentry_qt_LDADD = $(top_builddir)/assuan/libassuan.a \ +- $(top_builddir)/secmem/libsecmem.a $(LIBCAP) \ +- $(QT_LIBS) $(libcurses) ++ $(top_builddir)/secmem/libsecmem.a $(top_builddir)/common/libcommon.a \ ++ $(LIBCAP) $(QT_LIBS) $(libcurses) -lgnugetopt + pinentry_qt_LDFLAGS = $(QT_LDFLAGS) + + pinentry_qt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ diff --git a/security/pinentry/files/patch-qt::main.cpp b/security/pinentry/files/patch-qt::main.cpp new file mode 100644 index 000000000000..be62eb2ae09f --- /dev/null +++ b/security/pinentry/files/patch-qt::main.cpp @@ -0,0 +1,15 @@ +--- qt/main.cpp.orig Thu Jan 30 09:25:31 2003 ++++ qt/main.cpp Thu Jan 30 09:26:10 2003 +@@ -157,6 +157,12 @@ + #ifdef FALLBACK_CURSES + if( pinentry_have_display (argc, argv) ) { + #endif ++ // Work around non-standard handling of DISPLAY ++ for( int i = 1; i < argc; ++i ) { ++ if( !strcmp( "--display", argv[i] ) ) { ++ argv[i] = "-display"; ++ } ++ } + return qt_main( argc, argv ); + #ifdef FALLBACK_CURSES + } else { diff --git a/security/pinentry/files/patch-qt::pinentrycontroller.cpp b/security/pinentry/files/patch-qt::pinentrycontroller.cpp new file mode 100644 index 000000000000..db9614385560 --- /dev/null +++ b/security/pinentry/files/patch-qt::pinentrycontroller.cpp @@ -0,0 +1,11 @@ +--- qt/pinentrycontroller.cpp.orig Thu Jan 30 09:25:51 2003 ++++ qt/pinentrycontroller.cpp Thu Jan 30 09:26:15 2003 +@@ -56,6 +56,8 @@ + + assuan_set_malloc_hooks( secmem_malloc, secmem_realloc, secmem_free ); + int rc = assuan_init_pipe_server( &_ctx, fds ); ++ assuan_set_log_stream (_ctx, stderr); ++ + if( rc ) { + qDebug(assuan_strerror( static_cast<AssuanError>(rc) )); + exit(-1); diff --git a/security/pinentry/files/patch-secmem::secmem.c b/security/pinentry/files/patch-secmem::secmem.c new file mode 100644 index 000000000000..c6736cc695aa --- /dev/null +++ b/security/pinentry/files/patch-secmem::secmem.c @@ -0,0 +1,10 @@ +--- secmem/secmem.c.orig Thu Jan 30 07:50:34 2003 ++++ secmem/secmem.c Thu Jan 30 07:50:41 2003 +@@ -42,6 +42,7 @@ + #else /* ORIGINAL_GPG_VERSION */ + + #include <sys/types.h> ++#include "../jnlib/types.h" + + typedef union { + int a; diff --git a/security/pinentry/pkg-comment b/security/pinentry/pkg-comment new file mode 100644 index 000000000000..2fe3f13455b1 --- /dev/null +++ b/security/pinentry/pkg-comment @@ -0,0 +1 @@ +A collection of simple PIN or passphrase entry dialogs diff --git a/security/pinentry/pkg-descr b/security/pinentry/pkg-descr new file mode 100644 index 000000000000..64fb071e8165 --- /dev/null +++ b/security/pinentry/pkg-descr @@ -0,0 +1,6 @@ +This is a collection of simple PIN or passphrase entry dialogs which +utilize the Assuan protocol as described by the aegypten project. + +WWW: http://www.gnupg.org/aegypten + +michaelnottebrock@gmx.net diff --git a/security/pinentry/pkg-plist b/security/pinentry/pkg-plist new file mode 100644 index 000000000000..d698934d4a72 --- /dev/null +++ b/security/pinentry/pkg-plist @@ -0,0 +1,6 @@ +bin/pinentry-curses +bin/pinentry-gtk +%%WITH_QT%%bin/pinentry-qt +@unexec install-info --delete %D/info/pinentry.info %D/info/dir +info/pinentry.info +@exec install-info %D/info/pinentry.info %D/info/dir |