Diff for /loncom/auth/lonauth.pm between versions 1.122 and 1.127

version 1.122, 2012/08/27 00:52:45 version 1.127, 2013/09/29 00:49:24
Line 103  sub success { Line 103  sub success {
         if ($destsymb =~ /___/) {          if ($destsymb =~ /___/) {
             # FIXME Need to deal with encrypted symbs and urls as needed.              # FIXME Need to deal with encrypted symbs and urls as needed.
             my ($map,$resid,$desturl)=split(/___/,$destsymb);              my ($map,$resid,$desturl)=split(/___/,$destsymb);
             unless ($desturl=~/^(adm|uploaded|editupload|public)/) {              unless ($desturl=~/^(adm|editupload|public)/) {
                 $desturl = &Apache::lonnet::clutter($desturl);                  $desturl = &Apache::lonnet::clutter($desturl);
             }              }
             $desturl = &HTML::Entities::encode($desturl,'"<>&');              $desturl = &HTML::Entities::encode($desturl,'"<>&');
Line 173  sub failed { Line 173  sub failed {
     my $end_page   = &Apache::loncommon::end_page();      my $end_page   = &Apache::loncommon::end_page();
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
       my $loginhelp = &loginhelpdisplay($form->{'udom'});
       if ($loginhelp) {
           $loginhelp = '<p><a href="'.$loginhelp.'">'.&mt('Login problems?').'</a></p>';
       }
   
     $r->print(      $r->print(
        $start_page         $start_page
       .'<h1>'.&mt('Sorry ...').'</h1>'        .'<h1>'.&mt('Sorry ...').'</h1>'
       .'<p class="LC_warning">'.&mt($message).'</p>'        .'<p class="LC_warning">'.&mt($message).'</p>'
       .'<p>'.&mt('Please [_1]log in again[_2].','<a href="'.$retry.'">','</a>')        .'<p>'.&mt('Please [_1]log in again[_2].','<a href="'.$retry.'">','</a>')
       .'</p>'        .'</p>'
       .'<p><a href="/adm/loginproblems.html">'.&mt('Login problems?').'</a></p>'        .$loginhelp
       .$end_page        .$end_page
     );      );
  }   }
Line 190  sub reroute { Line 195  sub reroute {
     my ($r) = @_;      my ($r) = @_;
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
     my $msg='<h1>'.&mt('Sorry ...').'</h1>'      my $msg='<b>'.&mt('Sorry ...').'</b><br />'
            .&mt('Please [_1]log in again[_2].');             .&mt('Please [_1]log in again[_2].');
     &Apache::loncommon::simple_error_page($r,'Rerouting',$msg);      &Apache::loncommon::simple_error_page($r,'Rerouting',$msg,{'no_auto_mt_msg' => 1});
 }  }
   
 # ---------------------------------------------------------------- Main handler  # ---------------------------------------------------------------- Main handler
Line 231  sub handler { Line 236  sub handler {
             }              }
             $r->print(              $r->print(
                $start_page                 $start_page
               .'<p class="LC_warning>"'.&mt('You are already logged in!').'</p>'                .'<p class="LC_warning">'.&mt('You are already logged in!').'</p>'
               .'<p>'.&mt('Please either [_1]continue the current session[_2] or [_3]log out[_4].'                .'<p>'.&mt('Please either [_1]continue the current session[_2] or [_3]log out[_4].'
                     ,'<a href="'.$dest.'">','</a>','<a href="/adm/logout">','</a>')                      ,'<a href="'.$dest.'">','</a>','<a href="/adm/logout">','</a>')
               .'</p>'                .'</p>'
Line 254  sub handler { Line 259  sub handler {
        $value =~ tr/+/ /;         $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;         $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
        $form{$name}=$value;         $form{$name}=$value;
     }       }
   
     if ((!$form{'uname'}) || (!$form{'upass0'}) || (!$form{'udom'})) {      if ((!$form{'uname'}) || (!$form{'upass0'}) || (!$form{'udom'})) {
  &failed($r,'Username, password and domain need to be specified.',   &failed($r,'Username, password and domain need to be specified.',
Line 279  sub handler { Line 284  sub handler {
     my $tmpinfo=Apache::lonnet::reply('tmpget:'.$form{'logtoken'},      my $tmpinfo=Apache::lonnet::reply('tmpget:'.$form{'logtoken'},
                                       $form{'serverid'});                                        $form{'serverid'});
   
       my %sessiondata;
       if ($form{'iptoken'}) {
           %sessiondata = &Apache::lonnet::tmpget($form{'iptoken'});
           my $delete = &Apache::lonnet::tmpdel($form{'token'});
       }
   
     if (($tmpinfo=~/^error/) || ($tmpinfo eq 'con_lost') ||       if (($tmpinfo=~/^error/) || ($tmpinfo eq 'con_lost') || 
         ($tmpinfo eq 'no_such_host')) {          ($tmpinfo eq 'no_such_host')) {
  &failed($r,'Information needed to verify your login information is missing, inaccessible or expired.',\%form);   &failed($r,'Information needed to verify your login information is missing, inaccessible or expired.',\%form);
Line 391  sub handler { Line 402  sub handler {
  ($firsturl=~/^\/adm\/(logout|remote)/)) {   ($firsturl=~/^\/adm\/(logout|remote)/)) {
  $firsturl='/adm/roles';   $firsturl='/adm/roles';
     }      }
   
       my $hosthere;
       if ($form{'iptoken'}) {
           if (($sessiondata{'domain'} eq $form{'udom'}) &&
               ($sessiondata{'username'} eq $form{'uname'})) {
               $hosthere = 1;
           }
       }
   
 # --------------------------------- Are we attempting to login as somebody else?  # --------------------------------- Are we attempting to login as somebody else?
     if ($form{'suname'}) {      if ($form{'suname'}) {
 # ------------ see if the original user has enough privileges to pull this stunt  # ------------ see if the original user has enough privileges to pull this stunt
Line 414  sub handler { Line 434  sub handler {
  }   }
     }      }
   
     my ($is_balancer,$otherserver) =       my ($is_balancer,$otherserver);
         &Apache::lonnet::check_loadbalancing($form{'uname'},$form{'udom'});  
       unless ($hosthere) {
           ($is_balancer,$otherserver) =
               &Apache::lonnet::check_loadbalancing($form{'uname'},$form{'udom'});
       }
   
     if ($is_balancer) {      if ($is_balancer) {
         if (!$otherserver) {           if (!$otherserver) { 

Removed from v.1.122  
changed lines
  Added in v.1.127


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