linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Newbigin <jn@it.swin.edu.au>
To: linux-fsdevel@vger.kernel.org
Subject: Re: RFC: Illegal Characters in File Names
Date: Thu, 22 Jul 2004 13:17:20 +1000	[thread overview]
Message-ID: <40FF31C0.1090500@it.swin.edu.au> (raw)
In-Reply-To: <OFBA20EFDD.E3EC0CD9-ON88256ED8.006CC054-88256ED8.0070229F@us.ibm.com>

Bryan Henderson wrote:
...
> But really, the idea of making a terminal send a command is a red herring. 
>  The problems of non-text filenames are more basic:
> 
> I have personally lost a lot of time in cases where 'ls' misled me as to 
> the contents of my directory.  (I eventually found the --almost-all and 
> --human-readable options of GNU Ls and have been much happier since).
So your problem is that ls does not do what you want by default.  The 
issue of 'control codes do bad things to terminals' is as you say a red 
herring.  I see a suspect file, even if the name does not contain 
control codes, the file it's self might. By catting the contents I am 
still vulnerable for the same reason.  My tools (in this case cat) don't 
do what I want (such as escape the control codes).

In the same way, if I don't know how to use any other tool, I might be 
misled by incorrect output.


> 
> I wouldn't stop at nonprinting characters.  Punctuation, especially spaces 
> and tabs, cause a lot of trouble too, for very little gain.
These all give me the shits too, but I don't use them.  I try to educate 
other users but I don't force them not use use them.  Particularly 
windows users using samba like to use spaces.

> 
> As I've said, I don't want to take away your weird filenames.  But I'd 
> like to get rid of mine.  I'd rather have an untar fail than create a 
> filename that's going to cause me grief.
Exactly.  You should have control over your environment.  A per user 
filename filter could do this.  You can turn it on and off, configure 
special encodings whatever.  If all your filenames turn to shit, the 
system still works and you don't impact other users.  If you don't like 
the files other people leave in /tmp then use a private /tmp.  (Why 
don't we have a vfs which can make my private tmp appear on /tmp?)

Preventing these characters at the filesystem is not good because it 
impacts on people who want (perhaps misguidedly) to use them.

> 
> 
> In one of my earliest encounters with a computer, someone distributed a 
> program that created a status file with a command line editing character 
> in its name.  He did it to try to stop people from deleting it -- it was 
> impossible to delete it with a typed command.  He didn't think through 
> just what effect attempting to type such a command would have.  What it 
> did was create a command that says, "delete the file I most recently 
> worked on."  I deleted 3 important files before I realized what was going 
> on.
We know that all valid filename characters can be entered into a bash 
shell if correctly formatted & escaped.  There are no impossible to 
delete file names (except for perhaps, impossible to create file names, 
which fsck should fix).

If people write software that does silly things then that software needs 
to be fixed.  Your own admission is that the author did not think about 
what they were doing.

The unix fs is a bit like C++.  You can do heaps of stupid things (c++ 
multiple inheritance, operator overloading) but you probably shouldn't. 
  Just because you don't however, does not mean that you should remove 
them from the language.



  reply	other threads:[~2004-07-22  3:17 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-19  0:41 RFC: Illegal Characters in File Names Joseph Wagner
2004-07-19  8:47 ` Jan Hudec
2004-07-19 19:21   ` Joseph D. Wagner
2004-07-19 20:08     ` Pat LaVarre
2004-07-19 20:54       ` Joseph D. Wagner
2004-07-20  6:33     ` Jan-Benedict Glaw
2004-07-20 16:25       ` Joseph D. Wagner
2004-07-20 20:42         ` Stephen Rothwell
     [not found]       ` <20040720162549.857014B7E7@dvmwest.gt.owl.de>
2004-07-20 16:52         ` Jan-Benedict Glaw
     [not found]   ` <20040719192145.50750578E5@jabberwock.ucw.cz>
2004-07-19 21:01     ` Jan Hudec
2004-07-20 16:40       ` Bryan Henderson
2004-07-20 16:54         ` Guy
2004-07-20 18:10           ` viro
2004-07-20 20:44             ` Guy
2004-07-20 21:27               ` Matthew Wilcox
2004-07-20 21:37                 ` Jan Hudec
2004-07-20 21:40                   ` Matthew Wilcox
2004-07-20 21:45                     ` Jan Hudec
2004-07-20 21:49                       ` Guy
2004-07-20 22:04                         ` Jan Hudec
2004-07-20 22:11                         ` Paul Stewart
2004-07-20 22:16                       ` Joseph D. Wagner
2004-07-21 12:26                         ` Jan-Benedict Glaw
2004-07-21 15:28                           ` Guy
2004-07-21 16:25                             ` Jan-Benedict Glaw
2004-07-21 12:24                       ` Jan-Benedict Glaw
2004-07-20 21:41               ` Bryan Henderson
2004-07-21 12:21               ` Jan-Benedict Glaw
2004-07-21 15:25                 ` Guy
2004-07-22 18:04                   ` Matthew Wilcox
2004-07-22 18:35                     ` Guy
2004-07-20 20:57             ` Jan Hudec
2004-07-20 21:09               ` Guy
2004-07-20 21:36                 ` Jan Hudec
2004-07-20 22:13                 ` viro
2004-07-20 22:44                   ` Jan Hudec
2004-07-20 22:51                     ` viro
2004-07-20 23:30                   ` Guy
2004-07-21 20:25                     ` Bryan Henderson
2004-07-22  3:17                       ` John Newbigin [this message]
2004-07-22  3:24                         ` Matthew Wilcox
2004-07-22  6:01                         ` viro
2004-07-22 22:12                         ` Bryan Henderson
2004-07-22 14:51                       ` Jan-Benedict Glaw
2004-07-22 22:44                         ` Bryan Henderson
2004-07-22 22:47                           ` Jan Hudec
2004-07-23 18:10                             ` Bryan Henderson
2004-07-20 23:52                   ` John Newbigin
2004-07-21  3:26                     ` Joseph D. Wagner
2004-07-21  4:15                     ` viro
2004-07-21  5:03                     ` Guy
2004-07-21 12:28                 ` Jan-Benedict Glaw
2004-07-21 15:30                   ` Guy
2004-07-21 16:26                     ` Jan-Benedict Glaw
2004-07-21 16:33                       ` Jan Hudec
2004-07-21 16:41                       ` Guy
2004-07-21 17:01                         ` Jan Hudec
2004-07-20 22:16             ` Joseph D. Wagner
2004-07-21 12:43               ` Jan-Benedict Glaw
2004-07-20 22:31             ` viro
2004-07-20 18:27           ` Bryan Henderson
2004-07-19  9:26 ` Matthew Wilcox
2004-07-19 19:21   ` Joseph D. Wagner
     [not found]   ` <E1BmdhG-0004NG-00@master.debian.org>
2004-07-20  2:43     ` Matthew Wilcox
2004-07-20  3:16       ` Joseph D. Wagner
2004-07-20  8:45         ` Jan Hudec
2004-07-20 16:25           ` Joseph D. Wagner
2004-07-20 16:41             ` Guy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=40FF31C0.1090500@it.swin.edu.au \
    --to=jn@it.swin.edu.au \
    --cc=linux-fsdevel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).