version 1.31.2.1, 2004/01/27 23:06:22
|
version 1.35, 2004/08/23 18:57:16
|
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 81 sub handler {
|
Line 79 sub handler {
|
my %cookies=CGI::Cookie->parse($r->header_in('Cookie')); |
my %cookies=CGI::Cookie->parse($r->header_in('Cookie')); |
my $lonid=$cookies{'lonID'}; |
my $lonid=$cookies{'lonID'}; |
my $cookie; |
my $cookie; |
|
&Apache::lonnet::logthis("Wha? cookie"); |
if ($lonid) { |
if ($lonid) { |
|
&Apache::lonnet::logthis("Valid cookie"); |
my $handle=$lonid->value; |
my $handle=$lonid->value; |
$handle=~s/\W//g; |
$handle=~s/\W//g; |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
Line 120 sub handler {
|
Line 120 sub handler {
|
|
|
return OK; |
return OK; |
} else { |
} else { |
|
&Apache::lonnet::logthis("Invalid cookie"); |
$r->log_reason("Cookie $handle not valid", $r->filename) |
$r->log_reason("Cookie $handle not valid", $r->filename) |
}; |
}; |
} |
} |