Re: VFAT: Can't create file named 'aux.h'?

From: OGAWA Hirofumi
Date: Wed Mar 22 2006 - 14:36:46 EST


"H. Peter Anvin" <hpa@xxxxxxxxx> writes:

> Phillip Susi wrote:
>> H. Peter Anvin wrote:
>>
>> kernel32.dll's CreateFile() and other apis normally perform translation
>> which includes special handling for dos device names including AUX. You
>> can bypass this by prefixing the absolute file name with the string
>> "\\?\" and this will allow you to create a file named AUX. It also
>> allows you to reference file names with absolute paths greater than 255
>> characters.
>
> So, in other words, Windows will let you create these files; it will
> just make you just through hoops to access them.
>
> Sounds like they should be able to be legitimately created. If the
> shortnames are mangled, even DOS or Win9x could access them using the
> shortname.

Looks like we get a good reason to kill strange reserved names in vfat
(and msdos too?).

Could you/anyone check what shortname is used for "AUX" if it is created
in cmd.exe?

Windows may be storing it as shortname, because it seems to be using
completely separated namespace for devices (I guessed from result of
google).

Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/