From efb2e818db07f3cce8e106239631eb5c43827570 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Tue, 30 Jul 2013 15:46:50 +2000 Subject: [PATCH] Re: UTF-8 in mail headers (namely FROM) sent by bugzilla --- 1c/c40d5591f06374c3ef47832dddc77296a9c78b | 128 ++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 1c/c40d5591f06374c3ef47832dddc77296a9c78b diff --git a/1c/c40d5591f06374c3ef47832dddc77296a9c78b b/1c/c40d5591f06374c3ef47832dddc77296a9c78b new file mode 100644 index 000000000..dc34e17db --- /dev/null +++ b/1c/c40d5591f06374c3ef47832dddc77296a9c78b @@ -0,0 +1,128 @@ +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 518D6431FC3 + for ; Mon, 29 Jul 2013 12:46:56 -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 xAeRoB3lmb3H for ; + Mon, 29 Jul 2013 12:46:51 -0700 (PDT) +Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) + by olra.theworths.org (Postfix) with ESMTP id 20BBB431FC7 + for ; Mon, 29 Jul 2013 12:46:51 -0700 (PDT) +Received: from [192.168.23.229] (dsl254-070-154.nyc1.dsl.speakeasy.net + [216.254.70.154]) + by che.mayfirst.org (Postfix) with ESMTPSA id 95CC6F984; + Mon, 29 Jul 2013 15:46:48 -0400 (EDT) +Message-ID: <51F6C6AA.7010001@fifthhorseman.net> +Date: Mon, 29 Jul 2013 15:46:50 -0400 +From: Daniel Kahn Gillmor +User-Agent: Mozilla/5.0 (X11; Linux x86_64; + rv:17.0) Gecko/20130630 Icedove/17.0.7 +MIME-Version: 1.0 +To: David Bremner +Subject: Re: UTF-8 in mail headers (namely FROM) sent by bugzilla +References: <08cb1dcd-c5db-4e33-8b09-7730cb3d59a2@gmail.com> + <871u6psjwr.fsf@ericabrahamsen.net> + <5712cc41-d0ce-4ed3-af1c-37cf639dd9c0@gmail.com> + <87y58xv71x.fsf@zancas.localnet> +In-Reply-To: <87y58xv71x.fsf@zancas.localnet> +X-Enigmail-Version: 1.5.1 +Content-Type: multipart/signed; micalg=pgp-sha512; + protocol="application/pgp-signature"; + boundary="----enig2LHNJNKRNVBGUMGFBMJAV" +Cc: notmuch@notmuchmail.org +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, 29 Jul 2013 19:46:56 -0000 + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +------enig2LHNJNKRNVBGUMGFBMJAV +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: quoted-printable + +On 07/23/2013 07:39 AM, David Bremner wrote: +> Franz Fellner writes: +>=20 +>> +>> OK, thx. So every app needs to get patched to display those strings +>> properly? Any chance this could be done directly in libnotmuch? I +>> grepped for "2047" inside te "emacs" subtree, but found nothing (had +>> the hope for a comment for the workaround). Would be interesting to +>> see how this is done, so I can at least try to create a patch (though +>> my ruby is quite basic). +>=20 +> In general notmuch relies on libgmime for rfc2047 parsing. I'm not sur= +e +> of all the details now, but some of the filtering does happen in the +> CLI, not the lib. You could start by looking at +> gmime-filter-headers.[ch] in the top directory. + +I agree this should be handled properly by gmime. If it turns out that +the library is misbehaving (i.e. that notmuch is using it sensibly and +we're still getting bad data out of well-formed strings), it should be +reported and fixed there. + +Just a note that other MUAs are struggling with this sort of thing too: + +http://blog.steve.org.uk/international_character_sets_and_encodings_are_h= +ard_.html + +Steve Kemp (author of lumail) has good engineering skills and instincts; +anyone actively working on trying to get this fixed "right" within +notmuch (or underlying libraries) could probably drop him an e-mail and +collaborate. With a decent diagnostic of the specific problems and use +cases, plus a recommendation for where the fix should be and how it +should be done, the two projects together could probably exert +sufficient influence on underlying libraries and toolchains to get them +to address any issues. + +sorry to just provide links and not any actual analysis and code. + + --dkg + + +------enig2LHNJNKRNVBGUMGFBMJAV +Content-Type: application/pgp-signature; name="signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="signature.asc" + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.14 (GNU/Linux) +Comment: Using GnuPG with Icedove - http://www.enigmail.net/ + +iQJ8BAEBCgBmBQJR9saqXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRFQjk2OTEyODdBN0FEREUzNzU3RDkxMUVB +NTI0MDFCMTFCRkRGQTVDAAoJEKUkAbEb/fpcyk0QANMkTyqXqpFZ8sBaKhw1rY/P +SzyCDFYWaTXhPMFDacCEmU6bG8OB1/0VLvPjKwcXs40UHgtxu2aNswJhoyuP0lry +MYZCo/zb3Tup5m6jSXbMaZxvjHZ1kjsOUNR0mvMOJoAva81mbubG15I4obmWSldb +sR4/vYqjGfO8Q69wRzJpJBUPM3qReKUDd8fr0/frI6DR4UYB7QusASLaEp7d/WgY +MBqPD0DIw9nF1FOZ2xX1kdNbtNQvOdK3VBL9793k4VGJMfv/qzkfn3TPHwQMwCNP +OlhjHPUDr1fhZKiFp4xa7dPFIvWEppEdyeNaQ3SLIEV7GHw2Qw1yGubnneh3IEOg +VFXOnmD+eurxyHM6r9KEzmRK4K9X5CA6abLOcNYb6R6FFPZ2BDWZiOGWiTgsyJsl +T/6DlZzubBTg/s3Wj0YKPVCq28/xyt7XT8zw9kMM+7eKNww2boqkZruvFIwFhcx1 +Bet8bualMUQasp/B/MN3Z2AQZJD+FoPeYIbqQytkhRBlbIiDbABKINdqnmpMabd1 +3/ah9gw/X4/s2/euAY1TzwiIgAfgj30ZD/gn4wXTIZ7sC1ITo/VV9Iyf29X/oHKf +DzCOa0WR9YG5ML0OYDSJqxJEaLomJaAtH3TGzQ/Lcl+A+6dS9+Fik8lhvKarDOxM +nCAIMQidKBxWcXRdAzkf +=VNoq +-----END PGP SIGNATURE----- + +------enig2LHNJNKRNVBGUMGFBMJAV-- -- 2.26.2