Re: [PATCH 25/25] Fix stdout stream grabbing in format_part_content_text
authorJameson Graef Rollins <jrollins@finestructure.net>
Fri, 3 Jun 2011 22:57:42 +0000 (15:57 +1700)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:38:31 +0000 (09:38 -0800)
04/3dc52bf5ba12025b7cac591be7b315b4e137ce [new file with mode: 0644]

diff --git a/04/3dc52bf5ba12025b7cac591be7b315b4e137ce b/04/3dc52bf5ba12025b7cac591be7b315b4e137ce
new file mode 100644 (file)
index 0000000..3842bd7
--- /dev/null
@@ -0,0 +1,142 @@
+Return-Path: <jrollins@finestructure.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 E894B431FD0\r
+       for <notmuch@notmuchmail.org>; Fri,  3 Jun 2011 15:57:50 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -2.29\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-2.29 tagged_above=-999 required=5\r
+       tests=[RCVD_IN_DNSWL_MED=-2.3, T_MIME_NO_TEXT=0.01]\r
+       autolearn=unavailable\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 Zu00du2VH-ol for <notmuch@notmuchmail.org>;\r
+       Fri,  3 Jun 2011 15:57:50 -0700 (PDT)\r
+Received: from outgoing-mail.its.caltech.edu (outgoing-mail.its.caltech.edu\r
+       [131.215.239.19])\r
+       by olra.theworths.org (Postfix) with ESMTP id A4CFB431FB6\r
+       for <notmuch@notmuchmail.org>; Fri,  3 Jun 2011 15:57:50 -0700 (PDT)\r
+Received: from earth-doxen.imss.caltech.edu (localhost [127.0.0.1])\r
+       by earth-doxen-postvirus (Postfix) with ESMTP id AE5E966E0380;\r
+       Fri,  3 Jun 2011 15:57:46 -0700 (PDT)\r
+X-Spam-Scanned: at Caltech-IMSS on earth-doxen by amavisd-new\r
+Received: from servo.finestructure.net (gwave-79.ligo.caltech.edu\r
+       [131.215.114.79]) (Authenticated sender: jrollins)\r
+       by earth-doxen-submit (Postfix) with ESMTP id A3B1666E0398;\r
+       Fri,  3 Jun 2011 15:57:43 -0700 (PDT)\r
+Received: by servo.finestructure.net (Postfix, from userid 1000)\r
+       id C0BB5AD6; Fri,  3 Jun 2011 15:57:44 -0700 (PDT)\r
+From: Jameson Graef Rollins <jrollins@finestructure.net>\r
+To: Carl Worth <cworth@cworth.org>, Notmuch Mail <notmuch@notmuchmail.org>\r
+Subject: Re: [PATCH 25/25] Fix stdout stream grabbing in\r
+       format_part_content_text\r
+In-Reply-To: <87d3iulevu.fsf@yoom.home.cworth.org>\r
+References: <1306619520-25730-1-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-2-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-3-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-4-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-5-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-6-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-7-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-8-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-9-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-10-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-11-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-12-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-13-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-14-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-15-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-16-git-se nd-email-jrollins@finestructure.net>\r
+       <1306619520-25730-17-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-18-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-19-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-20-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-21-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-22-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-23-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-24-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-25-git-send-email-jrollins@finestructure.net>\r
+       <1306619520-25730-26-git-send-email-jrollins@finestructure.net>\r
+       <87r57almd9.fsf@yoom.home.cworth.org>\r
+       <87lixihahz.fsf@servo.factory.finestructure.net>\r
+       <87d3iulevu.fsf@yoom.home.cworth.org>\r
+User-Agent: Notmuch/0.6 (http://notmuchmail.org) Emacs/23.3.1\r
+       (x86_64-pc-linux-gnu)\r
+Date: Fri, 03 Jun 2011 15:57:42 -0700\r
+Message-ID: <87d3iuh6ah.fsf@servo.factory.finestructure.net>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/signed; boundary="=-=-=";\r
+       micalg=pgp-sha256; protocol="application/pgp-signature"\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, 03 Jun 2011 22:57:51 -0000\r
+\r
+--=-=-=\r
+Content-Transfer-Encoding: quoted-printable\r
+\r
+On Fri, 03 Jun 2011 15:38:29 -0700, Carl Worth <cworth@cworth.org> wrote:\r
+> commit d5b4d950245605b84c56ce991fa3c59a073a70e5\r
+> Author: Jameson Graef Rollins <jrollins@finestructure.net>\r
+> Date:   Sat May 28 14:52:00 2011 -0700\r
+>=20\r
+>     show: Avoid inadvertently closing stdout\r
+>=20=20=20=20=20\r
+>     GMime has a nasty habit of taking ownership by default of any FILE*\r
+>     handed to it va g_mime_stream_file_new. Specifically it will close the\r
+>     FILE* when the stream is destroyed---even though GMime didn't open the\r
+>     file itself.\r
+>=20=20=20=20=20\r
+>     To avoid this bad behavior, we have to carefully set_owner(FALSE)\r
+>     after calling g_mime_stream_file_new. In the format_part_content_text\r
+>     function, since commit d92146d3a6809f8ad940302af49cd99a0820665e we've\r
+>     been calling g_mime_stream_file_new unconditionally, but only calling\r
+>     g_mime_stream_file_set_owner(FALSE) conditionally.\r
+>=20=20=20=20=20\r
+>     This led to the FILE* being closed early when notmuch show output was\r
+>     redirected to a file.\r
+>=20=20=20=20=20\r
+>     Fixing this fixes the test-suite cases that broke with the previous\r
+>     commit, (which added redirected "notmuch show" calls to the test suite\r
+>     to expose this bug).\r
+>=20=20=20=20=20\r
+>     Edited-by: Carl Worth <cworth@cworth.org> with a new commit message to\r
+>     explain the bug and fix.\r
+\r
+Now I sound like I know what I'm talking about!  Thanks, Carl.\r
+\r
+jamie.\r
+\r
+--=-=-=\r
+Content-Type: application/pgp-signature\r
+\r
+-----BEGIN PGP SIGNATURE-----\r
+Version: GnuPG v1.4.11 (GNU/Linux)\r
+\r
+iQIcBAEBCAAGBQJN6WbmAAoJEO00zqvie6q8fUQP/2m/MOO0xkY1mX72gkQeB4xS\r
+U4niQQhIX1484t8+jCbHMtMPNwkXBA2vfxC2j2wE3tfyXfolRGDgTtJqo8SLSFx1\r
+3GY0Jfrvsld7kK7vXzpa2anyqae0x0R0vhZMoFtR24m7CmNIl1K938MdJkJvJK0k\r
+Q96EG4lT0rwMX8OgKjPewUd7o8myhq3RnxYCZ7QOMfB5zlpbVQ6A1jiFg3pQmSXE\r
+IT/49Ik5ijVVPHAygbT3v9lZx2+IbHMDb0IlQCbu0eAQYZvOysptD4rJqA6DuM8M\r
+km/jupzszfGZ3vt1UJSdno6FGFdNN9rs5i/nvQcB7D836YFCKbB+V8lBDpQzPY+c\r
+duBimK6FogImrfR0hhn/Cf4v53dDqAk016jF+O1SDJZDiSxkboDnCr/adIV0eK/t\r
+8ddlfMOLohwqxU1RrsYGnbrWJu60cwZsl5tJj38payd1Ijp9Du62yAAracTIrXn1\r
+4Wi0uXrnKJg1pL09UaBtEmt2+e5bDWANDWa/KFRejBNhpJXijDuTWMimOLAFvE6c\r
+rn35GJCT1cWEaGhEYx8vDkm6hYTX9gukWhtJ7+bcWxIepoqKEFJRU1bhiAnqV9MK\r
+PfqeJ2qZTKr4Vnnfd279AT0xqzzG9mFpUkHSJmumLt52tbxz4cCpaTEceOdMAc10\r
+sECcCwt8hC9ZW1tinHIE\r
+=UZCZ\r
+-----END PGP SIGNATURE-----\r
+--=-=-=--\r