* [BUG] NTFS code doesn't sanitize folder names sufficiently
@ 2012-07-26 18:18 Marian Beermann
2012-07-27 14:28 ` Calvin Walton
2012-08-01 23:16 ` Cody P Schafer
0 siblings, 2 replies; 3+ messages in thread
From: Marian Beermann @ 2012-07-26 18:18 UTC (permalink / raw)
To: LKML; +Cc: linux-fsdevel
Hello everyone,
today I noticed some very odd behaviour, which could lead people to
believe a loss of data, because it is possible to create directories
with backslashes in them.
I am currently running kernel 3.5.
To completly reproduce the problem to the full extend you'll need a
Windows computer, but to see whats wrong Linux completly suffices :-)
On a Linux computer
1. Create a directory named TestA on an NTFS partition
2. Create a subdirectory of TestA named TestB
3. Create a third directory alongside TestA named TestA\TestB (the
fundamental problem is this: backslashes in directory names)
Connect the drive containing the NTFS partition now to a Windows
computer and navigate to the directory containing TestA and TestA\TestB.
If you navigate to the folder (not path!) TestA\TestB you'll actually
see the contents of the path TestA\TestB (the subfolder TestB) and not
the contents of the directory.
It is not possible on a Windows machine to access the contents of the
directory named TestA\TestB. This is not a bug in Windows, it's caused
by a bug in the NTFS driver, which allows illegal characters.
The solution to this would be to disallow creation of files and folders
on NTFS drives containing illegal characters.
Best regards
Marian Beermann
(notice: I'm not subscribed to linux-fsdevel...)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [BUG] NTFS code doesn't sanitize folder names sufficiently
2012-07-26 18:18 [BUG] NTFS code doesn't sanitize folder names sufficiently Marian Beermann
@ 2012-07-27 14:28 ` Calvin Walton
2012-08-01 23:16 ` Cody P Schafer
1 sibling, 0 replies; 3+ messages in thread
From: Calvin Walton @ 2012-07-27 14:28 UTC (permalink / raw)
To: Marian Beermann; +Cc: LKML, linux-fsdevel
On Thu, 2012-07-26 at 20:18 +0200, Marian Beermann wrote:
> Hello everyone,
>
> today I noticed some very odd behaviour, which could lead people to
> believe a loss of data, because it is possible to create directories
> with backslashes in them.
>
> I am currently running kernel 3.5.
>
> To completly reproduce the problem to the full extend you'll need a
> Windows computer, but to see whats wrong Linux completly suffices :-)
>
> On a Linux computer
> 1. Create a directory named TestA on an NTFS partition
> 2. Create a subdirectory of TestA named TestB
> 3. Create a third directory alongside TestA named TestA\TestB (the
> fundamental problem is this: backslashes in directory names)
If you're writing new directories to an NTFS partition, it's very
probable that you're not actually using the in-kernel NTFS driver at
all. It's more likely that you have the userspace (FUSE) NTFS driver
instead:
http://www.tuxera.com/community/ntfs-3g-download/
In fact, they have a FAQ about it the issue that you're seeing:
http://www.tuxera.com/community/ntfs-3g-faq/#posixfilenames2
You use the 'windows_names' mount option to disable creating file and
directory names that confuse windows.
Linux itself (and most native Linux programs) has no issues with
directory names containing the '\' character, of course; the only
characters that you cannot use are '/' and ASCII NUL, 0x00.
--
Calvin Walton <calvin.walton@kepstin.ca>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [BUG] NTFS code doesn't sanitize folder names sufficiently
2012-07-26 18:18 [BUG] NTFS code doesn't sanitize folder names sufficiently Marian Beermann
2012-07-27 14:28 ` Calvin Walton
@ 2012-08-01 23:16 ` Cody P Schafer
1 sibling, 0 replies; 3+ messages in thread
From: Cody P Schafer @ 2012-08-01 23:16 UTC (permalink / raw)
To: Marian Beermann; +Cc: linux-fsdevel, LKML
> The solution to this would be to disallow creation of files and
> folders on NTFS drives containing illegal characters.
Illegal characters with respect to Windows & the like are different
from Illegal characters with respect to the NTFS filesystem structure.
Looking at ntfs-3g(8) [yes, I'm aware that is a different driver that
this bug is about], the section on Windows Filename Compatability says
this:
[...] all characters are
allowed except '/' and '\0'. This is perfectly legal on Windows,
though some application may get
confused. The option windows_names may be used to apply Windows
restrictions to new file names.
To recap: no data will be lost due to using '\' in filenames. Some
operating systems just may not be capable off accessing it.
--
Cody
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-08-01 23:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-26 18:18 [BUG] NTFS code doesn't sanitize folder names sufficiently Marian Beermann
2012-07-27 14:28 ` Calvin Walton
2012-08-01 23:16 ` Cody P Schafer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).