Diff for /loncom/auth/lonacc.pm between versions 1.159.2.8.2.1 and 1.159.2.8.2.3

version 1.159.2.8.2.1, 2020/01/22 18:10:12 version 1.159.2.8.2.3, 2020/09/02 02:21:37
Line 599  sub handler { Line 599  sub handler {
             }              }
         }          }
         if ($requrl=~m{^/+tiny/+$match_domain/+\w+$}) {          if ($requrl=~m{^/+tiny/+$match_domain/+\w+$}) {
             return OK;              if ($env{'user.name'} eq 'public' &&
                   $env{'user.domain'} eq 'public') {
                   $env{'request.firsturl'}=$requrl;
                   return FORBIDDEN;
               } else {
                   return OK;
               }
         }          }
   
 # ---------------------------------------------------------------- Check access  # ---------------------------------------------------------------- Check access
  my $now = time;   my $now = time;
  if ($requrl !~ m{^/(?:adm|public|prtspool)/}   if ($requrl !~ m{^/(?:adm|public|(?:prt|zip)spool)/}
     || $requrl =~ /^\/adm\/.*\/(smppg|bulletinboard)(\?|$ )/x) {      || $requrl =~ /^\/adm\/.*\/(smppg|bulletinboard)(\?|$ )/x) {
     my $access=&Apache::lonnet::allowed('bre',$requrl);      my $access=&Apache::lonnet::allowed('bre',$requrl);
             if ($handle eq '') {              if ($handle eq '') {
Line 699  sub handler { Line 705  sub handler {
  }   }
  if ($env{'form.symb'}) {   if ($env{'form.symb'}) {
     $symb=&Apache::lonnet::symbclean($env{'form.symb'});      $symb=&Apache::lonnet::symbclean($env{'form.symb'});
     if ($requrl =~ m|^/adm/wrapper/|                      if ($requrl eq '/adm/navmaps') {
                           my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb);
                           &Apache::lonnet::symblist($map,$murl => [$murl,$mid]);
                       } elsif ($requrl =~ m|^/adm/wrapper/|
  || $requrl =~ m|^/adm/coursedocs/showdoc/|) {   || $requrl =~ m|^/adm/coursedocs/showdoc/|) {
  my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb);   my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb);
                           if ($map =~ /\.page$/) {
                               my $mapsymb = &Apache::lonnet::symbread($map);
                               ($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]);
     } elsif ((&Apache::lonnet::symbverify($symb,$requrl)) ||      } elsif ((&Apache::lonnet::symbverify($symb,$requrl)) ||
Line 710  sub handler { Line 723  sub handler {
                              (($requrl=~m|(.*/aboutme)/portfolio$|) &&                               (($requrl=~m|(.*/aboutme)/portfolio$|) &&
                               &Apache::lonnet::symbverify($symb,$1))) {                                &Apache::lonnet::symbverify($symb,$1))) {
  my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb);   my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb);
                           if (($map =~ /\.page$/) && ($requrl !~ /\.page$/)) {
                               my $mapsymb = &Apache::lonnet::symbread($map);
                               ($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]);
     } else {      } else {
Line 735  sub handler { Line 752  sub handler {
         if ($symb) {          if ($symb) {
     my ($map,$mid,$murl)=      my ($map,$mid,$murl)=
         &Apache::lonnet::decode_symb($symb);          &Apache::lonnet::decode_symb($symb);
     &Apache::lonnet::symblist($map,$murl =>[$murl,$mid],                              if ($requrl eq '/adm/navmaps') {
       'last_known' =>[$murl,$mid]);                                  &Apache::lonnet::symblist($map,$murl =>[$murl,$mid]);
                               } else {
                                   if (($map =~ /\.page$/) && ($requrl !~ /\.page$/)) {
                                       my $mapsymb = &Apache::lonnet::symbread($map);
                                       ($map,$mid,$murl)=&Apache::lonnet::decode_symb($mapsymb);
                                   }
                                   &Apache::lonnet::symblist($map,$murl =>[$murl,$mid],
                                                             'last_known' =>[$murl,$mid]);
                               }
         }          }
     }      }
  }   }

Removed from v.1.159.2.8.2.1  
changed lines
  Added in v.1.159.2.8.2.3


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