Re: varlinks! (and 2.1.98 works for me)

L. Adrian Griffis (adrian@idir.net)
Sun, 26 Apr 1998 13:24:38 -0500


> From: hpa@transmeta.com (H. Peter Anvin)
> Date: 26 Apr 1998 15:00:56 GMT
> Subject: Re: varlinks! (and 2.1.98 works for me)
>
> Followup to: <199804261426.QAA01875@cave.BitWizard.nl>
> By author: R.E.Wolff@BitWizard.nl (Rogier Wolff)
> In newsgroup: linux.dev.kernel
> >
> > Varlinks.
> >
> > What are varlinks?
> >
> > varlinks are symlinks that have a variable part in them. An example
> > will make things clear:
> >
> That, unfortunately, is really unacceptable. You're taking a
> well-defined construct in all versions of Unix (symlinks) and altering
> the semantics. If you want to do this, create a new filetype for it,
> but don't call this a symlink. The symlink you're describing above
> should point to a directory named /home/wolff/tmp/${uid} (the last
> portion being the byte sequence 24-7B-75-69-64-7D). Anything else
> would mean redefining an existing, well-established concept, which
> probably would be detrimental to security, as programs would think
> they were doing something else than they really were.

Actually there is a precedent for varlinks. A recall using two
different flavors of Unix for systems made by Harris and by
Pyramid. In both cases, these two systems used something like
varlinks to make is possible for users to get BSD like behaviour
or SYS5 like behaviour. I don't recall the exact details, but
it went something like this:

All symbolic links had multiple values that they could resolve
to. The specific value in any given case was index by a per-
process "Universe" value (perhaps it should have been
"Unixverse"). Universe might be 0 for the vendor's slant on
things, 1 for SYS5, and 2 for BSD. If seperate settings were
not desired, the symlink would only have a value for 0, and it
would be in effect in all cases.

There might be real directories called "/usr/.ucbbin" and
"/usr/.s5bin" which would be refered to in a symbolic
link at "/usr/bin". This symbolic link might contain the
values (".ucbbin",".s5bin",".ucbbin"), in this order.

It seemed to work pretty well.

---
L. Adrian Griffis

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu