Diff for /loncom/lonnet/perl/londns.pm between versions 1.2 and 1.5

version 1.2, 2013/02/02 00:22:47 version 1.5, 2018/07/18 13:45:03
Line 35  use Apache::Constants qw(:common :http); Line 35  use Apache::Constants qw(:common :http);
 use Apache::lonnet;  use Apache::lonnet;
   
 sub serve_file {  sub serve_file {
     my ($r,$file,$type)=@_;      my ($r,$dir,$file,$type)=@_;
     open(my $config,"<$Apache::lonnet::perlvar{'lonTabDir'}/$file");      if (($dir eq '') || ($file eq '')) {
     my $file = join('',<$config>);          return FORBIDDEN;
     $r->content_type($type);      }
     $r->send_http_header;      if (open(my $config,"<","$dir/$file")) {
     return OK if $r->header_only;          my $contents = join('',<$config>);
     $r->print($file);          $r->content_type($type);
     return OK;          $r->send_http_header;
           return OK if $r->header_only;
           $r->print($contents);
           return OK;
       } else {
           return FORBIDDEN;
       }
 }  }
   
 sub handler {  sub handler {
     my ($r) = @_;      my ($r) = @_;
   
     my $command = (split('/',$r->uri))[3];      my $command = (split('/',$r->uri))[3];
       my $dir = $Apache::lonnet::perlvar{'lonTabDir'};
     if ($command eq 'hosts') {      if ($command eq 'hosts') {
  return &serve_file($r,'dns_hosts.tab','loncapa/hosts');   return &serve_file($r,$dir,'dns_hosts.tab','loncapa/hosts');
     } elsif ($command eq 'domain') {      } elsif ($command eq 'domain') {
  return &serve_file($r,'dns_domain.tab','loncapa/domain');   return &serve_file($r,$dir,'dns_domain.tab','loncapa/domain');
     } elsif ($command eq 'checksums') {      } elsif ($command eq 'checksums') {
         return &serve_file($r,'dns_checksums.tab','loncapa/versions');          my $version = (split('/',$r->uri))[4];
           return &serve_file($r,$dir,"dns_checksums/$version.tab",'loncapa/versions');
       } elsif ($command eq 'loncapaCRL') {
           $dir = $Apache::lonnet::perlvar{'lonCertificateDirectory'};
           return &serve_file($r,$dir,$Apache::lonnet::perlvar{'lonnetCertRevocationList'},
                              'application/x-pem-file');
     }      }
     return FORBIDDEN;      return FORBIDDEN;
 }  }

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


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