From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Jun 1 10:40:02 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F71C1065672 for ; Mon, 1 Jun 2009 10:40:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D95A88FC14 for ; Mon, 1 Jun 2009 10:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n51Ae1iM099115 for ; Mon, 1 Jun 2009 10:40:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n51Ae1Aq099106; Mon, 1 Jun 2009 10:40:01 GMT (envelope-from gnats) Resent-Date: Mon, 1 Jun 2009 10:40:01 GMT Resent-Message-Id: <200906011040.n51Ae1Aq099106@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Matthias Andree Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FB6C1065670 for ; Mon, 1 Jun 2009 10:37:32 +0000 (UTC) (envelope-from matthias.andree@gmx.de) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id 7B6638FC19 for ; Mon, 1 Jun 2009 10:37:31 +0000 (UTC) (envelope-from matthias.andree@gmx.de) Received: (qmail invoked by alias); 01 Jun 2009 10:37:30 -0000 Received: from unknown (EHLO mandree.no-ip.org) [85.183.208.172] by mail.gmx.net (mp055) with SMTP; 01 Jun 2009 12:37:30 +0200 Received: from rho.emma.line.org (unknown [192.168.0.198]) by merlin.emma.line.org (Postfix) with ESMTP id 2B83994AEF; Mon, 1 Jun 2009 12:37:28 +0200 (CEST) Received: by rho.emma.line.org (Postfix, from userid 1001) id 3427834184; Mon, 1 Jun 2009 03:20:26 +0200 (CEST) Received: by rho.emma.line.org (Postfix, from userid 500) id 9076234127; Mon, 1 Jun 2009 03:13:30 +0200 (CEST) Message-Id: <20090601011330.9076234127@rho.emma.line.org> Date: Mon, 1 Jun 2009 03:13:30 +0200 (CEST) From: Matthias Andree To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/135149: [MAINTAINER] mail/bogofilter: fix q-p decoding and parallel build bugs X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jun 2009 10:40:02 -0000 >Number: 135149 >Category: ports >Synopsis: [MAINTAINER] mail/bogofilter: fix q-p decoding and parallel build bugs >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: Mon Jun 01 10:40:01 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Matthias Andree >Release: FreeBSD 7.1-RELEASE-p2 i386 >Organization: >Environment: System: FreeBSD rho.emma.line.org 7.1-RELEASE-p2 FreeBSD 7.1-RELEASE-p2 #0: Sun Jan 18 05:55:08 CET 2009 >Description: Update to late May SVN snapshot to - fix quoted-printable decoding in the presence of excess CR characters (continuation lines) - fix parallel build by removing two files that were accidentally shipped Added file(s): - files/patch-fixqp Removed file(s): - files/patch-src-tests-tframe Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- bogofilter-1.2.0_2.patch begins here --- diff -ruN --exclude=CVS /usr/ports/mail/bogofilter/Makefile /usr/home/emma/ports/mail/bogofilter/Makefile --- /usr/ports/mail/bogofilter/Makefile 2009-05-29 06:26:22.000000000 +0200 +++ /usr/home/emma/ports/mail/bogofilter/Makefile 2009-06-01 03:11:46.000000000 +0200 @@ -7,7 +7,7 @@ PORTNAME= bogofilter PORTVERSION= 1.2.0 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES?= mail MASTER_SITES= SF @@ -27,15 +27,12 @@ USE_BZIP2= yes USE_PERL5_RUN= yes GNU_CONFIGURE= yes -PATCH_STRIP= -p1 MAKE_JOBS_SAFE= yes +USE_AUTOTOOLS= aclocal:110 automake:110 autoconf:262 autoheader:262 +ACLOCAL_ARGS= -Im4 .include -.if ${ARCH} == "sparc64" -BROKEN= Fails self-tests on sparc64 -.endif - BF_LIBS?= -l${BDB_LIB_NAME} BF_CPPFLAGS?= -I${BDB_INCLUDE_DIR} -I${LOCALBASE}/include CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/etc @@ -56,6 +53,11 @@ MAN1= bogofilter.1 bogoutil.1 bogoupgrade.1 bogolexer.1 bogotune.1 \ bf_copy.1 bf_compact.1 bf_tar.1 +# remove files that were accidentally shipped, but should get rebuilt +post-extract: + ${RM} ${WRKSRC}/src/bogoupgrade + ${RM} ${WRKSRC}/src/tests/t.query.config + post-patch: ${REINPLACE_CMD} -e 's|^#!.*perl|#! ${PERL}|' \ ${WRKSRC}/src/tests/unsort.pl \ diff -ruN --exclude=CVS /usr/ports/mail/bogofilter/files/patch-fixqp /usr/home/emma/ports/mail/bogofilter/files/patch-fixqp --- /usr/ports/mail/bogofilter/files/patch-fixqp 1970-01-01 01:00:00.000000000 +0100 +++ /usr/home/emma/ports/mail/bogofilter/files/patch-fixqp 2009-06-01 02:48:28.000000000 +0200 @@ -0,0 +1,305 @@ +Index: src/version.sh +=================================================================== +--- src/version.sh (revision 6820) ++++ src/version.sh (revision 6838) +@@ -4,8 +4,8 @@ + # + # create version.c to define BOGOFILTER_VERSION + # +-# if VERSION in config.h does not contain 'cvs', use its value. +-# if it does contain 'cvs', append a date to it. ++# if VERSION in config.h does not contain 'svn', use its value. ++# if it does contain 'svn', append a date to it. + # + # We'll first try to find CVS/Entries files and use the most + # current date from the files. To parse, we need Perl 5 and +Index: src/tests/inputs/mime-qp-cont-with-cr.txt +=================================================================== +--- src/tests/inputs/mime-qp-cont-with-cr.txt (revision 0) ++++ src/tests/inputs/mime-qp-cont-with-cr.txt (revision 6838) +@@ -0,0 +1,31 @@ ++Subject: This is a test message to check bogofilter's qp decoding of ++ continuation lines in the presence of spurious CR characters. ++MIME-Version: 1.0 ++Content-Type: multipart/alternative; ++ boundary="----=_NextPart_000_0007_01C9DC27.B9F73130" ++ ++This is a multi-part message in MIME format. ++ ++------=_NextPart_000_0007_01C9DC27.B9F73130 ++Content-Type: text/html; ++ charset="iso-8859-2" ++Content-Transfer-Encoding: quoted-printable ++ ++ ++ ++ ++ ++ ++ ++ ++
50mg x 10 pills $6.00 per p= ++ill
++
 
