Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Jul 1998 20:50:07 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        peter@taronga.com (Peter da Silva)
Cc:        tlambert@primenet.com, peter@taronga.com, hackers@FreeBSD.ORG
Subject:   Re: A really hoopy idea for variant symlinks.
Message-ID:  <199807072050.NAA01036@usr04.primenet.com>
In-Reply-To: <199807071142.GAA13575@bonkers.taronga.com> from "Peter da Silva" at Jul 7, 98 06:42:58 am

next in thread | previous in thread | raw e-mail | index | archive | help
> > The enforcement depends on the procfs (kernel code) parsing and enforcing
> > against "absurd" values.
> 
> Like the file system does already? It's just namei!

Multiple "//" within a path are treated as "/", unless it's the
first two characters in the path, in which case it's implementation
defined what it does.

That covers the full gamut on what is or isn't allowable semantically
in a path component.

Gramatically, there are some FS's that make restrictions (31 characters,
but FreeBSD has no HFS implementation, 128 characters, but FreeBSD has
no HPFS implementation, 12 characters, but FreeBSD has no NWFS
implementation, 16 characters, but FreeBSD has no S51k implemetnation,
and 8.3 characters -- well, OK, FreeBSD has a FAT/VFAT implementation).

Enforcement of grammar occurs, ideally, on "parsed path components",
not on "path components".

So what I'm talking about here is FS semantics, not grammar.


> > I would prefer to put the vast majority of the enforcement in the libc,
> > and limit the range of "absurd" to be "anything beginning with a ``#''
> > character".
> 
> I would prefer to have a single namespace.

Me too.  There's nothing that prevents this when placing the POSIX
environement requirements in libc.  The *current* POSIX interface to
the environment exists almost entirely in libc in user space anyway,
so requirements that a system call API have a POSIX namespace instead
of a superset are specious, at best.


> > Less work in the kernel means a smaller kernel.
> 
> But the kernel's already doing this work, in namei. Let it continue to do
> so. What parsing would you need to be doing other than what namei does?

You would need name/value pair reduction; specifically, you would need
to seperate the token before and after the (initial) '=' token when
traversing the list of environment "name/value pair, '=' token seperator"
strings.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807072050.NAA01036>