Diff for /loncom/auth/migrateuser.pm between versions 1.25.2.3 and 1.26

version 1.25.2.3, 2020/10/23 20:58:08 version 1.26, 2017/11/30 15:14:51
Line 53  sub goto_login { Line 53  sub goto_login {
 }  }
   
   
 sub sso_check {  sub sso_lti_check {
     my ($data) = @_;      my ($data) = @_;
     my %extra_env;      my %extra_env;
     if (ref($data) eq 'HASH') {      if (ref($data) eq 'HASH') {
Line 64  sub sso_check { Line 64  sub sso_check {
             $extra_env{'request.sso.reloginserver'} =               $extra_env{'request.sso.reloginserver'} = 
                 $data->{'sso.reloginserver'};                  $data->{'sso.reloginserver'};
         }          }
           if ($data->{'lti.login'}) {
               $extra_env{'request.lti.login'} = $data->{'lti.login'};
           }
           if ($data->{'lti.passbackid'}) {
               $extra_env{'request.lti.passbackid'} = $data->{'lti.passbackid'};
           }
           if ($data->{'lti.passbackurl'}) {
               $extra_env{'request.lti.passbackurl'} = $data->{'lti.passbackurl'};
           }
           if ($data->{'lti.rosterid'}) {
               $extra_env{'request.lti.rosterid'} = $data->{'lti.rosterid'};
           }
           if ($data->{'lti.rosterurl'}) {
               $extra_env{'request.lti.rosterurl'} = $data->{'lti.rosterurl'};
           }
     }      }
     return \%extra_env;      return \%extra_env;
 }  }
Line 171  sub ip_changed { Line 186  sub ip_changed {
                     }                      }
                 }                  }
             }              }
             unless ($hosthere) {  
                 if (($dataref->{'balancer'}) && ($dataref->{'balcookie'})) {  
                     &Apache::lonnet::delbalcookie($dataref->{'balcookie'},$dataref->{'balancer'});  
                 }  
             }  
         }          }
         if ($dataref->{'sso.login'}) {          if ($dataref->{'sso.login'}) {
             $url .= '/adm/roles';              $url .= '/adm/roles';
Line 248  sub handler { Line 258  sub handler {
     }      }
     if ($home =~ /(con_lost|no_such_host)/) { return &goto_login($r,$udom); }      if ($home =~ /(con_lost|no_such_host)/) { return &goto_login($r,$udom); }
   
     my $extra_env = &sso_check(\%data);      my $extra_env = &sso_lti_check(\%data);
     if (($data{'balancer'}) && ($data{'server'}) && ($data{'balcookie'})) {  
         if (ref($extra_env) eq 'HASH') {  
             $extra_env->{'request.balancercookie'} = $data{'server'}.':'.$data{'balcookie'};  
         } else {  
             $extra_env = { 'request.balancercookie' => $data{'server'}.':'.$data{'balcookie'} };  
         }  
     } elsif (($data{'server'}) && ($data{'otherbalcookie'})) {  
         my ($balancer,$balcookie) = split(/:/,$data{'otherbalcookie'});  
         if (defined(&Apache::lonnet::hostname($balancer)) && $balcookie =~ /^[a-f0-9]{32}$/) {  
             my $baldom = &Apache::lonnet::host_domain($balancer);  
             if (&Apache::lonnet::shared_institution($baldom)) {  
                 my $cookieid = join('_',$udom,$data{'username'},$balcookie);  
                 &Apache::lonnet::updatebalcookie($cookieid,$balancer,$data{'server'});  
                 if (ref($extra_env) eq 'HASH') {  
                     $extra_env->{'request.balancercookie'} = $data{'otherbalcookie'};  
                 } else {  
                     $extra_env = { 'request.balancercookie' => $data{'otherbalcookie'} };  
                 }  
             }  
         }  
     }  
   
     my (%form,$cid);      my %form;
     if ($data{'symb'} ne '') {      if ($data{'symb'} ne '') {
         $form{'symb'} = $data{'symb'};          $form{'symb'} = $data{'symb'};
     }      }
Line 281  sub handler { Line 270  sub handler {
     if ($data{'noloadbalance'} ne '') {      if ($data{'noloadbalance'} ne '') {
         $form{'noloadbalance'} = $data{'noloadbalance'};          $form{'noloadbalance'} = $data{'noloadbalance'};
     }      }
     if ($data{'role'}) {  
         if ($data{'role'} =~ m{\./($match_domain)/($match_courseid)(?:/\w+|$)}) {      if (!$data{'role'}) {
             unless (&Apache::lonnet::homeserver($2,$1) eq 'no_host') {  
                 $cid = $1.'_'.$2;  
             }  
         }  
     } else {  
  my $handle = &Apache::lonnet::check_for_valid_session($r);   my $handle = &Apache::lonnet::check_for_valid_session($r);
  if ($handle) {   if ($handle) {
     &Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'),      &Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'),
Line 317  sub handler { Line 301  sub handler {
         $next_url .= '&orgurl='.&escape($data{'origurl'});          $next_url .= '&orgurl='.&escape($data{'origurl'});
     }      }
     &Apache::lonauth::success($r,$data{'username'},$data{'domain'},$home,      &Apache::lonauth::success($r,$data{'username'},$data{'domain'},$home,
       $next_url,$extra_env,\%form,$cid);        $next_url,$extra_env,\%form);
     return OK;      return OK;
 }  }
   

Removed from v.1.25.2.3  
changed lines
  Added in v.1.26


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