Subject: kern/10715: msdosfs LFN problems
To: None <gnats-bugs@gnats.netbsd.org>
From: None <wiz@danbala.ifoer.tuwien.ac.at>
List: netbsd-bugs
Date: 07/30/2000 16:11:13
>Number:         10715
>Category:       kern
>Synopsis:       msdosfs LFN problems
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 30 16:12:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Klausner
>Release:        1.5C/i386 -- kernel sources from 2000/07/30
>Organization:
Thomas Klausner - wiz@danbala.tuwien.ac.at
I think...I think it's in my basement. Let me go upstairs and check.
 -- M.C. Escher (1898-1972)
>Environment:
	
System: NetBSD danbala 1.4.2 NetBSD 1.4.2 (DANBALA) #0: Wed Jan 1 04:30:28 MET 1997 root@:/usr/src/sys/arch/i386/compile/DANBALA i386
>Description:
NetBSD sometimes creates invalid filenames on msdosfs.
>How-To-Repeat:
mount_msdos some_dos_dev /mnt
mkdir /mnt/test
touch /mnt/test/ab\ c
touch /mnt/test/\ ab\ c
touch /mnt/test/\"ab\ c

After booting to Windows, the last two files are not accessible before
running scndiskw (LFN scandisk); the first one just produces an error
for scndskw.

The first file only seems to have the problem that it contains a space
in the filename and is less than 8 characters long; the resulting LFN
must be wrong in some way (sorry, don't know how); perhaps the SFN is
wrong, instead.

I guess the problem with the second filename is that SFNs are not
allowed to start with space. One can make a file with this name in
Windows without any problems though, since it just gets a
corresponding LFN that somehow hides the problem (and the
corresponding SFN probably doesn't contain spaces at all).

And the problem with the third filename is that '"' is not allowed 
in file names at all; other disallowed characters seem to include:
: * ? < | >
Of course, in SFNs, all those are disallowed, as well as
space + , ; = [ ]
I didn't look if this was checked and enforced by NetBSD.

>Fix:
Sorry, none known.
>Release-Note:
>Audit-Trail:
>Unformatted: