Diff for /loncom/auth/lonacc.pm between versions 1.48 and 1.58

version 1.48, 2003/09/20 17:44:22 version 1.58, 2004/12/28 20:28:55
Line 70  sub handler { Line 70  sub handler {
   
 # -------------------------------------------------------------- Resource State  # -------------------------------------------------------------- Resource State
   
             if ($requrl=~/^\/res\//) {              if ($requrl=~/^\/+(res|uploaded)\//) {
                $ENV{'request.state'} = "published";                 $ENV{'request.state'} = "published";
     } else {      } else {
        $ENV{'request.state'} = 'unknown';         $ENV{'request.state'} = 'unknown';
             }              }
             $ENV{'request.filename'} = $r->filename;              $ENV{'request.filename'} = $r->filename;
               $ENV{'request.noversionuri'} = &Apache::lonnet::deversion($requrl);
 # -------------------------------------------------------- Load POST parameters  # -------------------------------------------------------- Load POST parameters
   
     &Apache::loncommon::get_posted_cgi($r);      &Apache::loncommon::get_posted_cgi($r);
Line 109  sub handler { Line 109  sub handler {
             if ((&Apache::loncommon::fileembstyle($1) eq 'ssi') ||              if ((&Apache::loncommon::fileembstyle($1) eq 'ssi') ||
  ($requrl=~/^\/adm\/.*\/(aboutme|navmaps|smppg|bulletinboard)(\?|$)/) ||   ($requrl=~/^\/adm\/.*\/(aboutme|navmaps|smppg|bulletinboard)(\?|$)/) ||
  ($requrl=~/^\/adm\/wrapper\//) ||   ($requrl=~/^\/adm\/wrapper\//) ||
    ($requrl=~m|\.problem/smpedit$|) ||
  ($requrl=~/^\/public\/.*\/syllabus$/)) {   ($requrl=~/^\/public\/.*\/syllabus$/)) {
 # ------------------------------------- This is serious stuff, get symb and log  # ------------------------------------- This is serious stuff, get symb and log
  my $query=$r->args;   my $query=$r->args;
Line 118  sub handler { Line 119  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 (&Apache::lonnet::symbverify($symb,$requrl)) {                      if ($requrl =~ m|^/adm/wrapper/|) {
                       my ($map,$mid,$murl)=split(/\_\_\_/,$symb);                          my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb);
                           &Apache::lonnet::symblist($map,$murl => $mid,
                                                  'last_known' => $murl);
                       } elsif ((&Apache::lonnet::symbverify($symb,$requrl)) ||
        (($requrl=~m|(.*)/smpedit$|) &&
         &Apache::lonnet::symbverify($symb,$1))) {
                         my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb);
                       &Apache::lonnet::symblist($map,$murl => $mid,                        &Apache::lonnet::symblist($map,$murl => $mid,
                                                'last_known' => $murl);                                                 'last_known' => $murl);
     } else {      } else {
Line 131  sub handler { Line 138  sub handler {
                     }                      }
                 } else {                  } else {
             $symb=&Apache::lonnet::symbread($requrl);              $symb=&Apache::lonnet::symbread($requrl);
       if (&Apache::lonnet::is_on_map($requrl) && $symb &&
    !&Apache::lonnet::symbverify($symb,$requrl)) {
    $r->log_reason('Invalid symb for '.$requrl.': '.$symb);
           $ENV{'user.error.msg'}=
                                   "$requrl:bre:1:1:Invalid Access";
                    return HTTP_NOT_ACCEPTABLE; 
       }
                     my ($map,$mid,$murl)=split(/\_\_\_/,$symb);                      my ($map,$mid,$murl)=split(/\_\_\_/,$symb);
     &Apache::lonnet::symblist($map,$murl => $mid,      &Apache::lonnet::symblist($map,$murl => $mid,
                                               'last_known' => $murl);                                                'last_known' => $murl);

Removed from v.1.48  
changed lines
  Added in v.1.58


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