diff options
Diffstat (limited to 'src/share/checkperms')
-rwxr-xr-x | src/share/checkperms | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/share/checkperms b/src/share/checkperms index 731790e..c93113e 100755 --- a/src/share/checkperms +++ b/src/share/checkperms @@ -81,6 +81,14 @@ sub permissions_ok { return sprintf("improper other writability on '%s'", $path); } + # see the rationalization in secure_filename() in auth.c in the + # OpenSSH sources for an explanation of this bailout (see also + # monkeysphere #675): + if ($path eq $user->dir) { + debug("stopping at the %s's home directory '%s'\n", $user->name, $path); + return undef; + } + my $nextlevel = dirname($path); if ($path eq $nextlevel) { # we bottom out at the root (/ in UNIX) return undef; |