===================================================================
RCS file: /cvs/cvsweb/cvsweb.cgi,v
retrieving revision 3.25
retrieving revision 3.28
diff -u -p -r3.25 -r3.28
--- cvsweb/cvsweb.cgi 2000/09/21 15:30:04 3.25
+++ cvsweb/cvsweb.cgi 2000/09/30 18:27:16 3.28
@@ -43,7 +43,7 @@
# SUCH DAMAGE.
#
# $zId: cvsweb.cgi,v 1.103 2000/09/20 17:02:29 jumager Exp $
-# $Id: cvsweb.cgi,v 3.25 2000/09/21 15:30:04 knu Exp $
+# $Id: cvsweb.cgi,v 3.28 2000/09/30 18:27:16 knu Exp $
#
###
@@ -64,8 +64,9 @@ use vars qw (
$bylog $byfile $hr_default $logsort $cvstree $cvsroot
$mimetype $defaultTextPlain $defaultViewable $allow_compress
$GZIPBIN $backicon $diricon $fileicon $fullname $newname
- $cvstreedefault $body_tag $logo $defaulttitle $address
- $backcolor $long_intro $short_instruction $shortLogLen
+ $cvstreedefault $body_tag $body_tag_for_src
+ $logo $defaulttitle $address
+ $long_intro $short_instruction $shortLogLen
$show_author $dirtable $tablepadding $columnHeaderColorDefault
$columnHeaderColorSorted $hr_breakable $showfunc $hr_ignwhite
$hr_ignkeysubst $diffcolorHeading $diffcolorEmpty $diffcolorRemove
@@ -124,14 +125,13 @@ sub forbidden_module($);
use Cwd;
# == EDIT this ==
-# User configuration is stored in
-$config = undef;
-
-for ($ENV{CVSWEB_CONFIG},
-# '/home/knu/etc/cvsweb.conf',
+# Locations to search for user configuration, in order:
+for (
+ $ENV{CVSWEB_CONFIG},
'/usr/local/etc/cvsweb.conf',
- getcwd . '/cvsweb.conf') {
- $config = $_ if defined($_) && -r $_;
+ getcwd() . '/cvsweb.conf'
+ ) {
+ $config = $_ if defined($_) && -r $_;
}
# == Configuration defaults ==
@@ -145,8 +145,9 @@ $allow_version_select = 1;
# These are defined to allow checking with perl -cw
%CVSROOT = %MIRRORS = %DEFAULTVALUE = %ICONS = %MTYPES =
%tags = %alltags = @tabcolors = ();
-$cvstreedefault = $body_tag = $logo = $defaulttitle = $address =
-$backcolor = $long_intro = $short_instruction = $shortLogLen =
+$cvstreedefault = $body_tag = $body_tag_for_src =
+$logo = $defaulttitle = $address =
+$long_intro = $short_instruction = $shortLogLen =
$show_author = $dirtable = $tablepadding = $columnHeaderColorDefault =
$columnHeaderColorSorted = $hr_breakable = $showfunc = $hr_ignwhite =
$hr_ignkeysubst = $diffcolorHeading = $diffcolorEmpty = $diffcolorRemove =
@@ -222,9 +223,11 @@ $maycompress = (((defined($ENV{HTTP_ACCEPT_ENCODING})
@stickyvars = qw(cvsroot hideattic sortby logsort f only_with_tag);
if (-f $config) {
- do $config;
-}
-else {
+ do $config
+ || &fatal("500 Internal Error",
+ sprintf('Error in loading configuration file: %s
%s
',
+ $config, &htmlify($@)));
+} else {
&fatal("500 Internal Error",
'Configuration not found. Set the variable $config
'
. 'in cvsweb.cgi, or the environment variable '
@@ -353,8 +356,15 @@ foreach my $k (keys %ICONS) {
}
}
+my $config_cvstree = "$config-$cvstree";
+
# Do some special configuration for cvstrees
-do "$config-$cvstree" if (-f "$config-$cvstree");
+if (-f $config_cvstree) {
+ do $config_cvstree
+ || &fatal("500 Internal Error",
+ sprintf('Error in loading configuration file: %s
%s
',
+ $config_cvstree, &htmlify($@)));
+}
$prcategories = '(?:' . join('|', @prcategories) . ')';
$prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/;
@@ -2468,9 +2478,9 @@ sub navigateHeader($$$$$) {
$swhere = urlencode($filename) if ($swhere eq "");
print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
print "\n