All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fat: kill reserved names
@ 2006-03-29 14:23 OGAWA Hirofumi
  2006-03-29 14:55 ` Paul Rolland
  0 siblings, 1 reply; 5+ messages in thread
From: OGAWA Hirofumi @ 2006-03-29 14:23 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Since these names on old MSDOS is used as device, so, current fat
driver doesn't allow a user to create those names.  But many OSes and
even Windows can create those names actually, now.

This patch removes the reserved name check.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

 fs/msdos/namei.c |   15 +--------------
 fs/vfat/namei.c  |   18 ------------------
 2 files changed, 1 insertion(+), 32 deletions(-)

diff -puN fs/msdos/namei.c~fat-kill-reserved-names fs/msdos/namei.c
--- linux-2.6/fs/msdos/namei.c~fat-kill-reserved-names	2006-03-29 04:44:53.000000000 +0900
+++ linux-2.6-hirofumi/fs/msdos/namei.c	2006-03-29 04:44:53.000000000 +0900
@@ -12,14 +12,6 @@
 #include <linux/msdos_fs.h>
 #include <linux/smp_lock.h>
 
-/* MS-DOS "device special files" */
-static const unsigned char *reserved_names[] = {
-	"CON     ", "PRN     ", "NUL     ", "AUX     ",
-	"LPT1    ", "LPT2    ", "LPT3    ", "LPT4    ",
-	"COM1    ", "COM2    ", "COM3    ", "COM4    ",
-	NULL
-};
-
 /* Characters that are undesirable in an MS-DOS file name */
 static unsigned char bad_chars[] = "*?<>|\"";
 static unsigned char bad_if_strict_pc[] = "+=,; ";
@@ -40,7 +32,6 @@ static int msdos_format_name(const unsig
 	 */
 {
 	unsigned char *walk;
-	const unsigned char **reserved;
 	unsigned char c;
 	int space;
 
@@ -127,11 +118,7 @@ static int msdos_format_name(const unsig
 	}
 	while (walk - res < MSDOS_NAME)
 		*walk++ = ' ';
-	if (!opts->atari)
-		/* GEMDOS is less stupid and has no reserved names */
-		for (reserved = reserved_names; *reserved; reserved++)
-			if (!strncmp(res, *reserved, 8))
-				return -EINVAL;
+
 	return 0;
 }
 
diff -puN fs/vfat/namei.c~fat-kill-reserved-names fs/vfat/namei.c
--- linux-2.6/fs/vfat/namei.c~fat-kill-reserved-names	2006-03-29 04:44:53.000000000 +0900
+++ linux-2.6-hirofumi/fs/vfat/namei.c	2006-03-29 04:44:53.000000000 +0900
@@ -185,24 +185,6 @@ static int vfat_valid_longname(const uns
 		return -EINVAL;
 	if (len >= 256)
 		return -ENAMETOOLONG;
-
-	/* MS-DOS "device special files" */
-	if (len == 3 || (len > 3 && name[3] == '.')) {	/* basename == 3 */
-		if (!strnicmp(name, "aux", 3) ||
-		    !strnicmp(name, "con", 3) ||
-		    !strnicmp(name, "nul", 3) ||
-		    !strnicmp(name, "prn", 3))
-			return -EINVAL;
-	}
-	if (len == 4 || (len > 4 && name[4] == '.')) {	/* basename == 4 */
-		/* "com1", "com2", ... */
-		if ('1' <= name[3] && name[3] <= '9') {
-			if (!strnicmp(name, "com", 3) ||
-			    !strnicmp(name, "lpt", 3))
-				return -EINVAL;
-		}
-	}
-
 	return 0;
 }
 
_

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] fat: kill reserved names
  2006-03-29 14:23 [PATCH] fat: kill reserved names OGAWA Hirofumi
@ 2006-03-29 14:55 ` Paul Rolland
  2006-03-29 15:05   ` linux-os (Dick Johnson)
  2006-03-29 15:12   ` OGAWA Hirofumi
  0 siblings, 2 replies; 5+ messages in thread
From: Paul Rolland @ 2006-03-29 14:55 UTC (permalink / raw)
  To: 'OGAWA Hirofumi', 'Andrew Morton'; +Cc: linux-kernel

Hello,

