version 1.31.4.1, 2004/02/10 19:23:11
|
version 1.37, 2004/10/29 20:44:30
|
Line 48 use Apache::lonnet();
|
Line 48 use Apache::lonnet();
|
|
|
sub constructaccess { |
sub constructaccess { |
my ($url,$ownerdomain)=@_; |
my ($url,$ownerdomain)=@_; |
my ($ownername)=($url=~/\/(?:\~|priv\/|home\/)(\w+)/); |
my ($ownername)=($url=~/\/(?:\~|priv\/|home\/)(\w+)\//); |
unless (($ownername) && ($ownerdomain)) { return ''; } |
unless (($ownername) && ($ownerdomain)) { return ''; } |
# We do not allow editing of previous versions of files. |
# We do not allow editing of previous versions of files. |
if ($url=~/\.(\d+)\.(\w+)$/) { return ''; } |
if ($url=~/\.(\d+)\.(\w+)$/) { return ''; } |
my @possibledomains = &Apache::lonnet::current_machine_domains(); |
my @possibledomains = &Apache::lonnet::current_machine_domains(); |
&Apache::lonnet::logthis("got domains of ".join(':',@possibledomains)); |
|
if ($ownername eq $ENV{'user.name'}) { |
if ($ownername eq $ENV{'user.name'}) { |
foreach my $domain (@possibledomains) { |
foreach my $domain (@possibledomains) { |
if ($domain eq $ENV{'user.domain'}) { |
if ($domain eq $ENV{'user.domain'}) { |
Line 62 sub constructaccess {
|
Line 61 sub constructaccess {
|
} |
} |
} |
} |
|
|
|
|
foreach my $domain (@possibledomains) { |
foreach my $domain (@possibledomains) { |
my $capriv='user.priv.ca./'.$domain.'/'.$ownername.'./'; |
my $capriv='user.priv.ca./'.$domain.'/'.$ownername.'./'; |
foreach (keys %ENV) { |
foreach (keys %ENV) { |
Line 104 sub handler {
|
Line 102 sub handler {
|
$r->log_reason("Unauthorized $requrl", $r->filename); |
$r->log_reason("Unauthorized $requrl", $r->filename); |
return HTTP_NOT_ACCEPTABLE; |
return HTTP_NOT_ACCEPTABLE; |
} |
} |
# Construction space needs Remote to work |
|
if ($ENV{'environment.remote'} eq 'off') { |
|
$r->content_type('text/html'); |
|
$r->header_out(Location => |
|
'http://'.$r->server->server_hostname. |
|
'/adm/remote?action=launch&url='. |
|
&Apache::lonnet::escape($requrl)); |
|
return REDIRECT; |
|
} |
|
|
|
# -------------------------------------------------------- Load POST parameters |
# -------------------------------------------------------- Load POST parameters |
|
|