Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.470 and 1.471

version 1.470, 2004/02/02 20:21:25 version 1.471, 2004/02/04 22:39:06
Line 524  sub authenticate { Line 524  sub authenticate {
     my ($uname,$upass,$udom)=@_;      my ($uname,$upass,$udom)=@_;
     $upass=escape($upass);      $upass=escape($upass);
     $uname=~s/\W//g;      $uname=~s/\W//g;
     if (($perlvar{'lonRole'} eq 'library') &&       my $uhome=&homeserver($uname,$udom);
         ($udom eq $perlvar{'lonDefDomain'})) {      if (!$uhome) {
     my $answer=reply("encrypt:auth:$udom:$uname:$upass",$perlvar{'lonHostID'});   &logthis("User $uname at $udom is unknown in authenticate");
         if ($answer =~ /authorized/) {   return 'no_host';
               if ($answer eq 'authorized') {  
                  &logthis("User $uname at $udom authorized by local server");   
                  return $perlvar{'lonHostID'};   
               }  
               if ($answer eq 'non_authorized') {  
                  &logthis("User $uname at $udom rejected by local server");   
                  return 'no_host';   
               }  
  }  
     }      }
       my $answer=reply("encrypt:auth:$udom:$uname:$upass",$uhome);
     my $tryserver;      if ($answer eq 'authorized') {
     foreach $tryserver (keys %libserv) {   &logthis("User $uname at $udom authorized by $uhome"); 
  if ($hostdom{$tryserver} eq $udom) {   return $uhome; 
            my $answer=reply("encrypt:auth:$udom:$uname:$upass",$tryserver);      }
            if ($answer =~ /authorized/) {      if ($answer eq 'non_authorized') {
               if ($answer eq 'authorized') {   &logthis("User $uname at $udom rejected by $uhome");
                  &logthis("User $uname at $udom authorized by $tryserver");    return 'no_host'; 
                  return $tryserver;   
               }  
               if ($answer eq 'non_authorized') {  
                  &logthis("User $uname at $udom rejected by $tryserver");  
                  return 'no_host';  
               }   
    }  
        }  
     }      }
     &logthis("User $uname at $udom could not be authenticated");          &logthis("User $uname at $udom threw error $answer when checking authentication mechanism");
     return 'no_host';      return 'no_host';
 }  }
   

Removed from v.1.470  
changed lines
  Added in v.1.471


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