ports/121700: [maintainer] mail/dkim-milter several bug fixes
Hirohisa Yamaguchi
umq at ueo.co.jp
Fri Mar 14 13:10:02 UTC 2008
>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 at 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:
More information about the freebsd-ports-bugs
mailing list