Diff for /loncom/lonenc.pm between versions 1.1 and 1.2

version 1.1, 2004/03/31 04:38:06 version 1.2, 2004/03/31 05:29:23
Line 55  sub handler { Line 55  sub handler {
     return FORBIDDEN;      return FORBIDDEN;
 }  }
   
   sub encryptseed {
       my $seed=$ENV{'course.'.$ENV{'request.course.id'}.'.internal.encseed'};
       $seed=~s/[^0-9a-f]/0/g;
       $seed.='0123456789abcdef';
       $seed=substr($seed.$seed,0,32);
       return pack("H32",$seed);
   }
   
 sub unencrypted {  sub unencrypted {
     my $uri=shift;      my $uri=shift;
     $uri=~s/^\/enc\/(\d+)\///;      $uri=~s/^\/enc\/(\d+)\///;
     &Apache::lonnet::logthis($uri);  
     my $cmdlength=$1;      my $cmdlength=$1;
     unless ($ENV{'course.'.$ENV{'request.course.id'}.'.internal.encseed'}) {      my $seed=&encryptseed();
       unless ($seed) {
  return '/'.$uri;   return '/'.$uri;
     }      }
     $uri=&Apache::lonnet::unescape($uri);      $uri=&Apache::lonnet::unescape($uri);
     my $cipher=      my $cipher=new IDEA $seed;
  new IDEA $ENV{'course.'.$ENV{'request.course.id'}.'.internal.encseed'};  
     &Apache::lonnet::logthis($ENV{'course.'.$ENV{'request.course.id'}.'.internal.encseed'});  
     my $decuri='';      my $decuri='';
     for (my $encidx=0;$encidx<length($uri);$encidx+=16) {      for (my $encidx=0;$encidx<length($uri);$encidx+=16) {
  $decuri.=$cipher->decrypt(   $decuri.=$cipher->decrypt(
Line 78  sub unencrypted { Line 84  sub unencrypted {
   
 sub encrypted {  sub encrypted {
     my $uri=shift;      my $uri=shift;
       my $seed=&encryptseed();
       unless ($seed) {
    return $uri;
       }
     my $cmdlength=length($uri);      my $cmdlength=length($uri);
       $uri.='00000000';
     my $encuri='';      my $encuri='';
     my $cipher=      my $cipher=new IDEA $seed;
  new IDEA $ENV{'course.'.$ENV{'request.course.id'}.'.internal.encseed'};  
     for (my $encidx=0;$encidx<=$cmdlength;$encidx+=8) {      for (my $encidx=0;$encidx<=$cmdlength;$encidx+=8) {
  $encuri.=unpack("H16",   $encuri.=unpack("H16",
  $cipher->encrypt(substr($uri,$encidx,8)));   $cipher->encrypt(substr($uri,$encidx,8)));

Removed from v.1.1  
changed lines
  Added in v.1.2


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