|
|
|
|
|
by skissane
479 days ago
|
|
> In Linux, as I have written in the foot note, accepts anything but 0x00 (null) and 0x2F (“/”) POSIX 2024 encourages (but doesn’t require) implementations to disallow newline in file names, returning EILSEQ if you try to create a new file or directory with a name containing a newline. Thus far Linux hasn’t adopted that recommendation, but I personally hope it does some day. For backward compatibility, it would have to be a mount option. It could be done at VFS level so it applies to all filesystems. Personally I would go even further and introduce a “require_sane_filenames” mount option, which would block you (at the VFS layer) from creating any file name containing invalid UTF-8 (including overlong sequences and UTF-8 encoded surrogates), C0 controls or (UTF-8 encoded) C1 controls. Also I think it would be great if filesystems had a superblock bit that declared they only supported “sane filenames”. Then even accessing such a file would error because it would be a sign of filesystem corruption. |
|