dougm 01/12/19 15:20:55
Modified: perl-framework/Apache-Test/lib/Apache TestConfigParse.pm
Log:
do not inherit LoadModule directive if the dso does not exist
Revision Changes Path
1.18 +12 -4
httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfigParse.pm
Index: TestConfigParse.pm
===================================================================
RCS file:
/home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfigParse.pm,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- TestConfigParse.pm 2001/12/18 10:54:16 1.17
+++ TestConfigParse.pm 2001/12/19 23:20:55 1.18
@@ -41,12 +41,15 @@
}
#resolve relative files like Apache->server_root_relative
-sub server_file {
+sub server_file_rel2abs {
my($self, $file, $base) = @_;
$base ||= $self->{inherit_config}->{ServerRoot};
- my $f = rel2abs $file, $base;
+ rel2abs $file, $base;
+}
+sub server_file {
+ my $f = shift->server_file_rel2abs(@_);
return qq("$f");
}
@@ -78,7 +81,12 @@
for my $args (@{ $c->{$directive} }) {
my $modname = $args->[0];
- my $file = $self->server_file($args->[1]);
+ my $file = $self->server_file_rel2abs($args->[1]);
+
+ unless (-e $file) {
+ $self->trace("$file does not exist, skipping LoadModule");
+ next;
+ }
my $name = basename $args->[1];
$name =~ s/\.s[ol]$/.c/; #mod_info.so => mod_info.c
@@ -87,7 +95,7 @@
$name = $modname_alias{$name} if $modname_alias{$name};
$self->{modules}->{$name} = 1;
- $self->preamble($directive => "$modname $file");
+ $self->preamble($directive => qq($modname "$file"));
}
}