Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Jun 2001 17:32:45 +0200 (CEST)
From:      Anders Nordby <anders@fix.no>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/28229: New port: security/fpm
Message-ID:  <20010617153245.923693C8E@totem.fix.no>

next in thread | raw e-mail | index | archive | help

>Number:         28229
>Category:       ports
>Synopsis:       New port: security/fpm
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jun 17 08:40:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Anders Nordby
>Release:        FreeBSD 4.3-STABLE i386
>Organization:
Fluxpod Information eXchange
>Environment:

kern.osreldate: 430000 (4.3-STABLE)
kern.osreldate: 500018 (5.0-20010420-CURRENT)

>Description:

New port of fpm, Figaro's Password Manager. A GNOME application to securely
store and manage your passwords.

As I consider the makefiles/auto(conf|make|header) etc. stuff in this package
FUBAR, I took the liberty of overriding it all.

>How-To-Repeat:

	<Code/input/activities to reproduce the problem (multiple lines)>

>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	fpm
#	fpm/Makefile
#	fpm/distinfo
#	fpm/pkg-comment
#	fpm/pkg-descr
#	fpm/pkg-plist
#	fpm/files
#	fpm/files/patch-config.h
#	fpm/files/patch-blowfish.c
#
echo c - fpm
mkdir -p fpm > /dev/null 2>&1
echo x - fpm/Makefile
sed 's/^X//' >fpm/Makefile << 'END-of-fpm/Makefile'
X# New ports collection makefile for:	fpm
X# Date created:				10 June 2001
X# Whom:					Anders Nordby <anders@fix.no>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	fpm
XPORTVERSION=	0.53
XCATEGORIES=	security
XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=	${PORTNAME}
X
XMAINTAINER=	anders@fix.no
X
XUSE_GNOME=	yes
XUSE_X_PREFIX=	yes
X
XSOURCEFILES=	main.c fpm.c support.c interface.c passfile.c callbacks.c \
X		blowfish.c fpm_crypt.c fpm_gpw.c md5.c fpm_clist.c fpm_pref.c
XDOCS=		AUTHORS ChangeLog README TODO
X
XGNOME_CFLAGS?=	`${GNOME_CONFIG} --cflags gnomeui`
XGNOME_LIBS?=	`${GNOME_CONFIG} --libs gnomeui` \
X		`${LOCALBASE}/bin/xml-config --libs`
XCFLAGS+=	-DHAVE_CONFIG_H -I. -I.. ${GNOME_CFLAGS}
X
Xdo-build:
X.for f in ${SOURCEFILES}
X	(cd ${WRKSRC}/src; ${CC} ${CFLAGS} ${GNOME_CFLAGS} -c ${f})
X.endfor
X	(cd ${WRKSRC}/src; ${CC} ${CFLAGS} -o fpm ${SOURCEFILES:S/.c/.o/g} \
X	${GNOME_LIBS})
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/src/fpm ${PREFIX}/bin
X	${INSTALL} -d -o root -g wheel -m 0755 \
X	${PREFIX}/share/gnome/pixmaps/fpm
X	${INSTALL_DATA} ${WRKSRC}/pixmaps/logo.xpm \
X	${PREFIX}/share/gnome/pixmaps/fpm
X.if !defined(NOPORTDOCS)
X	${INSTALL} -d -o root -g wheel -m 0755 ${PREFIX}/share/doc/fpm
X.for f in ${DOCS}
X	${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/share/doc/fpm
X.endfor
X.endif
X
X.include <bsd.port.mk>
END-of-fpm/Makefile
echo x - fpm/distinfo
sed 's/^X//' >fpm/distinfo << 'END-of-fpm/distinfo'
XMD5 (fpm-0.53.tar.gz) = 16ea9a86b9216b150e04d8bfcfb34d70
END-of-fpm/distinfo
echo x - fpm/pkg-comment
sed 's/^X//' >fpm/pkg-comment << 'END-of-fpm/pkg-comment'
XFigaro's Password Manager, an app. to securely store your passwords
END-of-fpm/pkg-comment
echo x - fpm/pkg-descr
sed 's/^X//' >fpm/pkg-descr << 'END-of-fpm/pkg-descr'
XFigaro's Password Manager is a GNOME application that allows you to securely
Xstore your passwords. Features include:
X
X* Passwords are encrypted with the blowfish algorithm.
X* Copy passwords or usernames to the clipboard.
X* Copy passwords or usernames to the primary selection. (And paste them with a
Xmiddle mouse button click).
X* If the password is for a website, FPM can keep track of the URLs of your
Xlogin screens and can automatically launch your browser. In this capacity, FPM
Xacts as a kind of bookmark manager.
X* You can teach FPM to launch other applications, and optionally pass
Xhostnames, usernames or passwords to the command line.
X* FPM also has a password generator that can help you choose good passwords.
XIt allows you to determine how long the password should be, and what types of
Xcharacters (lower case, upper case, numbers and symbols) should be used. You
Xcan even have it avoid ambiguous characters such as a capital O and the number
X0.
X
XWWW: http://fpm.sourceforge.net/
X
X- Anders Nordby <anders@fix.no>
END-of-fpm/pkg-descr
echo x - fpm/pkg-plist
sed 's/^X//' >fpm/pkg-plist << 'END-of-fpm/pkg-plist'
Xbin/fpm
Xshare/gnome/pixmaps/fpm/logo.xpm
X@dirrm share/gnome/pixmaps/fpm
X%%PORTDOCS%%share/doc/fpm/AUTHORS
X%%PORTDOCS%%share/doc/fpm/ChangeLog
X%%PORTDOCS%%share/doc/fpm/README
X%%PORTDOCS%%share/doc/fpm/TODO
X%%PORTDOCS%%@dirrm share/doc/fpm
END-of-fpm/pkg-plist
echo c - fpm/files
mkdir -p fpm/files > /dev/null 2>&1
echo x - fpm/files/patch-config.h
sed 's/^X//' >fpm/files/patch-config.h << 'END-of-fpm/files/patch-config.h'
X--- config.h.orig	Sun Jun 17 15:59:07 2001
X+++ config.h	Sun Jun 17 15:59:16 2001
X@@ -0,0 +1,134 @@
X+/* config.h.  Generated automatically by configure.  */
X+/* config.h.in.  Generated automatically from configure.in by autoheader.  */
X+
X+/* Define if using alloca.c.  */
X+/* #undef C_ALLOCA */
X+
X+/* Define to empty if the keyword does not work.  */
X+/* #undef const */
X+
X+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
X+   This function is required for alloca.c support on those systems.  */
X+/* #undef CRAY_STACKSEG_END */
X+
X+/* Define if you have alloca, as a function or macro.  */
X+#define HAVE_ALLOCA 1
X+
X+/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
X+#define HAVE_ALLOCA_H 1
X+
X+/* Define if you have a working `mmap' system call.  */
X+#define HAVE_MMAP 1
X+
X+/* Define as __inline if that's what the C compiler calls it.  */
X+/* #undef inline */
X+
X+/* Define to `long' if <sys/types.h> doesn't define.  */
X+/* #undef off_t */
X+
X+/* Define if you need to in order for stat and other things to work.  */
X+/* #undef _POSIX_SOURCE */
X+
X+/* Define to `unsigned' if <sys/types.h> doesn't define.  */
X+/* #undef size_t */
X+
X+/* If using the C implementation of alloca, define if you know the
X+   direction of stack growth for your system; otherwise it will be
X+   automatically deduced at run-time.
X+ STACK_DIRECTION > 0 => grows toward higher addresses
X+ STACK_DIRECTION < 0 => grows toward lower addresses
X+ STACK_DIRECTION = 0 => direction of growth unknown
X+ */
X+/* #undef STACK_DIRECTION */
X+
X+/* Define if you have the ANSI C header files.  */
X+#define STDC_HEADERS 1
X+
X+#define ENABLE_NLS 1
X+/* #undef HAVE_CATGETS */
X+#define HAVE_GETTEXT 1
X+#define HAVE_LC_MESSAGES 1
X+#define HAVE_STPCPY 1
X+#define HAVE_LIBSM 1
X+#define PACKAGE_LOCALE_DIR "/usr/local/share/locale"
X+/* #undef PACKAGE_DATA_DIR */
X+/* #undef PACKAGE_SOURCE_DIR */
X+
X+/* Define if you have the __argz_count function.  */
X+#define HAVE___ARGZ_COUNT 1
X+
X+/* Define if you have the __argz_next function.  */
X+#define HAVE___ARGZ_NEXT 1
X+
X+/* Define if you have the __argz_stringify function.  */
X+#define HAVE___ARGZ_STRINGIFY 1
X+
X+/* Define if you have the dcgettext function.  */
X+#define HAVE_DCGETTEXT 1
X+
X+/* Define if you have the getcwd function.  */
X+#define HAVE_GETCWD 1
X+
X+/* Define if you have the getpagesize function.  */
X+#define HAVE_GETPAGESIZE 1
X+
X+/* Define if you have the munmap function.  */
X+#define HAVE_MUNMAP 1
X+
X+/* Define if you have the putenv function.  */
X+#define HAVE_PUTENV 1
X+
X+/* Define if you have the setenv function.  */
X+#define HAVE_SETENV 1
X+
X+/* Define if you have the setlocale function.  */
X+#define HAVE_SETLOCALE 1
X+
X+/* Define if you have the stpcpy function.  */
X+#define HAVE_STPCPY 1
X+
X+/* Define if you have the strcasecmp function.  */
X+#define HAVE_STRCASECMP 1
X+
X+/* Define if you have the strchr function.  */
X+#define HAVE_STRCHR 1
X+
X+/* Define if you have the strdup function.  */
X+#define HAVE_STRDUP 1
X+
X+/* Define if you have the <X11/SM/SMlib.h> header file.  */
X+#define HAVE_X11_SM_SMLIB_H 1
X+
X+/* Define if you have the <argz.h> header file.  */
X+#define HAVE_ARGZ_H 1
X+
X+/* Define if you have the <limits.h> header file.  */
X+#define HAVE_LIMITS_H 1
X+
X+/* Define if you have the <locale.h> header file.  */
X+#define HAVE_LOCALE_H 1
X+
X+/* Define if you have the <malloc.h> header file.  */
X+#define HAVE_MALLOC_H 1
X+
X+/* Define if you have the <nl_types.h> header file.  */
X+#define HAVE_NL_TYPES_H 1
X+
X+/* Define if you have the <string.h> header file.  */
X+#define HAVE_STRING_H 1
X+
X+/* Define if you have the <sys/param.h> header file.  */
X+#define HAVE_SYS_PARAM_H 1
X+
X+/* Define if you have the <unistd.h> header file.  */
X+#define HAVE_UNISTD_H 1
X+
X+/* Define if you have the i library (-li).  */
X+/* #undef HAVE_LIBI */
X+
X+/* Name of package */
X+#define PACKAGE "fpm"
X+
X+/* Version number of package */
X+#define VERSION "0.53"
X+
END-of-fpm/files/patch-config.h
echo x - fpm/files/patch-blowfish.c
sed 's/^X//' >fpm/files/patch-blowfish.c << 'END-of-fpm/files/patch-blowfish.c'
X--- src/blowfish.c.orig	Sun Jun 17 16:13:01 2001
X+++ src/blowfish.c	Sun Jun 17 16:14:20 2001
X@@ -300,7 +300,7 @@
X 
X 
X static void
X-encrypt(  BLOWFISH_context *bc, u32 *ret_xl, u32 *ret_xr )
X+bfishencrypt(  BLOWFISH_context *bc, u32 *ret_xl, u32 *ret_xr )
X {
X   #if BLOWFISH_ROUNDS == 16
X     u32 xl, xr, *s0, *s1, *s2, *s3, *p;
X@@ -439,7 +439,7 @@
X 
X     d1 = inbuf[0] << 24 | inbuf[1] << 16 | inbuf[2] << 8 | inbuf[3];
X     d2 = inbuf[4] << 24 | inbuf[5] << 16 | inbuf[6] << 8 | inbuf[7];
X-    encrypt( bc, &d1, &d2 );
X+    bfishencrypt( bc, &d1, &d2 );
X     outbuf[0] = (d1 >> 24) & 0xff;
X     outbuf[1] = (d1 >> 16) & 0xff;
X     outbuf[2] = (d1 >>	8) & 0xff;
X@@ -544,27 +544,27 @@
X 
X     datal = datar = 0;
X     for(i=0; i < BLOWFISH_ROUNDS+2; i += 2 ) {
X-	encrypt( c, &datal, &datar );
X+	bfishencrypt( c, &datal, &datar );
X 	c->p[i]   = datal;
X 	c->p[i+1] = datar;
X     }
X     for(i=0; i < 256; i += 2 )	{
X-	encrypt( c, &datal, &datar );
X+	bfishencrypt( c, &datal, &datar );
X 	c->s0[i]   = datal;
X 	c->s0[i+1] = datar;
X     }
X     for(i=0; i < 256; i += 2 )	{
X-	encrypt( c, &datal, &datar );
X+	bfishencrypt( c, &datal, &datar );
X 	c->s1[i]   = datal;
X 	c->s1[i+1] = datar;
X     }
X     for(i=0; i < 256; i += 2 )	{
X-	encrypt( c, &datal, &datar );
X+	bfishencrypt( c, &datal, &datar );
X 	c->s2[i]   = datal;
X 	c->s2[i+1] = datar;
X     }
X     for(i=0; i < 256; i += 2 )	{
X-	encrypt( c, &datal, &datar );
X+	bfishencrypt( c, &datal, &datar );
X 	c->s3[i]   = datal;
X 	c->s3[i+1] = datar;
X     }
END-of-fpm/files/patch-blowfish.c
exit

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010617153245.923693C8E>