Diff for /loncom/interface/loncommon.pm between versions 1.675 and 1.679.2.1

version 1.675, 2008/08/28 03:04:41 version 1.679.2.1, 2008/09/19 22:50:01
Line 3747  sub blocking_status { Line 3747  sub blocking_status {
   
 ###############################################  ###############################################
   
   sub check_ip_acc {
       my ($acc)=@_;
       &Apache::lonxml::debug("acc is $acc");
       if (!defined($acc) || $acc =~ /^\s*$/ || $acc =~/^\s*no\s*$/i) {
           return 1;
       }
       my $allowed=0;
       my $ip=$env{'request.host'} || $ENV{'REMOTE_ADDR'};
   
       my $name;
       foreach my $pattern (split(',',$acc)) {
           $pattern =~ s/^\s*//;
           $pattern =~ s/\s*$//;
           if ($pattern =~ /\*$/) {
               #35.8.*
               $pattern=~s/\*//;
               if ($ip =~ /^\Q$pattern\E/) { $allowed=1; }
           } elsif ($pattern =~ /(\d+\.\d+\.\d+)\.\[(\d+)-(\d+)\]$/) {
               #35.8.3.[34-56]
               my $low=$2;
               my $high=$3;
               $pattern=$1;
               if ($ip =~ /^\Q$pattern\E/) {
                   my $last=(split(/\./,$ip))[3];
                   if ($last <=$high && $last >=$low) { $allowed=1; }
               }
           } elsif ($pattern =~ /^\*/) {
               #*.msu.edu
               $pattern=~s/\*//;
               if (!defined($name)) {
                   use Socket;
                   my $netaddr=inet_aton($ip);
                   ($name)=gethostbyaddr($netaddr,AF_INET);
               }
               if ($name =~ /\Q$pattern\E$/i) { $allowed=1; }
           } elsif ($pattern =~ /\d+\.\d+\.\d+\.\d+/) {
               #127.0.0.1
               if ($ip =~ /^\Q$pattern\E/) { $allowed=1; }
           } else {
               #some.name.com
               if (!defined($name)) {
                   use Socket;
                   my $netaddr=inet_aton($ip);
                   ($name)=gethostbyaddr($netaddr,AF_INET);
               }
               if ($name =~ /\Q$pattern\E$/i) { $allowed=1; }
           }
           if ($allowed) { last; }
       }
       return $allowed;
   }
   
   ###############################################
   
 =pod  =pod
   
 =head1 Domain Template Functions  =head1 Domain Template Functions
Line 5360  hr.LC_edit_problem_divide { Line 5414  hr.LC_edit_problem_divide {
   height: 3px;    height: 3px;
   border: 0px;    border: 0px;
 }  }
   img.stift{
     border-width:0;
     vertical-align:middle;
   }
 END  END
 }  }
   
Line 9380  sub init_user_environment { Line 9438  sub init_user_environment {
   
 sub _add_to_env {  sub _add_to_env {
     my ($idf,$env_data,$prefix) = @_;      my ($idf,$env_data,$prefix) = @_;
     while (my ($key,$value) = each(%$env_data)) {      if (ref($env_data) eq 'HASH') {
  $idf->{$prefix.$key} = $value;          while (my ($key,$value) = each(%$env_data)) {
  $env{$prefix.$key}   = $value;      $idf->{$prefix.$key} = $value;
       $env{$prefix.$key}   = $value;
           }
     }      }
 }  }
   

Removed from v.1.675  
changed lines
  Added in v.1.679.2.1


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