Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Mar 2008 22:07:01 +0900
From:      Hirohisa Yamaguchi <umq@ueo.co.jp>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/121700: [maintainer] mail/dkim-milter several bug fixes
Message-ID:  <868x0lsbd6.wl%umq@ueo.co.jp>
Resent-Message-ID: <200803141310.m2EDA2jI013815@freefall.freebsd.org>

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

>Number:         121700
>Category:       ports
>Synopsis:       [maintainer] mail/dkim-milter several bug fixes
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 14 13:10:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Hirohisa Yamaguchi
>Release:        FreeBSD 8.0-CURRENT amd64
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: FreeBSD calliope.****.org 8.0-CURRENT FreeBSD 8.0-CURRENT #15: Fri Jan 18 14:38:27 JST 2008 root@calliope.****.org:/usr/obj/usr/src/sys/CALLIOPE64 amd64

>Description:
	There are several problems found in dkim-milter-2.5.0 port.
	 + OmitHeaders not working (sf.net #1911328)
	    https://sourceforge.net/tracker/index.php?func=detail&aid=1911328&group_id=139420&atid=744358
	 + dkim-stat error (sf.net #1912332)
	    https://sourceforge.net/tracker/index.php?func=detail&aid=1912332&group_id=139420&atid=744358
	 + Mutex not initialized properly for testing mode ("-t") (sf.net #1912569)
	    https://sourceforge.net/tracker/index.php?func=detail&aid=1912569&group_id=139420&atid=744358
	 + Update build (from 2.4.3/2.4.4) fails when WITH_SENDMAIL_PORT is set ( ports/121529 )
	    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/121529
	 + Build fails when WITH_DIFFHEADERS and WITH_SENDMAIL_STATIC_MILTER are set

>How-To-Repeat:
	(omitted)
>Fix:

	The patch follows:
	  dinoex@ might have his patch for bsd.milter.mk

diff -Npru ports.orig/mail/dkim-milter/Makefile ports/mail/dkim-milter/Makefile
--- ports.orig/mail/dkim-milter/Makefile	2008-03-14 21:36:14.000000000 +0900
+++ ports/mail/dkim-milter/Makefile	2008-03-14 21:37:33.000000000 +0900
@@ -14,6 +14,7 @@
 
 PORTNAME=	dkim-milter
 PORTVERSION=	2.5.0
+PORTREVISION=	1
 CATEGORIES=	mail
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	${PORTNAME}
@@ -136,6 +137,7 @@ PLIST_DIRS+=	${DOCSDIR_REL}/libdkim
 
 .include <bsd.port.pre.mk>
 
+WITHOUT_MILTER_CFLAGS=	yes
 .include "${PORTSDIR}/mail/sendmail/bsd.milter.mk"
 
 SITE+=		${FILESDIR}/site.config.m4
@@ -146,9 +148,9 @@ SITE+=		${WRKSRC}/site.config.m4.dist
 SITE_SUB+=	-e "s|%%PREFIX%%|${PREFIX}|g" \
 		-e "s|%%LOCALBASE%%|${LOCALBASE}|g"
 .if defined(WITH_SENDMAIL_STATIC_MILTER)
-SITE_SUB+=	-e '\|-static|s|%%STATIC%%||g'
+SITE_SUB+=	-e 's|%%STATIC%%||g'
 .else
-SITE_SUB+=	-e '\|-static|s|%%STATIC%%|dnl |g'
+SITE_SUB+=	-e 's|%%STATIC%%|dnl |g'
 .endif
 
 SUB_LIST=	"RC_SCRIPT=${PREFIX}/etc/rc.d/${USE_RC_SUBR:S/.sh$//}${RC_SUBR_SUFFIX}"
diff -Npru ports.orig/mail/dkim-milter/files/patch-dkim-filter__dkim-db.c ports/mail/dkim-milter/files/patch-dkim-filter__dkim-db.c
--- ports.orig/mail/dkim-milter/files/patch-dkim-filter__dkim-db.c	1970-01-01 09:00:00.000000000 +0900
+++ ports/mail/dkim-milter/files/patch-dkim-filter__dkim-db.c	2008-03-12 23:57:55.000000000 +0900
@@ -0,0 +1,52 @@
+--- ./dkim-filter/dkim-db.c.orig	2008-03-05 02:41:25.000000000 +0900
++++ ./dkim-filter/dkim-db.c	2008-03-12 23:57:52.000000000 +0900
+@@ -46,15 +46,22 @@
+ 	int flags = 0;
+ #endif /* DB_VERSION_CHECK(2,0,0) */
+ 	int status = 0;
++	DBTYPE dbtype;
+ 
+ 	assert(db != NULL);
+ 	assert(file != NULL);
+ 
+ #if DB_VERSION_CHECK(2,0,0)
+ 	if (ro)
++	{
+ 		flags |= DB_RDONLY;
++		dbtype = DB_UNKNOWN;
++	}
+ 	else
++	{
+ 		flags |= DB_CREATE;
++		dbtype = DB_BTREE;
++	}
+ #endif /* DB_VERSION_CHECK(2,0,0) */
+ 
+ #if DB_VERSION_CHECK(3,0,0)
+@@ -62,21 +69,21 @@
+ 	if (status == 0)
+ 	{
+ # if DB_VERSION_CHECK(4,1,25)
+-		status = (*db)->open(*db, NULL, file, NULL, DB_UNKNOWN,
++		status = (*db)->open((*db), NULL, file, NULL, dbtype,
+ 		                     flags, 0);
+ # else /* DB_VERSION_CHECK(4,1,25) */
+-		status = (*db)->open(*db, file, NULL, DB_UNKNOWN,
+-		                     flags, 0);
++		status = (*db)->open((*db), file, NULL, dbtype, flags, 0);
+ # endif /* DB_VERSION_CHECK(4,1,25) */
+ 	}
+ #elif DB_VERSION_CHECK(2,0,0)
+-	status = db_open(file, DB_HASH, flags, DB_MODE, NULL, NULL, db);
++	status = db_open(file, dbtype, flags, DB_MODE, NULL, NULL, db);
+ #else /* DB_VERSION_MAJOR < 2 */
+ 	*db = dbopen(file, (ro ? O_RDONLY :(O_CREAT|O_RDWR)), DB_MODE,
+-	             DB_HASH, NULL);
++	             dbtype, NULL);
+ 	if (*db == NULL)
+ 		status = errno;
+ #endif /* DB_VERSION_CHECK */
++
+ 	return status;
+ }
+ 
diff -Npru ports.orig/mail/dkim-milter/files/patch-dkim-filter__dkim-filter.c ports/mail/dkim-milter/files/patch-dkim-filter__dkim-filter.c
--- ports.orig/mail/dkim-milter/files/patch-dkim-filter__dkim-filter.c	1970-01-01 09:00:00.000000000 +0900
+++ ports/mail/dkim-milter/files/patch-dkim-filter__dkim-filter.c	2008-03-12 23:57:55.000000000 +0900
@@ -0,0 +1,50 @@
+--- ./dkim-filter/dkim-filter.c.orig	2008-03-06 04:29:36.000000000 +0900
++++ ./dkim-filter/dkim-filter.c	2008-03-12 23:57:52.000000000 +0900
+@@ -2481,6 +2481,16 @@
+ 		if (status != DKIM_STAT_OK)
+ 			return FALSE;
+ 	}
++	else
++	{
++		status = dkim_options(conf->conf_libdkim, DKIM_OP_SETOPT,
++		                      DKIM_OPTS_SKIPHDRS,
++		                      (void *) should_not_signhdrs,
++		                      sizeof (u_char **));
++
++		if (status != DKIM_STAT_OK)
++			return FALSE;
++	}
+ 
+ 	if (conf->conf_signhdrs != NULL)
+ 	{
+@@ -2494,8 +2504,8 @@
+ 	else
+ 	{
+ 		status = dkim_options(conf->conf_libdkim, DKIM_OP_SETOPT,
+-		                      DKIM_OPTS_SKIPHDRS,
+-		                      (void *) should_not_signhdrs,
++		                      DKIM_OPTS_SIGNHDRS,
++		                      (void *) should_signhdrs,
+ 		                      sizeof (u_char **));
+ 
+ 		if (status != DKIM_STAT_OK)
+@@ -7447,6 +7457,9 @@
+ 	}
+ #endif /* _FFR_BODYLENGTH_DB */
+ 
++	pthread_mutex_init(&popen_lock, NULL);
++	pthread_mutex_init(&conf_lock, NULL);
++
+ 	/* perform test mode */
+ 	if (testfile != NULL)
+ 	{
+@@ -7456,9 +7469,6 @@
+ 		return status;
+ 	}
+ 
+-	pthread_mutex_init(&popen_lock, NULL);
+-	pthread_mutex_init(&conf_lock, NULL);
+-
+ 	memset(argstr, '\0', sizeof argstr);
+ 	end = &argstr[sizeof argstr - 1];
+ 	n = sizeof argstr;
diff -Npru ports.orig/mail/dkim-milter/files/site.config.m4 ports/mail/dkim-milter/files/site.config.m4
--- ports.orig/mail/dkim-milter/files/site.config.m4	2008-03-14 21:36:14.000000000 +0900
+++ ports/mail/dkim-milter/files/site.config.m4	2008-03-12 22:00:44.000000000 +0900
@@ -15,3 +15,4 @@ define(`confDONT_INSTALL_CATMAN',`True')
 %%LIBTRE%%APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include/tre ')
 %%LIBTRE%%APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib ')
 %%LIBTRE%%APPENDDEF(`confLIBS', `-ltre ')
+%%STATIC%%%%LIBTRE%%APPENDDEF(`confLIBS', `-lintl -liconv ')
diff -Npru ports.orig/mail/sendmail/bsd.milter.mk ports/mail/sendmail/bsd.milter.mk
--- ports.orig/mail/sendmail/bsd.milter.mk	2008-03-14 21:53:09.000000000 +0900
+++ ports/mail/sendmail/bsd.milter.mk	2008-03-13 00:28:52.000000000 +0900
@@ -67,12 +67,13 @@ MILTERINC=	-I${MILTERBASE}/include
 MILTERRPATH=	${MILTERBASE}/lib
 MILTERLIB=	-L${MILTERBASE}/lib -rpath=${MILTERRPATH}
 
+.if !defined(WITHOUT_MILTER_CFLAGS)
 .if defined(CFLAGS)
 CFLAGS+=${MILTERINC}
 .else
 CFLAGS=${MILTERINC}
 .endif
-
+.endif
 
 .if defined(SENDMAIL_WITHOUT_MILTER)
 pre-everything::
@@ -90,11 +91,13 @@ MILTERRPATH=	${DESTDIR}/usr/lib:${LOCALB
 MILTERLIB=	-rpath=${MILTERRPATH}
 .endif
 
+.if !defined(WITHOUT_MILTER_CFLAGS)
 .if defined(LDFLAGS)
 LDFLAGS+=${MILTERLIB}
 .else
 LDFLAGS=${MILTERLIB}
 .endif
+.endif
 
 CONFIGURE_ENV+=	LDFLAGS="${LDFLAGS}"
 MAKE_ENV+=	LDFLAGS="${LDFLAGS}"
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?868x0lsbd6.wl%umq>