Diff for /loncom/auth/lonauth.pm between versions 1.59 and 1.65

version 1.59, 2003/11/12 16:55:40 version 1.65, 2005/02/26 05:37:23
Line 108  sub success { Line 108  sub success {
  $FORM{'interface'}=$userenv{'interface'};   $FORM{'interface'}=$userenv{'interface'};
     }      }
     $ENV{'environment.remote'}=$userenv{'remote'};      $ENV{'environment.remote'}=$userenv{'remote'};
       if ($userenv{'texengine'} eq 'ttm') { $clientmathml=1; }
   
 # --------------- Do not trust query string to be put directly into environment  # --------------- Do not trust query string to be put directly into environment
     foreach ('imagesuppress','appletsuppress',      foreach ('imagesuppress','appletsuppress',
      'embedsuppress','fontenhance','blackwhite',       'embedsuppress','fontenhance','blackwhite',
Line 181  sub success { Line 183  sub success {
 # -------------------------------------------------------- Menu script and info  # -------------------------------------------------------- Menu script and info
     my $windowinfo=&Apache::lonmenu::open($clientos);      my $windowinfo=&Apache::lonmenu::open($clientos);
     my $startupremote=&Apache::lonmenu::startupremote($lowerurl);      my $startupremote=&Apache::lonmenu::startupremote($lowerurl);
       my $remoteinfo=&Apache::lonmenu::load_remote_msg($lowerurl);
     my $setflags=&Apache::lonmenu::setflags();      my $setflags=&Apache::lonmenu::setflags();
     my $maincall=&Apache::lonmenu::maincall();      my $maincall=&Apache::lonmenu::maincall();
     my $bodytag=&Apache::loncommon::bodytag('Successful Login');      my $bodytag=&Apache::loncommon::bodytag('Successful Login');
       my $add=&addcontent();
       my $continuelink;
       if (($ENV{'browser.interface'} eq 'textual') ||
           ($ENV{'environment.remote'} eq 'off')) {
    $continuelink="<a href=\"$lowerurl\">".&mt('Continue')."</a>";
       }
 # ------------------------------------------------- Output for successful login  # ------------------------------------------------- Output for successful login
   
     $r->send_cgi_header(<<ENDHEADER);      $r->send_cgi_header(<<ENDHEADER);
 Content-type: text/html  Content-type: text/html$add
 Set-cookie: $cookie  Set-cookie: $cookie
   
 ENDHEADER  ENDHEADER
Line 209  $windowinfo Line 218  $windowinfo
 <h1>$lt{'wel'}</h1>  <h1>$lt{'wel'}</h1>
 $lt{'mes'}.<p>  $lt{'mes'}.<p>
 <a href="/adm/$lt{'log'}">$lt{'pro'}?</a></p>  <a href="/adm/$lt{'log'}">$lt{'pro'}?</a></p>
   $remoteinfo
 $maincall  $maincall
   $continuelink
 </body>  </body>
 </html>  </html>
 ENDSUCCESS  ENDSUCCESS
Line 220  ENDSUCCESS Line 231  ENDSUCCESS
 sub failed {  sub failed {
     my ($r,$message) = @_;      my ($r,$message) = @_;
     my $bodytag=&Apache::loncommon::bodytag('Unsuccessful Login');      my $bodytag=&Apache::loncommon::bodytag('Unsuccessful Login');
       my $add=&addcontent();
     $r->send_cgi_header(<<ENDFHEADER);      $r->send_cgi_header(<<ENDFHEADER);
 Content-type: text/html  Content-type: text/html$add
   
 ENDFHEADER  ENDFHEADER
     $r->print(<<ENDFAILED);      $r->print(<<ENDFAILED);
Line 229  ENDFHEADER Line 241  ENDFHEADER
 <head>  <head>
 <title>Unsuccessful Login to the LearningOnline Network with CAPA</title>  <title>Unsuccessful Login to the LearningOnline Network with CAPA</title>
 </head>  </head>
 <html>  
 $bodytag  $bodytag
 <h1>Sorry ...</h1>  <h1>Sorry ...</h1>
 <p><b>$message</b></p>  <p><b>$message</b></p>
Line 241  $bodytag Line 252  $bodytag
 ENDFAILED  ENDFAILED
 }  }
   
   # --------------------------------------------------------------------- Charset
   
   sub addcontent {
       my $encoding=&Apache::lonlocal::current_encoding;
       if ($encoding) {
    return '; charset='.$encoding;
       } else {
    return '';
       }
   }
   
 # ------------------------------------------------------------------ Rerouting!  # ------------------------------------------------------------------ Rerouting!
   
 sub reroute {  sub reroute {
Line 255  ENDRFHEADER Line 277  ENDRFHEADER
 <head>  <head>
 <title>Rerouting Login to the LearningOnline Network with CAPA</title>  <title>Rerouting Login to the LearningOnline Network with CAPA</title>
 </head>  </head>
 <html>  
 $bodytag  $bodytag
 <h1>Sorry ...</h1>  <h1>Sorry ...</h1>
 Please <a href="/">log in again</a>.  Please <a href="/">log in again</a>.
Line 297  ENDFHEADER Line 318  ENDFHEADER
 <head>  <head>
 <title>Already logged in</title>  <title>Already logged in</title>
 </head>  </head>
 <html>  
 $bodytag  $bodytag
 <h1>You are already logged in</h1>  <h1>You are already logged in</h1>
 <p>Please either <a href="/adm/roles">continue the current session</a> or  <p>Please either <a href="/adm/roles">continue the current session</a> or
Line 331  ENDFAILED Line 351  ENDFAILED
  failed($r,'Username, password and domain need to be specified.');   failed($r,'Username, password and domain need to be specified.');
         return OK;          return OK;
     }      }
   
   # split user logging in and "su"-user
   
       ($FORM{'uname'},$FORM{'suname'})=split(/\:/,$FORM{'uname'});
     $FORM{'uname'} =~ s/\W//g;      $FORM{'uname'} =~ s/\W//g;
       $FORM{'suname'} =~ s/\W//g;
     $FORM{'udom'}  =~ s/\W//g;      $FORM{'udom'}  =~ s/\W//g;
   
     my $role   = $r->dir_config('lonRole');      my $role   = $r->dir_config('lonRole');
Line 388  ENDFAILED Line 413  ENDFAILED
  ($firsturl=~/^\/adm\/(logout|remote)/)) {   ($firsturl=~/^\/adm\/(logout|remote)/)) {
  $firsturl='/adm/roles';   $firsturl='/adm/roles';
     }      }
   # --------------------------------- Are we attempting to login as somebody else?
     success($r,$FORM{'uname'},$FORM{'udom'},$authhost,$firsturl);      if ($FORM{'suname'}) {
   # ------------ see if the original user has enough privileges to pull this stunt
    if (&Apache::lonnet::privileged($FORM{'uname'},$FORM{'udom'})) {
   # ---------------------------------------------------- see if the su-user exists
       unless (&Apache::lonnet::homeserver($FORM{'suname'},$FORM{'udom'})
    eq 'no_host') {
    &Apache::lonnet::logthis(&Apache::lonnet::homeserver($FORM{'suname'},$FORM{'udom'}));
   # ------------------------------ see if the su-user is not too highly privileged
    unless (&Apache::lonnet::privileged($FORM{'suname'},$FORM{'udom'})) {
   # -------------------------------------------------------- actually switch users
       &Apache::lonnet::logperm('User '.$FORM{'uname'}.' at '.$FORM{'udom'}.
    ' logging in as '.$FORM{'suname'});
       $FORM{'uname'}=$FORM{'suname'};
    } else {
       &Apache::lonnet::logthis('Attempted switch user to privileged user');
    }
       }
    } else {
       &Apache::lonnet::logthis('Non-privileged user attempting switch user');
    }
       }
       &success($r,$FORM{'uname'},$FORM{'udom'},$authhost,$firsturl);
     return OK;      return OK;
 }  }
   

Removed from v.1.59  
changed lines
  Added in v.1.65


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