Filesystems and case-insensitivity
Filesystems and case-insensitivity
Posted Nov 30, 2018 17:38 UTC (Fri) by ScottMinster (subscriber, #67541)Parent article: Filesystems and case-insensitivity
But leaving that aside for the moment, what is the gain? I've been working on case sensitive Linux file systems for many years, and never felt the need to have "level1.MAP" really load "level1.map". I've occasionally had to deal with writing software that expects extensions in lower case and been given files with those extensions in upper case, and that is annoying, but it's more due to laziness on the file creator's part of not using the standard extension case.
The only two justifications I can come up with for wanting case insensitivity is to avoid problems with unexpectedly cased files and to avoid user confusion (i.e., "Document1.doc" and "document1.doc" being different files). Those are worthy goals, but it seems like there are so many tricky problems with case insensitivity that it is hardly worth the trouble. It's relatively easy in English, but as many people point out, there are problems in many other languages.
But even in English, it could cause problems. Can you "mv makefile Makefile" in a case insensitive filesystem, or would you get the error "'makefile' and 'Makefile' are the same file"? Also, as another poster pointed out, globbing in various programs would likely have to change to be consistent.
And once you enable it, you can never really disable it without inevitably breaking programs.
So why do systems like Windows and MacOS do it? Did they underestimate the difficulty and are stuck with that decision?
I could see how it could be useful for things like Samba servers, but given all the complicated edge cases, it doesn't seem like it's a good idea for general use. Though once it's working for Samba, some distribution will likely turn it on everywhere, to try to be more user friendly.
Posted Nov 30, 2018 18:36 UTC (Fri)
by mpr22 (subscriber, #60784)
[Link]
And MS-DOS was written with the (probably unconscious) assumption that natural-language text was in ASCII, where case-insensitivity is cheap to implement.
Posted Dec 7, 2018 11:09 UTC (Fri)
by Wol (subscriber, #4433)
[Link] (3 responses)
Because you're a programmer used to thinking in byte strings.
I *still* have problems because users insist on knowing whether email addresses have capital letters or not (they are case-insensitive, for historical reasons, because a lot of the early systems mangled case).
So the short answer is, YOU may not feel the gain, but a lot of other people WILL.
(Along the same lines, I remember being sent a second copy of some newsletter because "some people said they couldn't read the attachment". Ie pretty much all Windows systems, because the sender had somehow lost the extension and those systems didn't recognise the file "newsletter" as a pdf. Of course, my gentoo system didn't give a monkeys :-)
Cheers,
Posted Dec 7, 2018 11:45 UTC (Fri)
by gioele (subscriber, #61675)
[Link] (2 responses)
These users are right: the local-part of an email address _is_ case sensitive. Only the domain is case insensitive.
RFC 5321, section 2.4 [1]:
> The local-part of a mailbox MUST BE treated as case sensitive. Therefore, SMTP implementations MUST take care to preserve the case of mailbox local-parts. In particular, for some hosts, the user "smith" is different from the user "Smith". However, exploiting the case sensitivity of mailbox local-parts impedes interoperability and is discouraged. Mailbox domains follow normal DNS rules and are hence not case sensitive.
Posted Dec 7, 2018 16:31 UTC (Fri)
by smurf (subscriber, #17840)
[Link] (1 responses)
Posted Dec 8, 2018 23:37 UTC (Sat)
by zlynx (guest, #2285)
[Link]
> lowercase_local:
Filesystems and case-insensitivity
Filesystems and case-insensitivity
Wol
Filesystems and case-insensitivity
Filesystems and case-insensitivity
Filesystems and case-insensitivity
> driver = redirect
> data = ${lc:${local_part}}