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>