From unknown Mon Jun 23 20:18:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26263: sha256sum does not correctly parse file with PGP message header (coreutils 8.26) Resent-From: Toby Kelsey Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 26 Mar 2017 10:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 26263 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 26263@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.14905236011510 (code B ref -1); Sun, 26 Mar 2017 10:20:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Mar 2017 10:20:01 +0000 Received: from localhost ([127.0.0.1]:45038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cs5HE-0000OB-Oh for submit@debbugs.gnu.org; Sun, 26 Mar 2017 06:20:01 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cs575-00006W-VC for submit@debbugs.gnu.org; Sun, 26 Mar 2017 06:09:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cs56z-0007dc-3C for submit@debbugs.gnu.org; Sun, 26 Mar 2017 06:09:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:58874) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cs56y-0007dV-Vm for submit@debbugs.gnu.org; Sun, 26 Mar 2017 06:09:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41710) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cs56x-0000dw-77 for bug-coreutils@gnu.org; Sun, 26 Mar 2017 06:09:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cs56s-0007cf-6R for bug-coreutils@gnu.org; Sun, 26 Mar 2017 06:09:23 -0400 Received: from mail-wr0-x22e.google.com ([2a00:1450:400c:c0c::22e]:36744) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cs56r-0007cN-Rw for bug-coreutils@gnu.org; Sun, 26 Mar 2017 06:09:18 -0400 Received: by mail-wr0-x22e.google.com with SMTP id w11so5654841wrc.3 for ; Sun, 26 Mar 2017 03:09:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version; bh=xQxikeujTA9SNZp/YGuASyRMxZJN40GePVcKE5HrK5s=; b=NeymQWC+99VqK+4Y7rmQtkghhh+t8WZcATvW3o/RIQ52gwn2lbUBRPnFiDMKpDz7oC SHU5KryNpQT5JlqTQCrHdO64crusNk3yP+olssW5NvfmNuV2B16G3ULhyDl27tqzOCGG NRDvvtWkhib5ouF2EynU2o0aWssZ4st2gv0tN0T2h3+Hgcu4oOQfZnuK8o5KeFmLEj4u HYPj+8SQUHxSTW3wryoErYr3TmSpoI5J0z2EA4zZXEK4/oKL+oSIYM3+zruYhJ64gfai u+gA9LoK1nTYVushe0505dd0dgskrHcY57gBMQpuncGtjVf6NrlW1MOs0TyUCeU3Njli LF1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version; bh=xQxikeujTA9SNZp/YGuASyRMxZJN40GePVcKE5HrK5s=; b=nm3igeejemLdHSW7PsdSJ6EaIwc0+6s+701J1dA677f3Hl1+79OGIj187qxaox6eb0 t5jgYBQzHWXwvdnDw5g+Zf0Cmyaq+NgwQZPDRgJ4kFU7lefPgeEkpsj5C4BU1WRuJqn+ TwyA6KoakmkAv3Gu6Sx4cFCVtrv4kwbi8U2D8DFwKNN8HExVpFCUWGnjvaqKcV/NGR/P 3UA+ZpJL+WAfpNTYuXlIqL/FtJAW5y0grpT9LZcZzyyzQnDOF5Nx+VSBB37a/JPNxbmX pX8QmZPQf1P9GGmzR25Z46fwMBmsA3Pbd9Snr/fwwn+5K8ec6LPwmEKXUiIERgYaNCRp 3Smg== X-Gm-Message-State: AFeK/H1WuNPSMpKeLH8WcUlJCpAF8VW1fCa9eS1vpu73hU2gIqR1tJLW1thhPTh/GkXriQ== X-Received: by 10.223.173.165 with SMTP id w34mr9076538wrc.125.1490522956319; Sun, 26 Mar 2017 03:09:16 -0700 (PDT) Received: from [192.168.1.66] ([2.126.244.173]) by smtp.googlemail.com with ESMTPSA id x127sm9824170wmf.31.2017.03.26.03.09.14 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Mar 2017 03:09:15 -0700 (PDT) From: Toby Kelsey Message-ID: <1fbff762-c6ae-5af7-2c52-8d02088a59d8@gmail.com> Date: Sun, 26 Mar 2017 11:09:10 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------4B47107BBDDDD7F5E97FF0BE" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Mailman-Approved-At: Sun, 26 Mar 2017 06:19:59 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) This is a multi-part message in MIME format. --------------4B47107BBDDDD7F5E97FF0BE Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I notice sha256sum does not correctly parse a file with a PGP header. Here is a script log: toby@toby-pc:/tmp/test$ ls -l total 57068 -rw-r--r-- 1 toby toby 2046 Mar 26 10:30 hashes.txt -rw-r--r-- 1 toby toby 58432932 Mar 26 10:30 monero-linux-x64-v0.10.3.0.tar.bz2 toby@toby-pc:/tmp/test$ grep linux-x64 hashes.txt > single.txt toby@toby-pc:/tmp/test$ cat single.txt f164112bea75dfd3eaaa905d21129820a996bbe6e5d65cb194609c672a71c3fe monero-linux-x64-v0.10.3.0.tar.bz2 toby@toby-pc:/tmp/test$ sha256sum -c single.txt monero-linux-x64-v0.10.3.0.tar.bz2: OK toby@toby-pc:/tmp/test$ sha256sum -c hashes.txt sha256sum: ' monero-win-x64-v0.10.3.0.zip': No such file or directory monero-win-x64-v0.10.3.0.zip: FAILED open or read sha256sum: ' monero-win-x86-v0.10.3.0.zip': No such file or directory monero-win-x86-v0.10.3.0.zip: FAILED open or read sha256sum: ' monero-mac-x64-v0.10.3.0.tar.bz2': No such file or directory monero-mac-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-linux-x64-v0.10.3.0.tar.bz2': No such file or directory monero-linux-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-linux-x86-v0.10.3.0.tar.bz2': No such file or directory monero-linux-x86-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-linux-armv7-v0.10.3.0.tar.bz2': No such file or directory monero-linux-armv7-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-linux-armv8-v0.10.3.0.tar.bz2': No such file or directory monero-linux-armv8-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-freebsd-x64-v0.10.3.0.tar.bz2': No such file or directory monero-freebsd-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-dragonflybsd-x64-v0.10.3.0.tar.bz2': No such file or directory monero-dragonflybsd-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero.gui.win.x64.beta.zip': No such file or directory monero.gui.win.x64.beta.zip: FAILED open or read sha256sum: ' monero.gui.mac.x64.beta.tar.bz2': No such file or directory monero.gui.mac.x64.beta.tar.bz2: FAILED open or read sha256sum: ' monero.gui.linux.x64.beta.tar.bz2': No such file or directory monero.gui.linux.x64.beta.tar.bz2: FAILED open or read sha256sum: ' monero.gui.linux.x86.beta.tar.bz2': No such file or directory monero.gui.linux.x86.beta.tar.bz2: FAILED open or read sha256sum: WARNING: 22 lines are improperly formatted sha256sum: WARNING: 13 listed files could not be read There is a spurious extra space at the start of filenames in the larger file. If I just extract the hash lines it works: toby@toby-pc:/tmp/test$ egrep zip\|bz2 hashes.txt > hashes1.txt toby@toby-pc:/tmp/test$ sha256sum -c hashes1.txt sha256sum: monero-win-x64-v0.10.3.0.zip: No such file or directory monero-win-x64-v0.10.3.0.zip: FAILED open or read sha256sum: monero-win-x86-v0.10.3.0.zip: No such file or directory monero-win-x86-v0.10.3.0.zip: FAILED open or read sha256sum: monero-mac-x64-v0.10.3.0.tar.bz2: No such file or directory monero-mac-x64-v0.10.3.0.tar.bz2: FAILED open or read monero-linux-x64-v0.10.3.0.tar.bz2: OK sha256sum: monero-linux-x86-v0.10.3.0.tar.bz2: No such file or directory monero-linux-x86-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero-linux-armv7-v0.10.3.0.tar.bz2: No such file or directory monero-linux-armv7-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero-linux-armv8-v0.10.3.0.tar.bz2: No such file or directory monero-linux-armv8-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero-freebsd-x64-v0.10.3.0.tar.bz2: No such file or directory monero-freebsd-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero-dragonflybsd-x64-v0.10.3.0.tar.bz2: No such file or directory monero-dragonflybsd-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero.gui.win.x64.beta.zip: No such file or directory monero.gui.win.x64.beta.zip: FAILED open or read sha256sum: monero.gui.mac.x64.beta.tar.bz2: No such file or directory monero.gui.mac.x64.beta.tar.bz2: FAILED open or read sha256sum: monero.gui.linux.x64.beta.tar.bz2: No such file or directory monero.gui.linux.x64.beta.tar.bz2: FAILED open or read sha256sum: monero.gui.linux.x86.beta.tar.bz2: No such file or directory monero.gui.linux.x86.beta.tar.bz2: FAILED open or read sha256sum: WARNING: 12 listed files could not be read The hash file is from Regards, Toby --------------4B47107BBDDDD7F5E97FF0BE Content-Type: text/plain; charset=UTF-8; name="hashes.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="hashes.txt" LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQpIYXNoOiBTSEEyNTYKClRoaXMg R1BHLXNpZ25lZCBtZXNzYWdlIGV4aXN0cyB0byBjb25maXJtIHRoZSBTSEEyNTYgc3VtcyBv biBNb25lcm8gYmluYXJpZXMuCgpQbGVhc2UgdmVyaWZ5IHRoZSBzaWduYXR1cmUgYWdhaW5z dCB0aGUgc2lnbmF0dXJlIGZvciBmbHVmZnlwb255IGluIHRoZQpzb3VyY2UgY29kZSByZXBv c2l0b3J5ICgvdXRpbHMvZ3BnX2tleXMpLgoKMzdhNTdkMWJlODFiNjExOWFjMDZkM2Y2Mzdi NGM1NmZjNjI1ZjNlNzkwZjM0OTFjMWJkY2E0ZDYyOTAyYmYxMyAgbW9uZXJvLXdpbi14NjQt djAuMTAuMy4wLnppcAo3Zjk1YmRjZjRkZjIzMmYzN2M0NTA1MjM4MzFmMzZjY2I5ZmRiMmU1 MGMxYjViMGE1Mjg1ZDUwNTQ5ZDI3M2JlICBtb25lcm8td2luLXg4Ni12MC4xMC4zLjAuemlw CjhlNjE3MGYyNzRlNjkwMTBiYmU2NjJkODgyOGM4ZTRiMGI0YWNkYjBhMWEzNjk5YjViOTdh ZjhjM2E1MTZhOTQgIG1vbmVyby1tYWMteDY0LXYwLjEwLjMuMC50YXIuYnoyCmYxNjQxMTJi ZWE3NWRmZDNlYWFhOTA1ZDIxMTI5ODIwYTk5NmJiZTZlNWQ2NWNiMTk0NjA5YzY3MmE3MWMz ZmUgIG1vbmVyby1saW51eC14NjQtdjAuMTAuMy4wLnRhci5iejIKYjhiZDI1OGI4MjhkOGVh NDVhN2MyNTk1MTg3YzEzYjVlNjI0ZjQ1YWU5MjljYjY0YWM4OWUzYTAzMDMwMjMxNiAgbW9u ZXJvLWxpbnV4LXg4Ni12MC4xMC4zLjAudGFyLmJ6MgowM2IyZjNmMzBjN2QwNDcxNDJjYmZj ZDYxNDc2MmYzZDE2NWQ2NDQ2NGUzZTViMWE1YjBjNDJhYmE5NTcwZDZhICBtb25lcm8tbGlu dXgtYXJtdjctdjAuMTAuMy4wLnRhci5iejIKNmIyOWM1NmNhOGQ3MWYyM2YxM2I2OGQ0OGUz OWUzNWIxZDdjN2MyMTJjZjAwZjNkNThiMGQyZDliNjQzNWM0YyAgbW9uZXJvLWxpbnV4LWFy bXY4LXYwLjEwLjMuMC50YXIuYnoyCjgzNGI1NmVmY2NjNWFiMDk4NWM3Zjg3MDQ0OTcwNGJh MzkwYzc5MTA0ZWNmYzBiNjM5MzVkZmI0ZjcwYzZjZjkgIG1vbmVyby1mcmVlYnNkLXg2NC12 MC4xMC4zLjAudGFyLmJ6Mgo0YWI1YjJhNzQ1Y2E1ZWE0Y2FkMjUzMTY2ZmY4MGZmNjBiYjQ4 NzFmNmM4ZmE4MWZmMDMyY2RmMjM3ZjZlMzcyICBtb25lcm8tZHJhZ29uZmx5YnNkLXg2NC12 MC4xMC4zLjAudGFyLmJ6MgoKY2I4YmRmMzZmYjU2NzM5YTBmYTc0NmJlYzhkZDUxZmIzNDc5 ZDUxYTNiOGYwY2U0MWE3NzFmMWQ1YTkyNGJkYiAgbW9uZXJvLmd1aS53aW4ueDY0LmJldGEu emlwCjkwN2JmYjQ4MzJjNzRkZTZjZWM3ZGY3MzBkZmNlNWQ5Y2NjMWU2ZGUwOWI2YTQ1NDZj YjllZWUxZjgyNDI5NjggIG1vbmVyby5ndWkubWFjLng2NC5iZXRhLnRhci5iejIKY2VjYmU0 YjIzZjc3NzQ0MmRlODYxYmMwOTgxYWYwODU3ZGFiMDQzZWQ2M2JlOThmNzY4Y2RkMDA4MjVh OGQwOSAgbW9uZXJvLmd1aS5saW51eC54NjQuYmV0YS50YXIuYnoyCmRhYWJkMTFiMjcxNjg1 Y2VkZjVkNjMyMWNiZGU1ZTZiN2MyNjkxNjMwYTQzNTVhOTczZmMwY2I5OWIxZDJkYzkgIG1v bmVyby5ndWkubGludXgueDg2LmJldGEudGFyLmJ6MgoKUmljY2FyZG8gImZsdWZmeXBvbnki IFNwYWduaQotLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLQpWZXJzaW9uOiBHbnVQRyB2 MgoKaVFFY0JBRUJDQUFHQlFKWTF2MlVBQW9KRUZWRExmTWN6VS9OZ1ZvSUFMZFpGd01TRkxB dDFUb01Uc1pmc3UvYgp1b0ZmY3FYNTFXVnhURkFSTEkxVjBFaEV5L3FVQnpmTFhGUjkrVjdw THZXblc3U1dhcHhGRFMxZmIxSmhtOWVOCnp1b2FFWmhaMitPTXJJcWZMWU9uWnJ6OHRhVEFp NWRxcFJVK09Zc3ZYRDFGbGdnZkZMWGZ2OWtnYUd3VzJoREgKMTBzODlpQ3YzZ1Z2UXI0clJL S2F2M0JrSVBzMHpObUZ4bENPNkJQbkJ2UmN1MGg1M2hlTVNMbHdPeGRBM0xIZwpjZnkyNlF0 YUIycFpaNW5lQVVtWjV6M1A2VlhZTm9uQVptNmpmai9mZ0FZRkUwbGpJNUxEMnZHTCtLVzNT bFRVCklhUVZiWktMQW51cmgxWmgxaC9udkF2MFlBOEllRFZXSHVLbXd1czFaQldTM3oyR0Nv ZHQ4c3lmRGkrdnlvZz0KPTBYV1kKLS0tLS1FTkQgUEdQIFNJR05BVFVSRS0tLS0t --------------4B47107BBDDDD7F5E97FF0BE-- From unknown Mon Jun 23 20:18:25 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Toby Kelsey Subject: bug#26263: closed (Re: bug#26263: sha256sum does not correctly parse file with PGP message header (coreutils 8.26)) Message-ID: References: <445c0f61-0cbb-a08e-7335-3e2dc1088a5e@draigBrady.com> <1fbff762-c6ae-5af7-2c52-8d02088a59d8@gmail.com> X-Gnu-PR-Message: they-closed 26263 X-Gnu-PR-Package: coreutils Reply-To: 26263@debbugs.gnu.org Date: Mon, 27 Mar 2017 00:15:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1490573701-17757-1" This is a multi-part message in MIME format... ------------=_1490573701-17757-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #26263: sha256sum does not correctly parse file with PGP message header (co= reutils 8.26) which was filed against the coreutils package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 26263@debbugs.gnu.org. --=20 26263: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D26263 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1490573701-17757-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 26263-done) by debbugs.gnu.org; 27 Mar 2017 00:14:05 +0000 Received: from localhost ([127.0.0.1]:46444 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1csIIO-0004b6-Mj for submit@debbugs.gnu.org; Sun, 26 Mar 2017 20:14:04 -0400 Received: from midir.magicbluesmoke.com ([82.195.144.46]:60022 helo=mail.magicbluesmoke.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1csIIL-0004aZ-W9 for 26263-done@debbugs.gnu.org; Sun, 26 Mar 2017 20:14:02 -0400 Received: from localhost.localdomain (unknown [166.177.248.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.magicbluesmoke.com (Postfix) with ESMTPSA id E2B6A98C9; Mon, 27 Mar 2017 01:13:59 +0100 (IST) Subject: Re: bug#26263: sha256sum does not correctly parse file with PGP message header (coreutils 8.26) To: Toby Kelsey , 26263-done@debbugs.gnu.org References: <1fbff762-c6ae-5af7-2c52-8d02088a59d8@gmail.com> From: =?UTF-8?Q?P=c3=a1draig_Brady?= Message-ID: <445c0f61-0cbb-a08e-7335-3e2dc1088a5e@draigBrady.com> Date: Sun, 26 Mar 2017 17:13:56 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1fbff762-c6ae-5af7-2c52-8d02088a59d8@gmail.com> Content-Type: multipart/mixed; boundary="------------10ED34D3A914CEBA383BBA5C" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 26263-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) This is a multi-part message in MIME format. --------------10ED34D3A914CEBA383BBA5C Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit On 26/03/17 03:09, Toby Kelsey wrote: > I notice sha256sum does not correctly parse a file with a PGP header. Here is a script log: > toby@toby-pc:/tmp/test$ sha256sum -c hashes.txt > > sha256sum: ' monero-win-x64-v0.10.3.0.zip': No such file or directory > monero-win-x64-v0.10.3.0.zip: FAILED open or read > There is a spurious extra space at the start of filenames in the larger file. > If I just extract the hash lines it works: > The hash file is from The attached should fix this issue. thanks, Pádraig --------------10ED34D3A914CEBA383BBA5C Content-Type: text/x-patch; name="md5sum-bad-bsd-r.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="md5sum-bad-bsd-r.patch" >From 1a1029ea037d70d13eef05d29d17980fac729e2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Sun, 26 Mar 2017 17:04:36 -0700 Subject: [PATCH] md5sum,b2sum,sha*sum: don't erroneously trigger BSD reversed mode * src/md5sum.c (split_3): Verify hex digits internally before triggering the global bsd_reversed mode flag. (bsd_split_3): Likewise. * tests/misc/md5sum-bsd.sh: Add a test case. * NEWS: Mention the bug fix. Fixes http://bugs.gnu.org/26263 --- NEWS | 4 ++++ src/md5sum.c | 39 +++++++++++++++++++++------------------ tests/misc/md5sum-bsd.sh | 7 +++++++ 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/NEWS b/NEWS index e8d6d34..4604318 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,10 @@ GNU coreutils NEWS -*- outline -*- split no longer exits when invocations of a --filter return EPIPE. [bug introduced in coreutils-8.26] + md5sum --check no longer incorrectly enables BSD reversed format mode when + ignoring some non checksum lines. This also affects sha*sum and b2sum. + [bug introduced in coreutils-8.14] + * Noteworthy changes in release 8.27 (2017-03-08) [stable] diff --git a/src/md5sum.c b/src/md5sum.c index e58a68e..91cdfb2 100644 --- a/src/md5sum.c +++ b/src/md5sum.c @@ -346,6 +346,21 @@ filename_unescape (char *s, size_t s_len) return s; } +/* Return true if S is a NUL-terminated string of DIGEST_HEX_BYTES hex digits. + Otherwise, return false. */ +static bool _GL_ATTRIBUTE_PURE +hex_digits (unsigned char const *s) +{ + unsigned int i; + for (i = 0; i < digest_hex_bytes; i++) + { + if (!isxdigit (*s)) + return false; + ++s; + } + return *s == '\0'; +} + /* Split the checksum string S (of length S_LEN) from a BSD 'md5' or 'sha1' command into two parts: a hexadecimal digest, and the file name. S is modified. Return true if successful. */ @@ -386,7 +401,8 @@ bsd_split_3 (char *s, size_t s_len, unsigned char **hex_digest, i++; *hex_digest = (unsigned char *) &s[i]; - return true; + + return hex_digits (*hex_digest); } /* Split the string S (of length S_LEN) into three parts: @@ -492,6 +508,9 @@ split_3 (char *s, size_t s_len, s[i++] = '\0'; + if (! hex_digits (*hex_digest)) + return false; + /* If "bsd reversed" format detected. */ if ((s_len - i == 1) || (s[i] != ' ' && s[i] != '*')) { @@ -521,21 +540,6 @@ split_3 (char *s, size_t s_len, return true; } -/* Return true if S is a NUL-terminated string of DIGEST_HEX_BYTES hex digits. - Otherwise, return false. */ -static bool _GL_ATTRIBUTE_PURE -hex_digits (unsigned char const *s) -{ - unsigned int i; - for (i = 0; i < digest_hex_bytes; i++) - { - if (!isxdigit (*s)) - return false; - ++s; - } - return *s == '\0'; -} - /* If ESCAPE is true, then translate each NEWLINE byte to the string, "\\n", and each backslash to "\\\\". */ static void @@ -702,8 +706,7 @@ digest_check (const char *checkfile_name) line[--line_length] = '\0'; if (! (split_3 (line, line_length, &hex_digest, &binary, &filename) - && ! (is_stdin && STREQ (filename, "-")) - && hex_digits (hex_digest))) + && ! (is_stdin && STREQ (filename, "-")))) { ++n_misformatted_lines; diff --git a/tests/misc/md5sum-bsd.sh b/tests/misc/md5sum-bsd.sh index e2ad8db..dfd2cef 100755 --- a/tests/misc/md5sum-bsd.sh +++ b/tests/misc/md5sum-bsd.sh @@ -36,6 +36,13 @@ sed 's/ / /' check.md5sum > check.md5 md5sum --strict -c check.md5sum || fail=1 md5sum --strict -c check.md5 || fail=1 +# Ensure we don't trigger BSD reversed format with GPG headers etc. +echo '____not_all_hex_so_no_match_____ blah' > check2.md5sum +cat check.md5sum >> check2.md5sum +md5sum -c check2.md5sum 2>check2.err || fail=1 +echo 'md5sum: WARNING: 1 line is improperly formatted' >check2.exp +compare check2.exp check2.err || fail=1 + # If we skip the first entry in the BSD format checksums # then it'll be detected as standard format and error. # This unlikely caveat was thought better than mandating -- 2.9.3 --------------10ED34D3A914CEBA383BBA5C-- ------------=_1490573701-17757-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 26 Mar 2017 10:20:01 +0000 Received: from localhost ([127.0.0.1]:45038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cs5HE-0000OB-Oh for submit@debbugs.gnu.org; Sun, 26 Mar 2017 06:20:01 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cs575-00006W-VC for submit@debbugs.gnu.org; Sun, 26 Mar 2017 06:09:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cs56z-0007dc-3C for submit@debbugs.gnu.org; Sun, 26 Mar 2017 06:09:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:58874) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cs56y-0007dV-Vm for submit@debbugs.gnu.org; Sun, 26 Mar 2017 06:09:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41710) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cs56x-0000dw-77 for bug-coreutils@gnu.org; Sun, 26 Mar 2017 06:09:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cs56s-0007cf-6R for bug-coreutils@gnu.org; Sun, 26 Mar 2017 06:09:23 -0400 Received: from mail-wr0-x22e.google.com ([2a00:1450:400c:c0c::22e]:36744) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cs56r-0007cN-Rw for bug-coreutils@gnu.org; Sun, 26 Mar 2017 06:09:18 -0400 Received: by mail-wr0-x22e.google.com with SMTP id w11so5654841wrc.3 for ; Sun, 26 Mar 2017 03:09:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version; bh=xQxikeujTA9SNZp/YGuASyRMxZJN40GePVcKE5HrK5s=; b=NeymQWC+99VqK+4Y7rmQtkghhh+t8WZcATvW3o/RIQ52gwn2lbUBRPnFiDMKpDz7oC SHU5KryNpQT5JlqTQCrHdO64crusNk3yP+olssW5NvfmNuV2B16G3ULhyDl27tqzOCGG NRDvvtWkhib5ouF2EynU2o0aWssZ4st2gv0tN0T2h3+Hgcu4oOQfZnuK8o5KeFmLEj4u HYPj+8SQUHxSTW3wryoErYr3TmSpoI5J0z2EA4zZXEK4/oKL+oSIYM3+zruYhJ64gfai u+gA9LoK1nTYVushe0505dd0dgskrHcY57gBMQpuncGtjVf6NrlW1MOs0TyUCeU3Njli LF1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version; bh=xQxikeujTA9SNZp/YGuASyRMxZJN40GePVcKE5HrK5s=; b=nm3igeejemLdHSW7PsdSJ6EaIwc0+6s+701J1dA677f3Hl1+79OGIj187qxaox6eb0 t5jgYBQzHWXwvdnDw5g+Zf0Cmyaq+NgwQZPDRgJ4kFU7lefPgeEkpsj5C4BU1WRuJqn+ TwyA6KoakmkAv3Gu6Sx4cFCVtrv4kwbi8U2D8DFwKNN8HExVpFCUWGnjvaqKcV/NGR/P 3UA+ZpJL+WAfpNTYuXlIqL/FtJAW5y0grpT9LZcZzyyzQnDOF5Nx+VSBB37a/JPNxbmX pX8QmZPQf1P9GGmzR25Z46fwMBmsA3Pbd9Snr/fwwn+5K8ec6LPwmEKXUiIERgYaNCRp 3Smg== X-Gm-Message-State: AFeK/H1WuNPSMpKeLH8WcUlJCpAF8VW1fCa9eS1vpu73hU2gIqR1tJLW1thhPTh/GkXriQ== X-Received: by 10.223.173.165 with SMTP id w34mr9076538wrc.125.1490522956319; Sun, 26 Mar 2017 03:09:16 -0700 (PDT) Received: from [192.168.1.66] ([2.126.244.173]) by smtp.googlemail.com with ESMTPSA id x127sm9824170wmf.31.2017.03.26.03.09.14 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Mar 2017 03:09:15 -0700 (PDT) To: bug-coreutils@gnu.org From: Toby Kelsey Subject: sha256sum does not correctly parse file with PGP message header (coreutils 8.26) Message-ID: <1fbff762-c6ae-5af7-2c52-8d02088a59d8@gmail.com> Date: Sun, 26 Mar 2017 11:09:10 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------4B47107BBDDDD7F5E97FF0BE" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 26 Mar 2017 06:19:59 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) This is a multi-part message in MIME format. --------------4B47107BBDDDD7F5E97FF0BE Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I notice sha256sum does not correctly parse a file with a PGP header. Here is a script log: toby@toby-pc:/tmp/test$ ls -l total 57068 -rw-r--r-- 1 toby toby 2046 Mar 26 10:30 hashes.txt -rw-r--r-- 1 toby toby 58432932 Mar 26 10:30 monero-linux-x64-v0.10.3.0.tar.bz2 toby@toby-pc:/tmp/test$ grep linux-x64 hashes.txt > single.txt toby@toby-pc:/tmp/test$ cat single.txt f164112bea75dfd3eaaa905d21129820a996bbe6e5d65cb194609c672a71c3fe monero-linux-x64-v0.10.3.0.tar.bz2 toby@toby-pc:/tmp/test$ sha256sum -c single.txt monero-linux-x64-v0.10.3.0.tar.bz2: OK toby@toby-pc:/tmp/test$ sha256sum -c hashes.txt sha256sum: ' monero-win-x64-v0.10.3.0.zip': No such file or directory monero-win-x64-v0.10.3.0.zip: FAILED open or read sha256sum: ' monero-win-x86-v0.10.3.0.zip': No such file or directory monero-win-x86-v0.10.3.0.zip: FAILED open or read sha256sum: ' monero-mac-x64-v0.10.3.0.tar.bz2': No such file or directory monero-mac-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-linux-x64-v0.10.3.0.tar.bz2': No such file or directory monero-linux-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-linux-x86-v0.10.3.0.tar.bz2': No such file or directory monero-linux-x86-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-linux-armv7-v0.10.3.0.tar.bz2': No such file or directory monero-linux-armv7-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-linux-armv8-v0.10.3.0.tar.bz2': No such file or directory monero-linux-armv8-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-freebsd-x64-v0.10.3.0.tar.bz2': No such file or directory monero-freebsd-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero-dragonflybsd-x64-v0.10.3.0.tar.bz2': No such file or directory monero-dragonflybsd-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: ' monero.gui.win.x64.beta.zip': No such file or directory monero.gui.win.x64.beta.zip: FAILED open or read sha256sum: ' monero.gui.mac.x64.beta.tar.bz2': No such file or directory monero.gui.mac.x64.beta.tar.bz2: FAILED open or read sha256sum: ' monero.gui.linux.x64.beta.tar.bz2': No such file or directory monero.gui.linux.x64.beta.tar.bz2: FAILED open or read sha256sum: ' monero.gui.linux.x86.beta.tar.bz2': No such file or directory monero.gui.linux.x86.beta.tar.bz2: FAILED open or read sha256sum: WARNING: 22 lines are improperly formatted sha256sum: WARNING: 13 listed files could not be read There is a spurious extra space at the start of filenames in the larger file. If I just extract the hash lines it works: toby@toby-pc:/tmp/test$ egrep zip\|bz2 hashes.txt > hashes1.txt toby@toby-pc:/tmp/test$ sha256sum -c hashes1.txt sha256sum: monero-win-x64-v0.10.3.0.zip: No such file or directory monero-win-x64-v0.10.3.0.zip: FAILED open or read sha256sum: monero-win-x86-v0.10.3.0.zip: No such file or directory monero-win-x86-v0.10.3.0.zip: FAILED open or read sha256sum: monero-mac-x64-v0.10.3.0.tar.bz2: No such file or directory monero-mac-x64-v0.10.3.0.tar.bz2: FAILED open or read monero-linux-x64-v0.10.3.0.tar.bz2: OK sha256sum: monero-linux-x86-v0.10.3.0.tar.bz2: No such file or directory monero-linux-x86-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero-linux-armv7-v0.10.3.0.tar.bz2: No such file or directory monero-linux-armv7-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero-linux-armv8-v0.10.3.0.tar.bz2: No such file or directory monero-linux-armv8-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero-freebsd-x64-v0.10.3.0.tar.bz2: No such file or directory monero-freebsd-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero-dragonflybsd-x64-v0.10.3.0.tar.bz2: No such file or directory monero-dragonflybsd-x64-v0.10.3.0.tar.bz2: FAILED open or read sha256sum: monero.gui.win.x64.beta.zip: No such file or directory monero.gui.win.x64.beta.zip: FAILED open or read sha256sum: monero.gui.mac.x64.beta.tar.bz2: No such file or directory monero.gui.mac.x64.beta.tar.bz2: FAILED open or read sha256sum: monero.gui.linux.x64.beta.tar.bz2: No such file or directory monero.gui.linux.x64.beta.tar.bz2: FAILED open or read sha256sum: monero.gui.linux.x86.beta.tar.bz2: No such file or directory monero.gui.linux.x86.beta.tar.bz2: FAILED open or read sha256sum: WARNING: 12 listed files could not be read The hash file is from Regards, Toby --------------4B47107BBDDDD7F5E97FF0BE Content-Type: text/plain; charset=UTF-8; name="hashes.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="hashes.txt" LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQpIYXNoOiBTSEEyNTYKClRoaXMg R1BHLXNpZ25lZCBtZXNzYWdlIGV4aXN0cyB0byBjb25maXJtIHRoZSBTSEEyNTYgc3VtcyBv biBNb25lcm8gYmluYXJpZXMuCgpQbGVhc2UgdmVyaWZ5IHRoZSBzaWduYXR1cmUgYWdhaW5z dCB0aGUgc2lnbmF0dXJlIGZvciBmbHVmZnlwb255IGluIHRoZQpzb3VyY2UgY29kZSByZXBv c2l0b3J5ICgvdXRpbHMvZ3BnX2tleXMpLgoKMzdhNTdkMWJlODFiNjExOWFjMDZkM2Y2Mzdi NGM1NmZjNjI1ZjNlNzkwZjM0OTFjMWJkY2E0ZDYyOTAyYmYxMyAgbW9uZXJvLXdpbi14NjQt djAuMTAuMy4wLnppcAo3Zjk1YmRjZjRkZjIzMmYzN2M0NTA1MjM4MzFmMzZjY2I5ZmRiMmU1 MGMxYjViMGE1Mjg1ZDUwNTQ5ZDI3M2JlICBtb25lcm8td2luLXg4Ni12MC4xMC4zLjAuemlw CjhlNjE3MGYyNzRlNjkwMTBiYmU2NjJkODgyOGM4ZTRiMGI0YWNkYjBhMWEzNjk5YjViOTdh ZjhjM2E1MTZhOTQgIG1vbmVyby1tYWMteDY0LXYwLjEwLjMuMC50YXIuYnoyCmYxNjQxMTJi ZWE3NWRmZDNlYWFhOTA1ZDIxMTI5ODIwYTk5NmJiZTZlNWQ2NWNiMTk0NjA5YzY3MmE3MWMz ZmUgIG1vbmVyby1saW51eC14NjQtdjAuMTAuMy4wLnRhci5iejIKYjhiZDI1OGI4MjhkOGVh NDVhN2MyNTk1MTg3YzEzYjVlNjI0ZjQ1YWU5MjljYjY0YWM4OWUzYTAzMDMwMjMxNiAgbW9u ZXJvLWxpbnV4LXg4Ni12MC4xMC4zLjAudGFyLmJ6MgowM2IyZjNmMzBjN2QwNDcxNDJjYmZj ZDYxNDc2MmYzZDE2NWQ2NDQ2NGUzZTViMWE1YjBjNDJhYmE5NTcwZDZhICBtb25lcm8tbGlu dXgtYXJtdjctdjAuMTAuMy4wLnRhci5iejIKNmIyOWM1NmNhOGQ3MWYyM2YxM2I2OGQ0OGUz OWUzNWIxZDdjN2MyMTJjZjAwZjNkNThiMGQyZDliNjQzNWM0YyAgbW9uZXJvLWxpbnV4LWFy bXY4LXYwLjEwLjMuMC50YXIuYnoyCjgzNGI1NmVmY2NjNWFiMDk4NWM3Zjg3MDQ0OTcwNGJh MzkwYzc5MTA0ZWNmYzBiNjM5MzVkZmI0ZjcwYzZjZjkgIG1vbmVyby1mcmVlYnNkLXg2NC12 MC4xMC4zLjAudGFyLmJ6Mgo0YWI1YjJhNzQ1Y2E1ZWE0Y2FkMjUzMTY2ZmY4MGZmNjBiYjQ4 NzFmNmM4ZmE4MWZmMDMyY2RmMjM3ZjZlMzcyICBtb25lcm8tZHJhZ29uZmx5YnNkLXg2NC12 MC4xMC4zLjAudGFyLmJ6MgoKY2I4YmRmMzZmYjU2NzM5YTBmYTc0NmJlYzhkZDUxZmIzNDc5 ZDUxYTNiOGYwY2U0MWE3NzFmMWQ1YTkyNGJkYiAgbW9uZXJvLmd1aS53aW4ueDY0LmJldGEu emlwCjkwN2JmYjQ4MzJjNzRkZTZjZWM3ZGY3MzBkZmNlNWQ5Y2NjMWU2ZGUwOWI2YTQ1NDZj YjllZWUxZjgyNDI5NjggIG1vbmVyby5ndWkubWFjLng2NC5iZXRhLnRhci5iejIKY2VjYmU0 YjIzZjc3NzQ0MmRlODYxYmMwOTgxYWYwODU3ZGFiMDQzZWQ2M2JlOThmNzY4Y2RkMDA4MjVh OGQwOSAgbW9uZXJvLmd1aS5saW51eC54NjQuYmV0YS50YXIuYnoyCmRhYWJkMTFiMjcxNjg1 Y2VkZjVkNjMyMWNiZGU1ZTZiN2MyNjkxNjMwYTQzNTVhOTczZmMwY2I5OWIxZDJkYzkgIG1v bmVyby5ndWkubGludXgueDg2LmJldGEudGFyLmJ6MgoKUmljY2FyZG8gImZsdWZmeXBvbnki IFNwYWduaQotLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLQpWZXJzaW9uOiBHbnVQRyB2 MgoKaVFFY0JBRUJDQUFHQlFKWTF2MlVBQW9KRUZWRExmTWN6VS9OZ1ZvSUFMZFpGd01TRkxB dDFUb01Uc1pmc3UvYgp1b0ZmY3FYNTFXVnhURkFSTEkxVjBFaEV5L3FVQnpmTFhGUjkrVjdw THZXblc3U1dhcHhGRFMxZmIxSmhtOWVOCnp1b2FFWmhaMitPTXJJcWZMWU9uWnJ6OHRhVEFp NWRxcFJVK09Zc3ZYRDFGbGdnZkZMWGZ2OWtnYUd3VzJoREgKMTBzODlpQ3YzZ1Z2UXI0clJL S2F2M0JrSVBzMHpObUZ4bENPNkJQbkJ2UmN1MGg1M2hlTVNMbHdPeGRBM0xIZwpjZnkyNlF0 YUIycFpaNW5lQVVtWjV6M1A2VlhZTm9uQVptNmpmai9mZ0FZRkUwbGpJNUxEMnZHTCtLVzNT bFRVCklhUVZiWktMQW51cmgxWmgxaC9udkF2MFlBOEllRFZXSHVLbXd1czFaQldTM3oyR0Nv ZHQ4c3lmRGkrdnlvZz0KPTBYV1kKLS0tLS1FTkQgUEdQIFNJR05BVFVSRS0tLS0t --------------4B47107BBDDDD7F5E97FF0BE-- ------------=_1490573701-17757-1--