version 1.2, 2002/08/08 13:45:21
|
version 1.5, 2002/11/12 22:28:48
|
Line 36 sub handler {
|
Line 36 sub handler {
|
my $r = shift; |
my $r = shift; |
my $args=$r->args; |
my $args=$r->args; |
&Apache::loncommon::get_unprocessed_cgi($args,['token']); |
&Apache::loncommon::get_unprocessed_cgi($args,['token']); |
my ($dum1,$dum2,$udom,$uname,$ufile)=split(/\//,$r->uri); |
my (undef,undef,$udom,$uname,$ufile)=split(/\//,$r->uri); |
$ufile=~s/^[\~\.]+//; |
$ufile=~s/^[\~\.]+//; |
my ($server)=($ENV{'form.token'}=~/\_([a-zA-Z0-9]+)$/); |
my ($homeserver)=($ENV{'form.token'}=~/\_([a-zA-Z0-9]+)$/); |
|
my $remoteip=$ENV{'REMOTE_ADDR'}; |
|
my $remoteserver=$Apache::lonnet::iphost{$remoteip}; |
|
&Apache::lonnet::logthis("remote server $remoteip $remoteserver"); |
|
|
my $reply=&Apache::lonnet::reply('tokenauthuserfile:'. |
my $reply=&Apache::lonnet::reply('tokenauthuserfile:'. |
$udom.'/'.$uname.'/'.$ufile.':'.$ENV{'form.token'}, |
$udom.'/'.$uname.'/'.$ufile.':'.$ENV{'form.token'}, |
$server); |
$remoteserver); |
if ($reply eq 'ok') { |
if ($reply eq 'ok') { |
return OK; |
return OK; |
} else { |
} else { |
&Apache::lonnet::logthis( |
&Apache::lonnet::logthis( |
"Refused userfile access $uname at $udom for $ufile from $server with $ENV{'form.token'}: $reply"); |
"Refused userfile access $uname at $udom for $ufile from $remoteip -> $remoteserver home $homeserver with $ENV{'form.token'}: $reply"); |
return FORBIDDEN; |
return FORBIDDEN; |
} |
} |
} |
} |