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

version 1.4, 2017/11/30 14:33:35 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)=@_;
     if (open(my $config,"<","$Apache::lonnet::perlvar{'lonTabDir'}/$file")) {      if (($dir eq '') || ($file eq '')) {
           return FORBIDDEN;
       }
       if (open(my $config,"<","$dir/$file")) {
         my $contents = join('',<$config>);          my $contents = join('',<$config>);
         $r->content_type($type);          $r->content_type($type);
         $r->send_http_header;          $r->send_http_header;
Line 52  sub handler { Line 55  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') {
         my $version = (split('/',$r->uri))[4];          my $version = (split('/',$r->uri))[4];
         return &serve_file($r,"dns_checksums/$version.tab",'loncapa/versions');          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.4  
changed lines
  Added in v.1.5


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