On Fri, 4 Oct 2013 17:25:27 -0700, Charles Mills wrote:

>> prohibits names that are not valid UTF-8
>
>What is an example of a name that is not valid UTF-8? Names that include 
>Tangut or Klingon characters? Or do you mean "broken" UTF-8 that contains 
>bytes (NOT characters) that are not valid UTF-8, or the first byte of a 2-byte 
>sequence but not the second? Should that be permitted?
> 
The latter.  The former must be permitted to allow future expansion
of Unicode by assigning curently unused code points.

>Should filenames be case-insensitive is a matter of taste. I happen to like 
>the Windows scheme of preserving case but performing case-insensitive searches 
>of file names -- but that's just me. I code in C and am perfectly happy that 
>Foo is different from foo. Yes, a system should be consistent across English 
>and Cyrillic, and yes, the "equivalency" (or not!) of año/ano is a completely 
>different issue than año/Año.
> 
I have seen the position taken by some in these lists (I won't bother with
an archive search) that the filesystem should be oblivious to orthographic
conventions; that "caesar" or "Cæsar" should be found alike in a search
(and not allowed to coexist in the same directory), while the orthography
should be preserved for display.

On Fri, 4 Oct 2013 21:35:56 -0400, Tony Harminc wrote:
>
>If, as Charles asks, you are talking about invalid (malformed) UTF-8,
>then that's akin to the discussion on DSNAMEs in JCL, and in the VTOC
>and catalog[ue]. The OS should make clear the domain of filenames, and
>enforce it. It's certainly a UNIXy thing to accept almost any binary
>values, and leave the end user to deal with the results. ...
> 
The UNIX scheme is particularly catholic; its namespace is pretty
close to the union of all prevalent others.  Mac OS Classic allowed
NUL and '/' in filenames (but reserved ':' as a directory level
separator).  Programmers exploited the NUL in order to appear
first in directory lists.  (I won't defend the convention of null-
terminated strings.)  OS X swaps ':' and '/', depending on which
user interface is in use.  Ugh!

> ... It's also
>reasonable to provide a lower level interface that skips the validity
>check, but there may be security/integrity concerns.
> 
You're nearly contradicting your earlier statement: "The OS should
make clear the domain of filenames, and enforce it."  I agree.  And
I'll go further to say that it should not be the prerogative of user
interfaces to restrict it.  If STOW lets me create a member named
"Foo_Bar!", or even "foo)Bar(" (I believe it does), TSO and JCL should
let me allocate it (that's what quoting is for).  If it's desirable to
restrict the namespace for "security/integrity concerns", that should
be left to RACF.

"integrity"?  Ob"Exploits of a Mom"?  The control block interfaces of
OS/360 and after have made it pretty hard to work such spoofs at a
low level; parsers may be a different matter.  And the greatest
hazard I see is quiet truncation, endemic in z/OS.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to