Kernel Hacks & Weird Filenames

Dave Decot decot at hpisod2.HP.COM
Fri Apr 22 08:41:02 AEST 1988


Several of you have expressed the objection "What if I REALLY wanted to
create filenames with funny characters?  The system won't let me do what
I want!  CENSORSHIP!!"  Well, maybe not quite like that... :-)  More like...

> So should the Unix kernel make the (relatively) irrevocable decision
> to disallow locally-non-printing characters?  Maybe---but I doubt it.

However, note that I originally suggested that it be configurable
(possibly per-filesystem) and that the default should be "no-funnies":

> ->Why don't we bite the bullet and change our kernels to refuse
> ->to create files whose names begin with a hyphen or contain
> ->non-printing characters (unless special arrangements are made
> ->by the user to permit it)?

> First, `non-printable characters'.  Well, there are certainly numerous
> characters that cannot be printed on the terminal I am using at the
> moment (namely my H19).  But this is not precisely the same set as are
> non-printable on other displays.  One notable exception is a display
> that implements ISO Latin 1; another is a Japanese terminal that
> displays Kanji.  One could make the set of allowed characters
> terminal-dependent.  Somehow that sounds like an IBM solution.

There are already multibyte character sets (e.g., Taiwanese) for which the
representations of some characters contain an ASCII '/' as the second
byte.  Some sort of kernel hack configurable for different languages
is necessary already.  Different terminals is another matter; I don't
think it should depend on the terminals, only the information about
the character set being used (such as what characters are letters,
numeric, punctuation, printable, etc.).

I would think that most UNIX users would want their filenames to be portable.

> Second: are file names to be printed?  Certainly most are.  But there
> are some that are not---for instance, the lock files used by this very
> network news system are formed by putting `L' in front of the message
> ID of each article; to lock the quoted article inews creates the file
> `/tmp/L<4895 at chinet.UUCP>', which is by no means a convenient handle.

Certainly isn't.  There are now much better ways to do file locking
than with those blasted lock files.

> A database system might lock records by creating temporary files formed
> by converting the record index to a radix-254 name ('/' and '\0' are
> taken) (use radix-126 on 4.2/4.3BSD, unless you remove the kernel
> restriction on valid ISO Latin 1 characters first; be sure to prefix
> or affix some character to avoid clashes with `.' and `..').

And with `-' !  This seems like a somewhat strange way to name temporary
files, but if you want to do that, what's wrong with radix 93
(i.e., only printable characters without - and / and probably space)?

Dave Decot
hpda!decot



More information about the Comp.unix.wizards mailing list