[Jakub Wilk] Bug#749890: python3-notmuch: missing header in mbox message -> NullPoint...
authorDavid Bremner <david@tethera.net>
Fri, 30 May 2014 13:14:46 +0000 (10:14 +2100)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 18:03:04 +0000 (10:03 -0800)
e3/ea9ff9c5fbbee0dabc47ae2303cac65ec75cbb [new file with mode: 0644]

diff --git a/e3/ea9ff9c5fbbee0dabc47ae2303cac65ec75cbb b/e3/ea9ff9c5fbbee0dabc47ae2303cac65ec75cbb
new file mode 100644 (file)
index 0000000..70caa81
--- /dev/null
@@ -0,0 +1,214 @@
+Return-Path: <david@tethera.net>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 17D0A431FBD\r
+       for <notmuch@notmuchmail.org>; Fri, 30 May 2014 06:14:54 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id 29GFD5HQU5Hx for <notmuch@notmuchmail.org>;\r
+       Fri, 30 May 2014 06:14:50 -0700 (PDT)\r
+Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155])\r
+       (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id 7E808431FAE\r
+       for <notmuch@notmuchmail.org>; Fri, 30 May 2014 06:14:50 -0700 (PDT)\r
+Received: from remotemail by yantan.tethera.net with local (Exim 4.80)\r
+       (envelope-from <david@tethera.net>)\r
+       id 1WqMe1-0003gl-Kx; Fri, 30 May 2014 10:14:49 -0300\r
+Received: (nullmailer pid 6869 invoked by uid 1000); Fri, 30 May 2014\r
+       13:14:46 -0000\r
+From: David Bremner <david@tethera.net>\r
+To: notmuch@notmuchmail.org\r
+Subject: [Jakub Wilk] Bug#749890: python3-notmuch: missing header in mbox\r
+       message -> NullPointerError\r
+User-Agent: Notmuch/0.18 (http://notmuchmail.org) Emacs/24.3.1\r
+       (x86_64-pc-linux-gnu)\r
+Date: Fri, 30 May 2014 10:14:46 -0300\r
+Message-ID: <87k393l86x.fsf@zancas.localnet>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/mixed; boundary="=-=-="\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Fri, 30 May 2014 13:14:54 -0000\r
+\r
+--=-=-=\r
+Content-Type: text/plain\r
+\r
+\r
+this looks like a bug in the python bindings to me\r
+\r
+\r
+--=-=-=\r
+Content-Type: message/rfc822\r
+Content-Disposition: inline\r
+\r
+Return-path: <bounces+20140530-bremner=debian.org@packages.qa.debian.org>\r
+Envelope-to: david@tethera.net\r
+Delivery-date: Fri, 30 May 2014 09:39:12 -0300\r
+Received: from quantz.debian.org ([5.153.231.28])\r
+       by yantan.tethera.net with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128)\r
+       (Exim 4.80)\r
+       (envelope-from <bounces+20140530-bremner=debian.org@packages.qa.debian.org>)\r
+       id 1WqM5Y-0003YR-FC\r
+       for david@tethera.net; Fri, 30 May 2014 09:39:12 -0300\r
+Received: from qa by quantz.debian.org with local (Exim 4.80)\r
+       (envelope-from <bounces+20140530-bremner=debian.org@packages.qa.debian.org>)\r
+       id 1WqM5V-0003Ov-Vh\r
+       for david@tethera.net; Fri, 30 May 2014 12:39:09 +0000\r
+Received: from buxtehude.debian.org ([140.211.166.26]) from C=NA,ST=NA,\r
+ L=Ankh Morpork,O=Debian SMTP,OU=Debian SMTP CA,CN=buxtehude.debian.org,\r
+ EMAIL=hostmaster@buxtehude.debian.org (verified)      by quantz.debian.org with\r
+ esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128)  (Exim 4.80)     (envelope-from\r
+ <debbugs@buxtehude.debian.org>)       id 1WqM5V-0003OV-Gx     for\r
+ notmuch@packages.qa.debian.org; Fri, 30 May 2014 12:39:09 +0000\r
+Received: from debbugs by buxtehude.debian.org with local (Exim 4.80)\r
+ (envelope-from <debbugs@buxtehude.debian.org>)        id 1WqM5T-0000k8-4S; Fri,\r
+ 30 May 2014 12:39:07 +0000\r
+X-Loop: owner@bugs.debian.org\r
+Subject: Bug#749890: python3-notmuch: missing header in mbox message ->\r
+ NullPointerError\r
+Reply-To: Jakub Wilk <jwilk@debian.org>, 749890@bugs.debian.org\r
+Resent-From: Jakub Wilk <jwilk@debian.org>\r
+Original-Sender: Jakub Wilk <jwilk@master.debian.org>\r
+Resent-To: debian-bugs-dist@lists.debian.org\r
+Resent-CC: jwilk@debian.org, Carl Worth <cworth@debian.org>\r
+X-Loop: owner@bugs.debian.org\r
+Resent-Date: Fri, 30 May 2014 12:39:02 +0000\r
+Resent-Message-ID: <handler.749890.B.14014533741926@bugs.debian.org>\r
+X-Debian-PR-Message: report 749890\r
+X-Debian-PR-Package: python3-notmuch\r
+X-Debian-PR-Keywords: \r
+X-Debian-PR-Source: notmuch\r
+Received: via spool by submit@bugs.debian.org id=B.14014533741926 (code B);\r
+ Fri, 30 May 2014 12:39:02 +0000\r
+Received: (at submit) by bugs.debian.org; 30 May 2014 12:36:14 +0000\r
+X-Spam-Checker-Version: SpamAssassin 3.3.2-bugs.debian.org_2005_01_02\r
+       (2011-06-06) on buxtehude.debian.org\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-17.8 required=4.0 tests=BAYES_00,FOURLA,\r
+       FROMDEVELOPER,HAS_PACKAGE,RCVD_IN_DNSWL_MED,T_RP_MATCHES_RCVD,X_DEBBUGS_CC,\r
+       X_DEBBUGS_NO_ACK autolearn=ham version=3.3.2-bugs.debian.org_2005_01_02\r
+X-Spam-Bayes: score:0.0000 Tokens: new, 17; hammy, 151; neutral, 76;\r
+ spammy,       0. spammytokens: hammytokens:0.000-+--HX-Debbugs-No-Ack:please,\r
+       0.000-+--H*F:U*jwilk, 0.000-+--H*M:jwilk, 0.000-+--H*r:jwilk,\r
+       0.000-+--H*MI:jwilk\r
+Received: from master.debian.org ([82.195.75.110])     from C=NA,ST=NA,\r
+ L=Ankh Morpork,O=Debian SMTP,OU=Debian SMTP CA,CN=master.debian.org,\r
+ EMAIL=hostmaster@master.debian.org (verified) by buxtehude.debian.org with\r
+ esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128)  (Exim 4.80)     (envelope-from\r
+ <jwilk@debian.org>)   id 1WqM2g-0000Un-Ea     for submit@bugs.debian.org; Fri,\r
+ 30 May 2014 12:36:14 +0000\r
+Received: from jwilk by master.debian.org with local (Exim 4.80)\r
+ (envelope-from <jwilk@debian.org>)    id 1WqM2e-0005im-An     for\r
+ submit@bugs.debian.org; Fri, 30 May 2014 12:36:12 +0000\r
+Date: Fri, 30 May 2014 14:36:09 +0200\r
+From: Jakub Wilk <jwilk@debian.org>\r
+To: Debian Bug Tracking System <submit@bugs.debian.org>\r
+Message-ID: <20140530123609.GA5727@jwilk.net>\r
+X-Reportbug-Version: 6.5.0\r
+User-Agent: Mutt/1.5.23 (2014-03-12)\r
+Sender: Jakub Wilk <jwilk@master.debian.org>\r
+Delivered-To: submit@bugs.debian.org\r
+Delivered-To: notmuch@packages.qa.debian.org\r
+Precedence: list\r
+X-Loop: notmuch@packages.qa.debian.org\r
+X-Debian: PTS\r
+X-Debian-Package: notmuch\r
+X-PTS-Package: notmuch\r
+X-PTS-Keyword: bts\r
+List-Unsubscribe: <mailto:pts@qa.debian.org?body=unsubscribe%20notmuch>\r
+Resent-Sender: Debian QA <qa@quantz.debian.org>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/mixed; boundary="====-=-="\r
+\r
+--====-=-=\r
+Content-Type: text/plain; format=flowed\r
+Content-Disposition: inline\r
+\r
+Package: python3-notmuch\r
+Version: 0.18-3\r
+Severity: minor\r
+\r
+If a message starts with the "From " postmark (i.e., it's in the mbox \r
+format), and you ask the get_header() method for a non-existent header, \r
+it raises NullPointerError, instead of returning empty string.\r
+\r
+Now, I realize that support for indexing mbox files has been dropped, \r
+but users might still have them on disk, indexed by an old version of \r
+notmuch. This is how I discovered this bug.\r
+\r
+I've attached my crafted mail archive (which I indexed with wheezy's \r
+notmuch), and the script that I used for testing:\r
+\r
+$ python3 test.py\r
+OK\r
+NullPointerError()\r
+\r
+\r
+-- System Information:\r
+Debian Release: jessie/sid\r
+  APT prefers unstable\r
+  APT policy: (990, 'unstable'), (500, 'stable')\r
+Architecture: amd64 (x86_64)\r
+\r
+Kernel: Linux 3.14-1-amd64 (SMP w/1 CPU core)\r
+Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)\r
+Shell: /bin/sh linked to /bin/dash\r
+\r
+Versions of packages python3-notmuch depends on:\r
+ii  libnotmuch3  0.18-3+b1\r
+\r
+-- \r
+Jakub Wilk\r
+\r
+--====-=-=\r
+Content-Type: application/gzip\r
+Content-Disposition: attachment; filename=mail.tar.gz\r
+Content-Transfer-Encoding: base64\r
+\r
+H4sIAPd3iFMAA+3UTW6DMBCGYdacYnKCjI0dVA4QddNVTkCaqCI1suQQRb19CbsitVk5P+r7bMbI\r
+SAwefe7bLiyLvHRUez/V0bxOa2MrZ7Wuam8LNVa1KsRn7mtyOg5tGltJMQ5/vXdtf/5zT6K/zP8j\r
+xl3Gb1zOY+Xc7/Mf92bzX3lXyE0O8Z/Pf3PaHvbvQyOv+xCinGMKu0VZ/ni6d4/IZ8r/ts0Z/6v5\r
+N8bM8++cJ/+3sE6xl8O5C58i69TJW/sllYpxjb406sWqcSWXBAAAAAAAAAAAAAAAD+0bvcL6SAAo\r
+AAA=\r
+--====-=-=\r
+Content-Type: text/x-python\r
+Content-Disposition: attachment; filename=test.py\r
+\r
+#!/usr/bin/python3\r
+\r
+import notmuch\r
+\r
+with notmuch.Database() as db:\r
+    query = db.create_query('')\r
+    for msg in query.search_messages():\r
+        try:\r
+            assert msg.get_header('Subject') == 'Hello world!'\r
+            assert msg.get_header('Does-Not-Exist') == ''\r
+        except Exception as exc:\r
+            print(ascii(exc))\r
+        else:\r
+            print('OK')\r
+\r
+# vim:ts=4 sw=4 et\r
+\r
+--====-=-=--\r
+\r
+--=-=-=--\r