A NOTE has been added to this issue. ====================================================================== https://www.austingroupbugs.net/view.php?id=251 ====================================================================== Reported By: dwheeler Assigned To: ajosey ====================================================================== Project: 1003.1(2008)/Issue 7 Issue ID: 251 Category: Base Definitions and Headers Type: Enhancement Request Severity: Objection Priority: normal Status: Under Review Name: David A. Wheeler Organization: User Reference: Section: XBD 3.170 Filename Page Number: 60 Line Number: 1781 Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2010-05-03 18:49 UTC Last Modified: 2023-09-21 20:05 UTC ====================================================================== Summary: Forbid newline, or even bytes 1 through 31 (inclusive), in filenames ====================================================================== Relationships ID Summary ---------------------------------------------------------------------- related to 0000293 restricting readdir normalization of fi... related to 0000573 Please add '+' to the portable filename... related to 0000243 Add -print0 to "find" related to 0000244 Add -0 to xargs related to 0000245 Add -0 option to shell's "read" has duplicate 0000545 Escape Filenames as per Uniform Resourc... related to 0000291 filenames need not contain characters ======================================================================
---------------------------------------------------------------------- (0006486) kre (reporter) - 2023-09-21 20:05 https://www.austingroupbugs.net/view.php?id=251#c6486 ---------------------------------------------------------------------- Re https://www.austingroupbugs.net/view.php?id=251#c6484 It might very well be true that there are no current known encodings used by various character sets that can contain an embedded newline (and perhaps space and tab) - but POSIX have no control over such things, and just as with the printf(3) %b nonsense and how that seemed to affect printf(1), other bodies which produce the relevant standards don't necessarily concern themselves with how POSIX will be affected by their decisions, and that is particularly likely with national standards bodies perhaps defining a new encoding for their local (perhaps unique) character set. I much prefer not to simply trust that no such encoding will ever appear, as unlike the %b nonsense, such an addition would actually affect things. It is OK to require that / and \n have invariant encodings (though I am not sure how one enforces that, particularly in an environment where users are permitted to define their own locales, and not simply use an implementation provided one) but that of itself doesn't mean that / and \n cannot occur as the part of some other encoding, just that all locales must encode the / character as the value 47 (say) and \n as 10. Just saying "outside the standard, non-conformant" doesn't help when we're talking about the filesystem, that has to work (on any real implementation) for everyone. Further, the only point of this change is to promise applications that they can go ahead and simply ignore the possibility that a file name might contain an embedded \n - which the proposed resolution as I understand it does not even guarantee, only newly created file names would be affected, not existing ones - and in such an environment, one can easily disable posix conformance for a while, create files with \n embedded, and then go back to being posix conforming again for the applications to read the directories now which contain existing files with embedded \n That is, the solution being proposed here benefits no-one. Further it isn't needed, as if an implementation wants to implement that "no \n in filenames" restriction, it already can, and remain conformant. The only point of this "bug" is to delude script writers (mostly) into believing that they can ignore the possibility that a \n might appear in a filename, and hence allow them to make more broken scripts. That hardly seems like any kind of win to me. Issue History Date Modified Username Field Change ====================================================================== 2010-05-03 18:49 dwheeler New Issue 2010-05-03 18:49 dwheeler Status New => Under Review 2010-05-03 18:49 dwheeler Assigned To => ajosey 2010-05-03 18:49 dwheeler Name => David A. Wheeler 2010-05-03 18:49 dwheeler Section => XBD 3.170 Filename 2010-05-03 18:49 dwheeler Page Number => 60 2010-05-03 18:49 dwheeler Line Number => 1781 2010-05-03 19:37 dwheeler Note Added: 0000412 2011-03-10 16:04 msbrown Note Added: 0000689 2011-04-11 20:28 eblake Interp Status => --- 2011-04-11 20:28 eblake Note Added: 0000739 2011-04-11 20:28 eblake Summary Forbid bytes 1 through 31 (inclusive) in filenames => Forbid newline, or even bytes 1 through 31 (inclusive), in filenames 2011-04-11 21:17 dwheeler Note Added: 0000740 2011-07-07 15:31 user27 Note Added: 0000887 2011-12-17 21:43 dwheeler Issue Monitored: dwheeler 2012-02-22 06:48 oiaohm Note Added: 0001140 2012-02-22 19:25 dwheeler Note Added: 0001141 2012-02-22 19:38 wlerch Note Added: 0001142 2012-02-23 00:55 oiaohm Note Added: 0001143 2012-02-25 02:25 oiaohm Note Added: 0001147 2012-02-25 02:40 eblake Relationship added related to 0000545 2012-03-29 23:10 Don Cragun Relationship replaced has duplicate 0000545 2012-08-03 19:35 eblake Relationship added related to 0000291 2012-08-03 19:36 eblake Relationship added related to 0000293 2012-08-03 19:36 eblake Relationship added related to 0000573 2012-12-23 05:12 user229 Note Added: 0001437 2013-01-07 23:29 oiaohm Note Added: 0001438 2013-01-07 23:47 oiaohm Note Added: 0001439 2013-08-14 02:43 jrincayc Note Added: 0001711 2013-08-14 03:23 dwheeler Note Added: 0001712 2013-08-14 05:41 dalias Note Added: 0001713 2013-08-14 07:34 oiaohm Note Added: 0001714 2013-08-15 02:33 jrincayc Note Added: 0001715 2013-08-15 02:48 dalias Note Added: 0001716 2013-08-15 03:31 jrincayc Note Added: 0001717 2013-08-16 02:43 jrincayc Note Added: 0001721 2013-08-16 05:03 oiaohm Note Added: 0001722 2013-08-16 10:46 a brouwer Note Added: 0001723 2013-08-17 15:03 dwheeler Note Added: 0001724 2013-08-17 16:13 dalias Note Added: 0001725 2013-08-18 02:01 dwheeler Note Added: 0001726 2013-08-18 05:22 oiaohm Note Added: 0001727 2013-08-18 06:10 oiaohm Note Added: 0001728 2013-08-18 13:12 jrincayc Note Added: 0001730 2013-08-18 19:09 dwheeler Note Added: 0001731 2013-08-19 09:25 geoffclare Note Added: 0001732 2013-08-19 10:48 a brouwer Note Added: 0001733 2013-08-19 12:34 jrincayc Note Added: 0001734 2013-08-19 14:55 oiaohm Note Added: 0001735 2013-08-19 22:40 oiaohm Note Added: 0001736 2013-08-19 22:57 user229 Note Added: 0001737 2013-08-19 23:21 dalias Note Added: 0001738 2013-08-19 23:48 shware_systems Note Added: 0001739 2013-08-20 02:40 user229 Note Added: 0001740 2013-08-20 03:23 dalias Note Added: 0001741 2013-08-20 06:38 shware_systems Note Added: 0001742 2013-08-20 07:02 dalias Note Added: 0001743 2013-08-20 14:52 dwheeler Note Added: 0001744 2013-08-21 12:23 oiaohm Note Added: 0001745 2013-08-21 12:25 oiaohm Note Added: 0001746 2013-08-21 12:49 oiaohm Note Added: 0001747 2013-08-21 13:12 steffen Note Added: 0001748 2013-08-21 14:02 oiaohm Note Added: 0001749 2013-08-30 04:44 oiaohm Note Added: 0001779 2014-12-05 14:45 safinaskar Note Added: 0002480 2015-06-22 16:48 mirabilos Note Added: 0002730 2016-03-27 10:43 dannyniu Issue Monitored: dannyniu 2023-02-10 18:14 dwheeler Note Added: 0006146 2023-02-10 18:15 dwheeler Note Added: 0006147 2023-02-10 18:16 dwheeler Note Added: 0006148 2023-02-10 21:16 dwheeler Note Deleted: 0006147 2023-02-10 21:16 dwheeler Note Deleted: 0006148 2023-02-18 20:19 mirabilos Note Added: 0006154 2023-02-18 20:21 mirabilos Note Added: 0006155 2023-08-22 06:28 Don Cragun Relationship added related to 0000243 2023-08-22 06:29 Don Cragun Relationship added related to 0000244 2023-08-22 06:30 Don Cragun Relationship added related to 0000245 2023-09-20 16:17 kre Note Added: 0006481 2023-09-21 19:02 eblake Note Added: 0006484 2023-09-21 19:04 eblake Note Edited: 0006484 2023-09-21 20:05 kre Note Added: 0006486 ======================================================================
