Add pinentry 0.6.7, a collection of simple PIN or passphrase entry

dialogs.
This commit is contained in:
Will Andrews 2003-01-30 22:37:07 +00:00
parent e2c8af71c9
commit a79f0d9fb5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=74317
20 changed files with 293 additions and 0 deletions

View file

@ -231,6 +231,7 @@
SUBDIR += pgpgpg
SUBDIR += pgpin
SUBDIR += pidentd
SUBDIR += pinentry
SUBDIR += pks
SUBDIR += pktsuckers
SUBDIR += poc

View file

@ -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>

View file

@ -0,0 +1,3 @@
MD5 (pinentry-0.6.7.tar.gz) = d1fd852644571ab7edf6c01f51078210
MD5 (common.tar.gz) = 4f5171946f83dfe64761344d7e86af05
MD5 (jnlib.tar.gz) = 9e8d48da4e6f8db94da64d444f4b3687

View file

@ -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

View file

@ -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)
{

View file

@ -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>

View file

@ -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>

View file

@ -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
+

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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>

View file

@ -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 \

View file

@ -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 {

View file

@ -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);

View file

@ -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;

View file

@ -0,0 +1 @@
A collection of simple PIN or passphrase entry dialogs

View file

@ -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

View file

@ -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