++ ++ ++ ++------=_NextPart_000_0007_01C9DC27.B9F73130-- ++ + +Property changes on: src/tests/inputs/mime-qp-cont-with-cr.txt +___________________________________________________________________ +Added: svn:eol-style + + native + +Index: src/tests/t.frame +=================================================================== +--- src/tests/t.frame (revision 6820) ++++ src/tests/t.frame (revision 6838) +@@ -39,7 +39,7 @@ + export _POSIX2_VERSION + + # Obtain data base file suffix +-DB_NAME=$("$BOGOFILTER" -C -V 2>&1 | sed -n '/Database:/ { p;q }') ++DB_NAME=$("$BOGOFILTER" -C -V 2>&1 | sed -n '/Database:/ {p;q;}') + case $DB_NAME in + *BerkeleyDB*|*"Berkeley DB"*) + case $DB_NAME in +Index: src/tests/outputs/mime-qp-cont-with-cr.exp +=================================================================== +--- src/tests/outputs/mime-qp-cont-with-cr.exp (revision 0) ++++ src/tests/outputs/mime-qp-cont-with-cr.exp (revision 6838) +@@ -0,0 +1,50 @@ ++subj:This ++subj:test ++subj:message ++subj:check ++subj:bogofilter's ++subj:decoding ++subj:continuation ++subj:lines ++subj:the ++subj:presence ++subj:spurious ++subj:characters ++head:MIME-Version ++head:Content-Type ++head:multipart ++head:alternative ++This ++multi-part ++message ++MIME ++format ++mime:Content-Type ++mime:text ++mime:html ++mime:charset ++mime:iso-8859-2 ++mime:Content-Transfer-Encoding ++mime:quoted-printable ++face ++Arial ++size ++pills ++$6.00 ++per ++pill ++face ++Arial ++size ++nbsp ++face ++Arial ++size ++href ++http ++groups.yahoo.com ++group ++ganebawusexut64 ++message ++Visit ++here +Index: src/tests/t.lexer.qpcr +=================================================================== +--- src/tests/t.lexer.qpcr (revision 0) ++++ src/tests/t.lexer.qpcr (revision 6838) +@@ -0,0 +1,16 @@ ++#! /bin/sh ++ ++# This check sees if bogofilter can reassemble lines with spurious CR ++# during QP decoding. It used to fail up to and including 1.2.0 with ++# lines ending in =, not considering these as continuation. ++ ++. ${srcdir:=.}/t.frame ++ ++ifn=mime-qp-cont-with-cr.txt ++ofn=mime-qp-cont-with-cr.out ++efn=mime-qp-cont-with-cr.exp ++ ++cat "$srcdir/inputs/$ifn" \ ++| $BOGOLEXER -p -C > "$TMPDIR/$ofn" ++ ++exec diff $DIFF_BRIEF "$OUTPUTS/$efn" "$TMPDIR/$ofn" +Index: src/tests/Makefile.am +=================================================================== +--- src/tests/Makefile.am (revision 6820) ++++ src/tests/Makefile.am (revision 6838) +@@ -38,7 +38,7 @@ + t.passthrough-hb \ + t.escaped.html t.escaped.url \ + t.split t.parsing \ +- t.lexer t.lexer.mbx \ ++ t.lexer t.lexer.mbx t.lexer.qpcr \ + t.spam.header.place \ + t.block.on.subnets \ + t.token.count \ +@@ -49,16 +49,19 @@ + + WORDLIST_TESTS = t.dump.load t.nonascii.replace t.maint t.robx t.regtest t.upgrade.subnet.prefix t.multiple.wordlists t.probe t.bf_compact + +-SCORING_TESTS = t.query.config t.score1 t.score2 t.systest t.grftest t.wordhist ++SCORING_TESTS = t.score1 t.score2 t.systest t.grftest t.wordhist + + BULKMODE_TESTS = t.bulkmode t.MH t.maildir t.bogoutil + + INTEGRITY_TESTS = t.lock1 t.lock3 t.valgrind + # INTEGRITY_TESTS += t.lock2 + ++# these tests are built, but must not be shipped: ++BUILT_TESTS = t.query.config ++ + TESTSCRIPTS = ${ENVIRON_TESTS} ${PARSING_TESTS} ${WORDLIST_TESTS} ${SCORING_TESTS} ${BULKMODE_TESTS} ${INTEGRITY_TESTS} + +-TESTS=$(TESTSCRIPTS) ++TESTS=$(BUILT_TESTS) $(TESTSCRIPTS) + + TESTS_ENVIRONMENT=RUN_FROM_MAKE=1 AWK=$(AWK) srcdir=$(srcdir) SHELL="$(SHELL)" $(SHELL) $(VERBOSE) + +@@ -73,6 +76,7 @@ + inputs/lexer.inp \ + inputs/lexer.mbx \ + inputs/lexer.out \ ++ inputs/mime-qp-cont-with-cr.txt \ + inputs/msg.1.txt \ + inputs/msg.2.txt \ + inputs/msg.3.txt \ +@@ -103,6 +107,7 @@ + outputs/maildir.out \ + outputs/message_addr.ref \ + outputs/message_id.ref \ ++ outputs/mime-qp-cont-with-cr.exp \ + outputs/msg.1.v \ + outputs/msg.2a.vv \ + outputs/msg.2a.vvv \ +Index: src/Makefile.am +=================================================================== +--- src/Makefile.am (revision 6820) ++++ src/Makefile.am (revision 6838) +@@ -254,8 +254,7 @@ + fgetsl_test_CFLAGS= -DMAIN + + # what to distribute +-EXTRA_DIST = $(bin_SCRIPTS) \ +- bogoupgrade.in \ ++EXTRA_DIST = bogoupgrade.in \ + version.sh \ + strlcat.3 strlcpy.3 \ + patch.lexer.254.txt patch.lexer.253x.txt +Index: src/qp.c +=================================================================== +--- src/qp.c (revision 6820) ++++ src/qp.c (revision 6838) +@@ -41,6 +41,10 @@ + } + } + ++/* Function Prototypes */ ++ ++static int qp_eol_check(byte *s, byte *e); ++ + /* Function Definitions */ + + uint qp_decode(word_t *word, qp_mode mode) +@@ -56,10 +60,13 @@ + int x, y; + switch (ch) { + case '=': +- if (mode == RFC2045 && s + 1 <= e && s[0] == '\n') { +- /* continuation line, trailing = */ +- s++; +- continue; ++ if (mode == RFC2045) { ++ int c = qp_eol_check(s, e); ++ if (c != 0) { ++ /* continuation line, trailing = */ ++ s += c; ++ continue; ++ } + } + if (s + 2 <= e && + (y = hex_to_bin(s[0])) >= 0 && (x = hex_to_bin(s[1])) >= 0) { +@@ -129,3 +136,22 @@ + + return true; + } ++ ++static int qp_eol_check(byte *s, byte *e) ++{ ++ if (s + 1 <= e) { ++ /* test for LF */ ++ if (s[0] == '\n') ++ { ++ /* only LF */ ++ return 1; ++ } ++ ++ if (s[0] == '\r' ++ && s + 2 <= e && s[1] == '\n') ++ /* CR LF */ ++ return 2; ++ } ++ ++ return 0; ++} +Index: NEWS +=================================================================== +--- NEWS (revision 6820) ++++ NEWS (revision 6838) +@@ -15,8 +15,19 @@ + + ------------------------------------------------------------------------------- + +-1.2.0 2009-02-21 (released) ++ 2009-05-28 ++ * Removed two scripts that are auto-built. ++ * Added test case for Stephen Davies' Q-P EOL problem (see below). + ++ 2009-05-25 ++ * Fixed EOL problem in quoted_printable text. Problem reported by ++ Stephen Davies and identified by Pavel Kankovsky. ++ ++ 2009-03-28 ++ * Promoted to "stable" ++ ++1.2.0 2009-02-21 (released) ++ + 2009-02-20 + * Flex-2.5.35 has fix for memory allocation problem in 2.5.4, + 2.5.31, and 2.5.33, making bogofilter's flex patch obsolete. +@@ -70,8 +81,11 @@ + systems to do that are reported to be shipped in 1987 by the autoconf + manual, so ditch them. + +-1.1.7 2008-05-04 (released) ++ 2008-05-18 ++ * Promoted to "stable" + ++1.1.7 2008-05-04 (released) ++ + 2008-04-30 + + * Updated sendmail milter contrib/bogofilter-milter.pl to v1.45 diff -ruN --exclude=CVS /usr/ports/mail/bogofilter/files/patch-src-tests-tframe /usr/home/emma/ports/mail/bogofilter/files/patch-src-tests-tframe --- /usr/ports/mail/bogofilter/files/patch-src-tests-tframe 2009-05-13 10:49:42.000000000 +0200 +++ /usr/home/emma/ports/mail/bogofilter/files/patch-src-tests-tframe 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ ---- ./src/tests/t.frame -+++ ./src/tests/t.frame -@@ -41,4 +41,4 @@ - # Obtain data base file suffix --DB_NAME=$("$BOGOFILTER" -C -V 2>&1 | sed -n '/Database:/ { p;q }') -+DB_NAME=$("$BOGOFILTER" -C -V 2>&1 | sed -n '/Database:/ {p;q;}') - case $DB_NAME in - *BerkeleyDB*|*"Berkeley DB"*) --- bogofilter-1.2.0_2.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: