Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id A87B1431FAF for ; Sun, 11 Mar 2012 18:30:25 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y8NYMOASnA8L for ; Sun, 11 Mar 2012 18:30:24 -0700 (PDT) Received: from tesseract.cs.unb.ca (tesseract.cs.unb.ca [131.202.240.238]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 6859B431FAE for ; Sun, 11 Mar 2012 18:30:24 -0700 (PDT) Received: from fctnnbsc30w-142166230117.dhcp-dynamic.fibreop.nb.bellaliant.net ([142.166.230.117] helo=zancas.localnet) by tesseract.cs.unb.ca with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from ) id 1S6u5d-0000qA-3G; Sun, 11 Mar 2012 22:30:23 -0300 Received: from bremner by zancas.localnet with local (Exim 4.77) (envelope-from ) id 1S6u5X-00008S-Ov; Sun, 11 Mar 2012 22:30:15 -0300 From: David Bremner To: notmuch@notmuchmail.org Subject: [PATCH] build: Require gmime >= 2.6.7 Date: Sun, 11 Mar 2012 22:29:46 -0300 Message-Id: <1331515786-485-1-git-send-email-david@tethera.net> X-Mailer: git-send-email 1.7.9.1 In-Reply-To: <1329852935-3019-1-git-send-email-schnouki@schnouki.net> References: <1329852935-3019-1-git-send-email-schnouki@schnouki.net> X-Spam_bar: - X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Mar 2012 01:30:25 -0000 From: Thomas Jost gmime-2.6 had a bug [1] which made it impossible to tell why a signature verification failed when the signer key was unavailable (empty "sigstatus" field in the JSON output). Since 00b5623d the corresponding test is marked as broken when using gmime-2.6 (2.4 is fine). This bug has been fixed in gmime 2.6.5, which is now the minimal gmime-2.6 version required for building notmuch (gmime-2.4 is still available). As a consequence the version check in test/crypto can be removed. [Added by db] Although less unambigously a bug, Gmime 2.6 prior to 2.6.7 also was more strict about parsing, and rejected messages with initial "From " headers. This restriction is relaxed in [2]. For reasons explained in [3], we want to keep this more relaxed parsing for now. [1] https://bugzilla.gnome.org/show_bug.cgi?id=668085 [2] http://git.gnome.org/browse/gmime/commit/?id=d311f576baf750476e06e9a1367a2dc1793ea7eb [3] id:"1331385931-1610-1-git-send-email-david@tethera.net" --- As an alternative to applying [3], I could apply this modified version of Thomas's patch. configure | 4 +++- test/crypto | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure index dedb7d8..ee0ae73 100755 --- a/configure +++ b/configure @@ -273,9 +273,11 @@ if [ ${have_xapian} = "0" ]; then errors=$((errors + 1)) fi +# If using GMime 2.6, we need to have a version >= 2.6.5 to avoid a +# crypto bug. We need 2.6.7 for permissive "From " header handling. printf "Checking for GMime development files... " have_gmime=0 -for gmimepc in gmime-2.6 gmime-2.4; do +for gmimepc in 'gmime-2.6 >= 2.6.7' gmime-2.4; do if pkg-config --exists $gmimepc; then printf "Yes ($gmimepc).\n" have_gmime=1 diff --git a/test/crypto b/test/crypto index 1dbb60a..6723ef8 100755 --- a/test/crypto +++ b/test/crypto @@ -104,8 +104,6 @@ test_expect_equal \ "$expected" test_begin_subtest "signature verification with signer key unavailable" -# this is broken with current versions of gmime-2.6 -(ldd $(which notmuch) | grep -Fq gmime-2.6) && test_subtest_known_broken # move the gnupghome temporarily out of the way mv "${GNUPGHOME}"{,.bak} output=$(notmuch show --format=json --verify subject:"test signed message 001" \ -- 1.7.9.1