Diff for /loncom/auth/lonauth.pm between versions 1.157 and 1.160

version 1.157, 2019/01/27 16:02:43 version 1.160, 2020/10/15 03:09:40
Line 46  use Digest::MD5; Line 46  use Digest::MD5;
 # ------------------------------------------------------------ Successful login  # ------------------------------------------------------------ Successful login
 sub success {  sub success {
     my ($r, $username, $domain, $authhost, $lowerurl, $extra_env,      my ($r, $username, $domain, $authhost, $lowerurl, $extra_env,
  $form,$skipcritical) = @_;   $form,$skipcritical,$cid) = @_;
   
 # ------------------------------------------------------------ Get cookie ready  # ------------------------------------------------------------ Get cookie ready
     my $cookie =      my $cookie =
Line 108  sub success { Line 108  sub success {
             }              }
             $r->send_http_header;              $r->send_http_header;
             if (ref($form) eq 'HASH') {              if (ref($form) eq 'HASH') {
                   $form->{'lti.login'} = $env{'request.lti.login'};
                 $form->{'lti.reqcrs'} = $env{'request.lti.reqcrs'};                  $form->{'lti.reqcrs'} = $env{'request.lti.reqcrs'};
                 $form->{'lti.reqrole'} = $env{'request.lti.reqrole'};                  $form->{'lti.reqrole'} = $env{'request.lti.reqrole'};
                 $form->{'lti.sourcecrs'} = $env{'request.lti.sourcecrs'};                  $form->{'lti.sourcecrs'} = $env{'request.lti.sourcecrs'};
Line 147  sub success { Line 148  sub success {
     }      }
     if (defined($form->{symb})) {      if (defined($form->{symb})) {
         my $destsymb = $form->{symb};          my $destsymb = $form->{symb};
           my $encrypted;
           if ($destsymb =~ m{^/enc/}) {
               $encrypted = 1;
               if ($cid) {
                   $destsymb = &Apache::lonenc::unencrypted($destsymb,$cid);
               }
           }
         $destination  .= ($destination =~ /\?/) ? '&' : '?';          $destination  .= ($destination =~ /\?/) ? '&' : '?';
         if ($destsymb =~ /___/) {          if ($destsymb =~ /___/) {
             # FIXME Need to deal with encrypted symbs and urls as needed.  
             my ($map,$resid,$desturl)=split(/___/,$destsymb);              my ($map,$resid,$desturl)=split(/___/,$destsymb);
             $desturl = &Apache::lonnet::clutter($desturl);              $desturl = &Apache::lonnet::clutter($desturl);
               if ($encrypted) {
                   $desturl = &Apache::lonenc::encrypted($desturl,1,$cid);
                   $destsymb = $form->{symb};
               }
             $desturl = &HTML::Entities::encode($desturl,'"<>&');              $desturl = &HTML::Entities::encode($desturl,'"<>&');
             $destsymb = &HTML::Entities::encode($destsymb,'"<>&');              $destsymb = &HTML::Entities::encode($destsymb,'"<>&');
             $destination .= 'destinationurl='.$desturl.              $destination .= 'destinationurl='.$desturl.
                             '&destsymb='.$destsymb;                              '&destsymb='.$destsymb;
         } else {          } elsif (!$encrypted) {
             $destsymb = &HTML::Entities::encode($destsymb,'"<>&');              $destsymb = &HTML::Entities::encode($destsymb,'"<>&');
             $destination .= 'destinationurl='.$destsymb;              $destination .= 'destinationurl='.$destsymb;
         }          }
Line 675  sub handler { Line 686  sub handler {
             }              }
             $r->internal_redirect($switchto);              $r->internal_redirect($switchto);
         } else {          } else {
               &Apache::loncommon::content_type($r,'text/html');
               $r->send_http_header;
             $r->print(&noswitch());              $r->print(&noswitch());
         }          }
         return OK;          return OK;
Line 705  sub handler { Line 718  sub handler {
                 }                  }
                 $r->internal_redirect($switchto);                  $r->internal_redirect($switchto);
             } else {              } else {
                   &Apache::loncommon::content_type($r,'text/html');
                   $r->send_http_header;
                 $r->print(&noswitch());                  $r->print(&noswitch());
             }              }
             return OK;              return OK;

Removed from v.1.157  
changed lines
  Added in v.1.160


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