Subject: Re: lib/30664: realpath and magic symlinks
To: None <christos@zoulas.com>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: netbsd-bugs
Date: 07/10/2005 00:16:02
> | > 2. Create sysctl to turn on/off readlink() return behavior. This sysctl
> | >    "proc.pid.magiclinks" (or something) defaults to 0, and is inherited
> | >    across fork and exec. If proc.pid.magiclinks==0, readlink returns the
> | >    translated path; if ==1 then it returns the raw path.
> | 
> | who is expected to toggle this sysctl?
> | users, or applications?
> 
> Users. The point is not to make the whole tinh visible to applications.

i don't think it's reasonable to expect users to know
how each applications resolve links (by readlink or not).
it's the reason i filed this PR.

besides, it likely depends on application, not user, which behaviour is
expected.  eg. backup tools likely always want to see raw contents.

> | > 3. In the long term, move the whole mess to namei(), deprecate magiclinks.
> | >    and rename the magiclinks mount option magicnames.
> | 
> | i guess magicnames have its own weirdness...
> | foreign filesystem/tarballs, remote files, etc.
> | good luck. :-)
> 
> Why? The pathnames have @var's but they are otherwise valid.

eg. if you have a file named "@var", you will see weird ENOENT on "ls -l".

YAMAMOTO Takashi