tree f1c94ff9e91e2d2594ba9d1ae7f92120cca36722
parent 32c8df44d5f53026d92ec24bcf4c864359395e55
author Andrey Belov <defan@nginx.com> 1329150544 +0000
committer Andrey Belov <defan@nginx.com> 1329150544 +0000

Added disable_symlinks directive.

To completely disable symlinks (disable_symlinks on)
we use openat(O_NOFOLLOW) for each path component
to avoid races.

To allow symlinks with the same owner (disable_symlinks if_not_owner),
use openat() (followed by fstat()) and fstatat(AT_SYMLINK_NOFOLLOW),
and then compare uids between fstat() and fstatat().

As there is a race between openat() and fstatat() we don't
know if openat() in fact opened symlink or not.  Therefore,
we have to compare uids even if fstatat() reports the opened
component isn't a symlink (as we don't know whether it was
symlink during openat() or not).

Default value is off, i.e. symlinks are allowed.
