svn commit: r354964 - in head/mail/qmailadmin: . files

Bryan Drewery bdrewery at FreeBSD.org
Fri May 23 21:48:25 UTC 2014


Author: bdrewery
Date: Fri May 23 21:48:24 2014
New Revision: 354964
URL: http://svnweb.freebsd.org/changeset/ports/354964
QAT: https://qat.redports.org/buildarchive/r354964/

Log:
  - Add CRACKLIB support
  
  Submitted by:	Matt Simerson <matt at simerson.net>
  Obtained from:	http://sourceforge.net/p/qmailadmin/patches/28/

Added:
  head/mail/qmailadmin/files/cracklib.patch   (contents, props changed)
Modified:
  head/mail/qmailadmin/Makefile

Modified: head/mail/qmailadmin/Makefile
==============================================================================
--- head/mail/qmailadmin/Makefile	Fri May 23 21:11:02 2014	(r354963)
+++ head/mail/qmailadmin/Makefile	Fri May 23 21:48:24 2014	(r354964)
@@ -3,7 +3,7 @@
 
 PORTNAME=	qmailadmin
 PORTVERSION=	1.2.15
-PORTREVISION=	5
+PORTREVISION=	6
 PORTEPOCH=	2
 CATEGORIES=	mail www
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}-stable/${PORTVERSION} \
@@ -36,7 +36,7 @@ AUTOMAKE_ARGS+=	--add-missing
 
 OPTIONS_DEFINE=	IPAUTH USER_INDEX MODIFY_QUOTA DOMAIN_AUTOFILL \
 		IDX IDX_SQL HELP SPAM_DETECTION SPAM_NEEDS_EMAIL \
-		CATCHALL TRIVIAL_PASSWORD NOCACHE
+		CATCHALL TRIVIAL_PASSWORD NOCACHE CRACKLIB
 OPTIONS_DEFAULT=IPAUTH IDX_SQL USER_INDEX CATCHALL TRIVIAL_PASSWORD
 IPAUTH_DESC=		Check IP address after login
 USER_INDEX_DESC=	Enable user index display
@@ -50,6 +50,7 @@ SPAM_NEEDS_EMAIL_DESC=	Append user's ema
 CATCHALL_DESC=		Enable catch-all accounts
 TRIVIAL_PASSWORD_DESC=	Disallow password containing username
 NOCACHE_DESC=		Prohibit caching via http headers
+CRACKLIB_DESC=		Use cracklib to enforce stronger passwords
 
 CONFIGURE_ARGS+=	\
 	--enable-qmaildir=${QMAIL_PREFIX} \
@@ -87,6 +88,15 @@ EXTRA_PATCHES+=		${FILESDIR}/extra-ezmlm
 CONFIGURE_ARGS+=	--enable-spam-command="${SPAM_COMMAND}"
 .endif
 
+.if ${PORT_OPTIONS:MCRACKLIB}
+EXTRA_PATCHES+=		${FILESDIR}/cracklib.patch
+BUILD_DEPENDS+=		${LOCALBASE}/include/crack.h:${PORTSDIR}/security/cracklib
+CONFIGURE_ARGS+=	--enable-cracklib=${LOCALBASE}/libdata/cracklib/pw_dict
+CFLAGS+=	-I${LOCALBASE}/include
+LDFLAGS+=       -L${LOCALBASE}/lib
+CONFIGURE_ENV+=	LIBS="-lcrack"
+.endif
+
 # vpopmail installation directory
 #
 # NB: change this with extreme caution!  For instance, if vpopmail is not

Added: head/mail/qmailadmin/files/cracklib.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/qmailadmin/files/cracklib.patch	Fri May 23 21:48:24 2014	(r354964)
@@ -0,0 +1,78 @@
+--- ./configure.in.orig	2011-01-14 13:35:14.000000000 -0800
++++ ./configure.in	2014-05-22 21:51:26.000000000 -0700
+@@ -26,6 +26,7 @@
+ dnl Checks for libraries.
+ AC_CHECK_LIB(crypt,crypt)
+ AC_CHECK_LIB(shadow,crypt)
++AC_CHECK_LIB(crack,FascistCheck)
+ #AC_CHECK_LIB(m,floor)
+ #AC_CHECK_LIB(nsl, gethostbyaddr)
+ #AC_CHECK_LIB(socket, getsockname)
+@@ -421,6 +422,31 @@
+ AC_DEFINE_UNQUOTED(SPAM_COMMAND, "$spam_command","")
+ AC_SUBST(SPAM_COMMAND)
+ 
++cracklib=no
++AC_ARG_ENABLE(cracklib, [  --enable-cracklib=PATH     Path to cracklib dictionary.],
++    cracklib="$enableval",
++    [
++        if test "$cracklib" = ""
++        then
++            AC_MSG_ERROR([Unable to find your cracklib directory, specify --enable-cracklib.])
++        fi
++    ] )
++
++if test "$cracklib" = "yes"
++then
++	cracklib="/usr/local/libdata/cracklib/pw_dict"
++fi
++
++case $cracklib in
++0*|n*|N*)
++	echo "checking whether to use password checking... no"
++	;;
++*)
++	AC_DEFINE_UNQUOTED(CRACKLIB,"$cracklib","")
++	echo "checking whether to use password checking... yes"
++	;;
++esac
++
+ HELP=no
+ AC_ARG_ENABLE(help, [  --enable-help  Display help links on login page.],
+     HELP="$enableval",)
+@@ -485,4 +511,7 @@
+ then
+         echo "      spam command = "$spam_command""
+ fi
+-
++if test "$cracklib" != "no"
++then
++	echo "cracklib dictionary= "$cracklib""
++fi
+--- ./user.c.orig	2014-05-22 21:51:03.000000000 -0700
++++ ./user.c	2014-05-22 21:52:14.000000000 -0700
+@@ -47,6 +47,9 @@
+ #include "user.h"
+ #include "util.h"
+ #include "vauth.h"
++#ifdef CRACKLIB
++#	include </usr/local/include/crack.h>
++#endif
+ 
+ 
+ #define HOOKS 1
+@@ -800,6 +803,14 @@
+        exit(0);
+      }
+ #endif
++#ifdef CRACKLIB
++    if ((tmpstr = FascistCheck(Password1, CRACKLIB)) != NULL ) {
++       sprintf(StatusMessage, "Bad password - %s\n", tmpstr);
++       moduser();
++       vclose();
++       exit(0);
++    }
++#endif
+     ret_code = vpasswd( ActionUser, Domain, Password1, USE_POP);
+     if ( ret_code != VA_SUCCESS ) {
+       snprintf (StatusMessage, sizeof(StatusMessage), "%s (%s)", html_text[140], 


More information about the svn-ports-head mailing list