Name Mangling and Case
Back in the days of DOS and Windows 3.1, every filename was limited to eight uppercase characters, followed by a dot, and three more uppercase characters. This was known as the 8.3 format and was a huge nuisance. Windows 95/98/Me, Windows NT/2000/XP, and Unix have since relaxed this problem by allowing longer, sometimes case-sensitive, filenames. Table 8-4 shows the current naming state of several popular operating systems.
Table 8-4. Operating system filename limitations
Operating system |
File-naming rules |
---|---|
DOS 6.22 or below |
Eight characters followed by a dot followed by a three-letter extension (8.3 format); case-insensitive |
Windows 3.1 for Workgroups |
Eight characters followed by a dot followed by a three-letter extension (8.3 format); case-insensitive |
Windows 95/98/Me |
255 characters; case-insensitive but case-preserving |
Windows NT/2000/XP |
255 characters; case-insensitive but case-preserving |
Unix |
255 characters; case-sensitive |
Samba still has to remain backward-compatible with network clients that store files in just the 8.3 format, such as Windows for Workgroups. If a user creates a file on a share called antidisestablishmentarianism.txt, a Windows for Workgroups client cannot tell it apart from another file in the same directory called antidisease.txt. Like Windows 95/98/Me and Windows NT/2000/XP, Samba has to employ a special method for translating a long filename to an 8.3 filename in such a way that similar filenames will not cause collisions. ...
Get Using Samba, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.