Diff for /loncom/auth/lonuploadedacc.pm between versions 1.6 and 1.7

version 1.6, 2002/11/12 22:37:18 version 1.7, 2002/12/04 15:23:39
Line 28 Line 28
   
 package Apache::lonuploadedacc;  package Apache::lonuploadedacc;
   
   #
   # The way this is supposed to work:
   #
   # User A has client machine C
   # User A is logged into LON-CAPA server S
   # needs file from user B
   # homeserver for user B is H
   # 
   # This handler runs on H
   # To access a userfile:
   # Server S generates a token and puts it into the query string of URL for H
   # Client box C asks H for file with token issued by C
   # H now must ask S if token is valid, uses S's lond-command tokenauthuserfile
   
 use strict;  use strict;
 use Apache::Constants qw(:common :remotehost);  use Apache::Constants qw(:common);
 use Apache::lonnet();  use Apache::lonnet();
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     my $c = $r->connection;  
     my $args=$r->args;      my $args=$r->args;
     &Apache::loncommon::get_unprocessed_cgi($args,['token']);       &Apache::loncommon::get_unprocessed_cgi($args,['token','tokenissued']); 
     my (undef,undef,$udom,$uname,$ufile)=split(/\//,$r->uri);      my (undef,undef,$udom,$uname,$ufile)=split(/\//,$r->uri);
     $ufile=~s/^[\~\.]+//;      $ufile=~s/^[\~\.]+//;
     my ($homeserver)=($ENV{'form.token'}=~/\_([a-zA-Z0-9]+)$/);      my $remoteserver=$ENV{'form.tokenissued'};
     my $remoteip=$c->remote_ip;  
     my $remoteserver=$Apache::lonnet::iphost{$remoteip};  
     my $reply=&Apache::lonnet::reply('tokenauthuserfile:'.      my $reply=&Apache::lonnet::reply('tokenauthuserfile:'.
                  $udom.'/'.$uname.'/'.$ufile.':'.$ENV{'form.token'},                   $udom.'/'.$uname.'/'.$ufile.':'.$ENV{'form.token'},
      $remoteserver);       $remoteserver);
Line 49  sub handler { Line 60  sub handler {
        return OK;         return OK;
    } else {     } else {
        &Apache::lonnet::logthis(         &Apache::lonnet::logthis(
 "Refused userfile access $uname at $udom for $ufile from $remoteip -> $remoteserver home $homeserver with $ENV{'form.token'}: $reply");  "Refused userfile access $uname at $udom for $ufile with $remoteserver token $ENV{'form.token'}: $reply");
        return FORBIDDEN;         return FORBIDDEN;
    }     }
 }  }

Removed from v.1.6  
changed lines
  Added in v.1.7


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>