Diff for /loncom/auth/lonacc.pm between versions 1.159.2.21.2.5 and 1.207

version 1.159.2.21.2.5, 2023/07/05 17:31:46 version 1.207, 2022/09/17 23:38:50
Line 160  sub get_posted_cgi { Line 160  sub get_posted_cgi {
                         if (length($value) == 1) {                          if (length($value) == 1) {
                             $value=~s/[\r\n]$//;                              $value=~s/[\r\n]$//;
                         }                          }
                     }                      } 
                     if ($fname =~ /\.(xls|doc|ppt)(x|m)$/i) {                      if ($fname =~ /\.(xls|doc|ppt)(x|m)$/i) {
                         $value=~s/[\r\n]$//;                          $value=~s/[\r\n]$//;
                     }                      }
Line 204  sub get_posted_cgi { Line 204  sub get_posted_cgi {
  $fname='';   $fname='';
  $fmime='';   $fmime='';
     }      }
                       if ($i<$#lines && $lines[$i+1]=~/^Content\-Type\:\s*([\w\-\/]+)/i) {
                           # TODO: something with $1 !
                           $i++;
                       }
                       if ($i<$#lines && $lines[$i+1]=~/^Content\-transfer\-encoding\:\s*([\w\-\/]+)/i) {
                           # TODO: something with $1 !
                           $i++;
                       }
     $i++;      $i++;
  }   }
     } else {      } else {
Line 325  sub sso_login { Line 333  sub sso_login {
         }          }
     }      }
   
     my ($linkprot,$linkprotuser,$linkprotexit,$linkkey,$deeplinkurl,      my ($linkprot,$linkprotuser,$linkprotexit,$linkkey,$deeplinkurl);
         $linkprotpbid,$linkprotpburl);  
   
 #  #
 # If Shibboleth auth is in use, and a dual SSO and non-SSO login page  # If Shibboleth auth is in use, and a dual SSO and non-SSO login page
Line 366  sub sso_login { Line 373  sub sso_login {
             $linkprot = $info{'linkprot'};              $linkprot = $info{'linkprot'};
             $linkprotuser = $info{'linkprotuser'};              $linkprotuser = $info{'linkprotuser'};
             $linkprotexit = $info{'linkprotexit'};              $linkprotexit = $info{'linkprotexit'};
             $linkprotpbid = $info{'linkprotpbid'};  
             $linkprotpburl = $info{'linkprotpburl'};  
         } elsif ($info{'linkkey'} ne '') {          } elsif ($info{'linkkey'} ne '') {
             $linkkey = $info{'linkkey'};              $linkkey = $info{'linkkey'};
         }          }
Line 396  sub sso_login { Line 401  sub sso_login {
                 $linkprot = $form{'linkprot'};                  $linkprot = $form{'linkprot'};
                 $linkprotuser = $form{'linkprotuser'};                  $linkprotuser = $form{'linkprotuser'};
                 $linkprotexit = $form{'linkprotexit'};                  $linkprotexit = $form{'linkprotexit'};
                 $linkprotpbid = $form{'linkprotpbid'};  
                 $linkprotpburl = $form{'linkprotpburl'};  
             } elsif ($form{'linkkey'} ne '') {              } elsif ($form{'linkkey'} ne '') {
                 $linkkey = $form{'linkkey'};                  $linkkey = $form{'linkkey'};
             }              }
Line 427  sub sso_login { Line 430  sub sso_login {
                 $linkprot = $form{'linkprot'};                  $linkprot = $form{'linkprot'};
                 $linkprotuser = $form{'linkprotuser'};                  $linkprotuser = $form{'linkprotuser'};
                 $linkprotexit = $form{'linkprotexit'};                  $linkprotexit = $form{'linkprotexit'};
                 $linkprotpbid = $form{'linkprotpbid'};  
                 $linkprotpburl = $form{'linkprotpburl'};  
             } elsif ($form{'linkkey'} ne '') {              } elsif ($form{'linkkey'} ne '') {
                 $linkkey = $form{'linkkey'};                  $linkkey = $form{'linkkey'};
             }              }
