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; |
} |
} |