$trust_unknown_referers = 1;
&init_config();
+if (&get_product_name() eq 'usermin') {
+ &switch_to_remote_user();
+ }
%access = &get_module_acl();
# Work out root directory
+local @uinfo = getpwnam($remote_user);
if (!$access{'root'}) {
- local @uinfo = getpwnam($remote_user);
$rootdir = $uinfo[7] ? $uinfo[7] : "/";
}
else {
$rootdir = $access{'root'};
+ $rootdir =~ s/^\~/$uinfo[7]/;
}
# Switch to correct Unix user
$fileunix = $access{'fileunix'} || $remote_user;
@uinfo = getpwnam($fileunix);
if (@uinfo) {
- ($(, $)) = ( $uinfo[3],
- "$uinfo[3] ".join(" ", $uinfo[3],
- &other_groups($uinfo[0])) );
- ($>, $<) = ( $uinfo[2], $uinfo[2] );
+ &switch_to_unix_user(\@uinfo);
}
}
}
if ($f eq "..") {
$dir =~ /^(.*\/)[^\/]+\/$/;
- $link = "<a href=\"\" onClick='parentdir(\"".&html_escape(quotemeta($1))."\"); return false'>";
+ $link = "<a href=\"\" onClick='parentdir(\""."e_escape($1)."\"); return false'>";
}
else {
- $link = "<a href=\"\" onClick='fileclick(\"".&html_escape(quotemeta("$dir$f"))."\", $isdir); return false'>";
+ $link = "<a href=\"\" onClick='fileclick(\""."e_escape("$dir$f")."\", $isdir); return false'>";
}
local @cols;
push(@cols, "$link<img border=0 src=$gconfig{'webprefix'}/images/$icon></a>");