Line 443  sub sso_login { Line 444  sub sso_login {
             if ($link_info{'linkprotexit'} ne '') {              if ($link_info{'linkprotexit'} ne '') {
                 $linkprotexit = $link_info{'linkprotexit'};                  $linkprotexit = $link_info{'linkprotexit'};
             }              }
             if ($link_info{'linkprotpbid'} ne '') {  
                 $linkprotpbid = $link_info{'linkprotpbid'};  
             }  
             if ($link_info{'linkprotpburl'} ne '') {  
                 $linkprotpburl = $link_info{'linkprotpburl'};  
             }  
         }          }
         my $delete = &Apache::lonnet::tmpdel($form{'ltoken'});          my $delete = &Apache::lonnet::tmpdel($form{'ltoken'});
         delete($form{'ltoken'});          delete($form{'ltoken'});
Line 471  sub sso_login { Line 466  sub sso_login {
                            linkprot => $linkprot,                             linkprot => $linkprot,
                            linkprotuser => $linkprotuser,                             linkprotuser => $linkprotuser,
                            linkprotexit => $linkprotexit,                             linkprotexit => $linkprotexit,
                            linkprotpbid => $linkprotpbid,  
                            linkprotpburl => $linkprotpburl,  
                        );                         );
             if ($env{'form.lcssowin'}) {              if ($env{'form.lcssowin'}) {
                 $data{'lcssowin'} = $env{'form.lcssowin'};                  $data{'lcssowin'} = $env{'form.lcssowin'};
Line 545  sub sso_login { Line 538  sub sso_login {
                     if ($linkprotexit ne '') {                      if ($linkprotexit ne '') {
                         $env{'request.linkprotexit'} = $linkprotexit;                          $env{'request.linkprotexit'} = $linkprotexit;
                     }                      }
                     if ($linkprotpbid ne '') {  
                         $env{'request.linkprotpbid'} = $linkprotpbid;  
                     }  
                     if ($linkprotpburl ne '') {  
                         $env{'request.linkprotpburl'} = $linkprotpburl;  
                     }  
                 } elsif ($linkkey ne '') {                  } elsif ($linkkey ne '') {
                     $env{'request.linkkey'} = $linkkey;                      $env{'request.linkkey'} = $linkkey;
                 }                  }
Line 578  sub sso_login { Line 565  sub sso_login {
  } else {   } else {
     # need to login them in, so generate the need data that      # need to login them in, so generate the need data that
     # migrate expects to do login      # migrate expects to do login
             my $ip = &Apache::lonnet::get_requestor_ip($r);      my $ip = &Apache::lonnet::get_requestor_ip($r);
     my %info=('ip'        => $ip,      my %info=('ip'        => $ip,
       'domain'    => $domain,        'domain'    => $domain,
       'username'  => $user,        'username'  => $user,
Line 611  sub sso_login { Line 598  sub sso_login {
                     if ($linkprotexit ne '') {                      if ($linkprotexit ne '') {
                         $info{'linkprotexit'} = $linkprotexit;                          $info{'linkprotexit'} = $linkprotexit;
                     }                      }
                     if ($linkprotpbid ne '') {  
                         $info{'linkprotpbid'} = $linkprotpbid;  
                     }  
                     if ($linkprotpburl ne '') {  
                         $info{'linkprotpburl'} = $linkprotpburl;  
                     }  
                 } elsif ($linkkey ne '') {                  } elsif ($linkkey ne '') {
                     $info{'linkkey'} = $linkkey;                      $info{'linkkey'} = $linkkey;
                 }                  }
Line 784  sub handler { Line 765  sub handler {
             my $lonhost = &Apache::lonnet::host_from_dns($hostname);              my $lonhost = &Apache::lonnet::host_from_dns($hostname);
             if ($lonhost) {              if ($lonhost) {
                 my $actual = &Apache::lonnet::absolute_url($hostname,1,1);                  my $actual = &Apache::lonnet::absolute_url($hostname,1,1);
                   my $exphostname = &Apache::lonnet::hostname($lonhost);
                 my $expected = $Apache::lonnet::protocol{$lonhost}.'://'.$hostname;                  my $expected = $Apache::lonnet::protocol{$lonhost}.'://'.$hostname;
                 unless ($actual eq $expected) {                  unless ($actual eq $expected) {
                     $env{'request.use_absolute'} = $expected;                      $env{'request.use_absolute'} = $expected;
Line 842  sub handler { Line 824  sub handler {
                                 linkprot => $info{'linkprot'},                                  linkprot => $info{'linkprot'},
                                 linkprotuser => $info{'linkprotuser'},                                  linkprotuser => $info{'linkprotuser'},
                                 linkprotexit => $info{'linkprotexit'},                                  linkprotexit => $info{'linkprotexit'},
                                 linkprotpbid => $info{'linkprotpbid'},  
                                 linkprotpburl => $info{'linkprotpburl'},  
                             );                              );
                         } elsif ($info{'ltoken'} ne '') {                          } elsif ($info{'ltoken'} ne '') {
                             my %ltoken_info = &Apache::lonnet::tmpget($info{'ltoken'});                              my %ltoken_info = &Apache::lonnet::tmpget($info{'ltoken'});
Line 854  sub handler { Line 834  sub handler {
                                     linkprot => $ltoken_info{'linkprot'},                                      linkprot => $ltoken_info{'linkprot'},
                                     linkprotuser => $ltoken_info{'linkprotuser'},                                      linkprotuser => $ltoken_info{'linkprotuser'},
                                     linkprotexit => $ltoken_info{'linkprotexit'},                                      linkprotexit => $ltoken_info{'linkprotexit'},
                                     linkprotpbid => $ltoken_info{'linkprotpbid'},  
                                     linkprotpburl => $ltoken_info{'linkprotpburl'},  
                                 );                                  );
                             }                              }
                         }                          }
Line 1179  sub handler { Line 1157  sub handler {
                                 my $mapsymb = &Apache::lonnet::symbread($map);                                  my $mapsymb = &Apache::lonnet::symbread($map);
                                 ($map,$mid,$murl)=&Apache::lonnet::decode_symb($mapsymb);                                  ($map,$mid,$murl)=&Apache::lonnet::decode_symb($mapsymb);
                             }                              }
                             &Apache::lonnet::symblist($map,$murl =>[$murl,$mid],      &Apache::lonnet::symblist($map,$murl =>[$murl,$mid],
                                                       'last_known' =>[$murl,$mid]);        'last_known' =>[$murl,$mid]);
                         }                          }
     }      }
  }   }
Line 1233  sub handler { Line 1211  sub handler {
 # ------------------------------------ See if this is a viewable portfolio file  # ------------------------------------ See if this is a viewable portfolio file
     if (&Apache::lonnet::is_portfolio_url($requrl)) {      if (&Apache::lonnet::is_portfolio_url($requrl)) {
         my $clientip = &Apache::lonnet::get_requestor_ip($r);          my $clientip = &Apache::lonnet::get_requestor_ip($r);
  my $access=&Apache::lonnet::allowed('bre',$requrl,undef,undef,$clientip);          my $access=&Apache::lonnet::allowed('bre',$requrl,undef,undef,$clientip);
  if ($access eq 'A') {   if ($access eq 'A') {
     &Apache::restrictedaccess::setup_handler($r);      &Apache::restrictedaccess::setup_handler($r);
     return OK;      return OK;

Removed from v.1.159.2.21.2.5  
changed lines
  Added in v.1.207


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