Diff for /loncom/auth/lonauth.pm between versions 1.68 and 1.69

version 1.68, 2005/07/05 21:30:14 version 1.69, 2005/07/07 06:18:37
Line 49  sub success { Line 49  sub success {
     my ($r, $username, $domain, $authhost,$lowerurl) = @_;      my ($r, $username, $domain, $authhost,$lowerurl) = @_;
     my $lonids=$r->dir_config('lonIDsDir');      my $lonids=$r->dir_config('lonIDsDir');
   
       my $public=($username eq 'public' && $domain eq 'public');
   
 # See if old ID present, if so, remove  # See if old ID present, if so, remove
   
     my $filename;      my ($filename,$cookie,$userroles);
     opendir(DIR,$lonids);      my $now=time;
     while ($filename=readdir(DIR)) {  
        if ($filename=~/^$username\_\d+\_$domain\_$authhost\.id$/) {  
   unlink($lonids.'/'.$filename);  
        }  
     }  
     closedir(DIR);  
   
 # Give them a new cookie      if ($public) {
    my $max_public=100;
    my $oldest;
    my $oldest_time=0;
    for(my $next=1;$next<=$max_public;$next++) {
       if (-e $lonids."/publicuser_$next.id") {
    my $mtime=(stat($lonids."/publicuser_$next.id"))[9];
    if ($mtime<$oldest_time || !$oldest_time) {
       $oldest_time=$mtime;
       $oldest=$next;
    }
       } else {
    $cookie="publicuser_$next";
    last;
       }
    }
    if (!$cookie) { $cookie="publicuser_$oldest"; }
       } else {
    opendir(DIR,$lonids);
    while ($filename=readdir(DIR)) {
       if ($filename=~/^$username\_\d+\_$domain\_$authhost\.id$/) {
    unlink($lonids.'/'.$filename);
       }
    }
    closedir(DIR);
   
     my $cookie;  # Give them a new cookie
     my $now=time;  
     $cookie="$username\_$now\_$domain\_$authhost";  
   
    $cookie="$username\_$now\_$domain\_$authhost";
       
 # Initialize roles  # Initialize roles
   
     my $userroles=Apache::lonnet::rolesinit($domain,$username,$authhost);   $userroles=Apache::lonnet::rolesinit($domain,$username,$authhost);
       }
 # ------------------------------------ Check browser type and MathML capability  # ------------------------------------ Check browser type and MathML capability
   
     my ($httpbrowser,$clientbrowser,$clientversion,$clientmathml,      my ($httpbrowser,$clientbrowser,$clientversion,$clientmathml,
Line 138  sub success { Line 158  sub success {
  print $idf "request.role=cm\n";   print $idf "request.role=cm\n";
         print $idf "request.role.adv=$env{'user.adv'}\n";          print $idf "request.role.adv=$env{'user.adv'}\n";
  print $idf "request.host=$ENV{'REMOTE_ADDR'}\n";   print $idf "request.host=$ENV{'REMOTE_ADDR'}\n";
  if ($username eq 'public' && $domain eq 'public') {    if ($public) {
     print $idf "environment.remote=off\n";      print $idf "environment.remote=off\n";
  }   }
  if ($FORM{'interface'}) {   if ($FORM{'interface'}) {
Line 175  sub success { Line 195  sub success {
   
 # ------------------------------------------------------------ Get cookie ready  # ------------------------------------------------------------ Get cookie ready
   
     if ($username eq 'public' && $domain eq 'public') {      if ($public) { return $cookie; }
  return $cookie;  
     }  
     $cookie="lonID=$cookie; path=/";      $cookie="lonID=$cookie; path=/";
 # -------------------------------------------------------- Menu script and info  # -------------------------------------------------------- Menu script and info
     my $windowinfo=&Apache::lonmenu::open($clientos);      my $windowinfo=&Apache::lonmenu::open($clientos);

Removed from v.1.68  
changed lines
  Added in v.1.69


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