Re: varlinks! (and 2.1.98 works for me)

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Sun, 26 Apr 1998 22:40:59 +0200 (MET DST)


H. Peter Anvin wrote:
>
> > This sets the "HOME" variable, allowing ${HOME} function in a varlink.
> > If the variable isn't found, the string is left untouched. This allows
> > you to create a default. Just put it under the litteral name
> > '${HOME}'.
> >
>
> 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,

Pray tell me, what is the output of

find / -type l -ls | grep '${'

on your system? And on the cluster at work?

It has happened before: People have redefined a perfectly legal
character (control-Z) to have a completely different meaning. It used
to mean "send the control-Z character to the application" and now it
suddenly means "suspend application".

It is a question of choices. If you need traditional symlinks,
with '${' embedded, you get two choices:

- disable "varlinks".
- don't define the part that comes after the '${' as a variable.

I'm not yet convinced wether or not I should allow the owner of a
process to set variables. The change is easy enough to only allow
"root" to change them (in fact that's what I inadvertedly programmed
first time around... :-). That way you could prevent people from
redefining your special /usr/${*&%&^#&^#@$ link by assignling a value
to the "*&%&^#&^#@$" variable....

I hope that most people can live with the situation that the
subsequence "${" should not occur inside security critical
path of an application, and that allowing users to change their
symlinks is usually OK.

Roger.

-- 
If it's there and you can see it, it's REAL      |___R.E.Wolff@BitWizard.nl  |
If it's there and you can't see it, it's TRANSPARENT |  Tel: +31-15-2137555  |
If it's not there and you can see it, it's VIRTUAL   |__FAX:_+31-15-2138217  |
If it's not there and you can't see it, it's GONE! -- Roy Wilks, 1983  |_____|

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