> Since these names on old MSDOS is used as device, so, current fat
> driver doesn't allow a user to create those names.  But many OSes and
> even Windows can create those names actually, now.
> 
> This patch removes the reserved name check.
> 
> -/* MS-DOS "device special files" */
> -static const unsigned char *reserved_names[] = {
> -	"CON     ", "PRN     ", "NUL     ", "AUX     ",
> -	"LPT1    ", "LPT2    ", "LPT3    ", "LPT4    ",
> -	"COM1    ", "COM2    ", "COM3    ", "COM4    ",
> -	NULL

Please don't :

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

D:\>mkdir LPT1
The directory name is invalid.

Windows doesn't want these !!!

Regards,
Paul


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] fat: kill reserved names
  2006-03-29 14:55 ` Paul Rolland
@ 2006-03-29 15:05   ` linux-os (Dick Johnson)
  2006-03-29 16:47     ` Paul Rolland
  2006-03-29 15:12   ` OGAWA Hirofumi
  1 sibling, 1 reply; 5+ messages in thread
From: linux-os (Dick Johnson) @ 2006-03-29 15:05 UTC (permalink / raw)
  To: Paul Rolland; +Cc: OGAWA Hirofumi, Andrew Morton, linux-kernel


On Wed, 29 Mar 2006, Paul Rolland wrote:

> Hello,
>
>> Since these names on old MSDOS is used as device, so, current fat
>> driver doesn't allow a user to create those names.  But many OSes and
>> even Windows can create those names actually, now.
>>
>> This patch removes the reserved name check.
>>
>> -/* MS-DOS "device special files" */
>> -static const unsigned char *reserved_names[] = {
>> -	"CON     ", "PRN     ", "NUL     ", "AUX     ",
>> -	"LPT1    ", "LPT2    ", "LPT3    ", "LPT4    ",
>> -	"COM1    ", "COM2    ", "COM3    ", "COM4    ",
>> -	NULL
>
> Please don't :
>
> Microsoft Windows XP [Version 5.1.2600]
> (C) Copyright 1985-2001 Microsoft Corp.
>
> D:\>mkdir LPT1
> The directory name is invalid.
>
> Windows doesn't want these !!!
>
> Regards,
> Paul

Well somebody else showed that it's the API that doesn't want
those, not the file-system. So, if you have a file called
AUX and you click on it, it will hang the machine until you
Ctrl-Alr-Del to the Task manager and kill the task. This
is supposed to be okay.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.15.4 on an i686 machine (5589.42 BogoMips).
Warning : 98.36% of all statistics are fiction, book release in April.
_
\x1a\x04

****************************************************************
The information transmitted in this message is confidential and may be privileged.  Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited.  If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] fat: kill reserved names
  2006-03-29 14:55 ` Paul Rolland
  2006-03-29 15:05   ` linux-os (Dick Johnson)
@ 2006-03-29 15:12   ` OGAWA Hirofumi
  1 sibling, 0 replies; 5+ messages in thread
From: OGAWA Hirofumi @ 2006-03-29 15:12 UTC (permalink / raw)
  To: Paul Rolland; +Cc: 'Andrew Morton', linux-kernel

"Paul Rolland" <rol@witbe.net> writes:

> Microsoft Windows XP [Version 5.1.2600]
> (C) Copyright 1985-2001 Microsoft Corp.
>
> D:\>mkdir LPT1
> The directory name is invalid.
>
> Windows doesn't want these !!!

I was thinking so too, however, it can actually do.
On Windows, you should

	echo > \\?\d:\LPT1

See http://marc.theaimsgroup.com/?t=114289107300003&r=1&w=2
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] fat: kill reserved names
  2006-03-29 15:05   ` linux-os (Dick Johnson)
@ 2006-03-29 16:47     ` Paul Rolland
  0 siblings, 0 replies; 5+ messages in thread
From: Paul Rolland @ 2006-03-29 16:47 UTC (permalink / raw)
  To: 'linux-os (Dick Johnson)', 'Paul Rolland'
  Cc: 'OGAWA Hirofumi', 'Andrew Morton', linux-kernel

Hello,

> Well somebody else showed that it's the API that doesn't want
> those, not the file-system. So, if you have a file called
> AUX and you click on it, it will hang the machine until you
> Ctrl-Alr-Del to the Task manager and kill the task. This
> is supposed to be okay.

Gasp, yes, I missed the thread Hirofumi mentionned to me... Must have
been busy somewhere else at that time.

Sorry for the noise,
Regards,
Paul


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-03-29 16:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-29 14:23 [PATCH] fat: kill reserved names OGAWA Hirofumi
2006-03-29 14:55 ` Paul Rolland
2006-03-29 15:05   ` linux-os (Dick Johnson)
2006-03-29 16:47     ` Paul Rolland
2006-03-29 15:12   ` OGAWA Hirofumi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.