=================================================================== RCS file: /cvs/cvsweb/cvsweb.cgi,v retrieving revision 1.1.1.8 retrieving revision 3.24 diff -u -p -r1.1.1.8 -r3.24 --- cvsweb/cvsweb.cgi 2000/09/30 18:55:43 1.1.1.8 +++ cvsweb/cvsweb.cgi 2000/09/19 20:07:16 3.24 @@ -42,8 +42,8 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $zId: cvsweb.cgi,v 1.103 2000/09/20 17:02:29 jumager Exp $ -# $kId: cvsweb.cgi,v 1.29 2000/09/30 18:48:16 knu Exp $ +# $zId: cvsweb.cgi,v 1.101 2000/09/13 22:44:05 jumager Exp $ +# $Id: cvsweb.cgi,v 3.24 2000/09/19 20:07:16 knu Exp $ # ### @@ -64,9 +64,8 @@ use vars qw ( $bylog $byfile $hr_default $logsort $cvstree $cvsroot $mimetype $defaultTextPlain $defaultViewable $allow_compress $GZIPBIN $backicon $diricon $fileicon $fullname $newname - $cvstreedefault $body_tag $body_tag_for_src - $logo $defaulttitle $address - $long_intro $short_instruction $shortLogLen + $cvstreedefault $body_tag $logo $defaulttitle $address + $backcolor $long_intro $short_instruction $shortLogLen $show_author $dirtable $tablepadding $columnHeaderColorDefault $columnHeaderColorSorted $hr_breakable $showfunc $hr_ignwhite $hr_ignkeysubst $diffcolorHeading $diffcolorEmpty $diffcolorRemove @@ -125,13 +124,14 @@ sub forbidden_module($); use Cwd; # == EDIT this == -# Locations to search for user configuration, in order: -for ( - $ENV{CVSWEB_CONFIG}, +# User configuration is stored in +$config = undef; + +for ($ENV{CVSWEB_CONFIG}, +# '/home/knu/etc/cvsweb.conf', '/usr/local/etc/cvsweb.conf', - getcwd() . '/cvsweb.conf' - ) { - $config = $_ if defined($_) && -r $_; + getcwd . '/cvsweb.conf') { + $config = $_ if defined($_) && -r $_; } # == Configuration defaults == @@ -145,9 +145,8 @@ $allow_version_select = 1; # These are defined to allow checking with perl -cw %CVSROOT = %MIRRORS = %DEFAULTVALUE = %ICONS = %MTYPES = %tags = %alltags = @tabcolors = (); -$cvstreedefault = $body_tag = $body_tag_for_src = -$logo = $defaulttitle = $address = -$long_intro = $short_instruction = $shortLogLen = +$cvstreedefault = $body_tag = $logo = $defaulttitle = $address = +$backcolor = $long_intro = $short_instruction = $shortLogLen = $show_author = $dirtable = $tablepadding = $columnHeaderColorDefault = $columnHeaderColorSorted = $hr_breakable = $showfunc = $hr_ignwhite = $hr_ignkeysubst = $diffcolorHeading = $diffcolorEmpty = $diffcolorRemove = @@ -157,7 +156,7 @@ $allow_markup = $use_java_script = $open_extern_window $extern_window_width = $extern_window_height = $edit_option_form = $checkout_magic = $show_subdir_lastmod = $show_log_in_markup = $v = $navigationHeaderColor = $tableBorderColor = $markupLogColor = -$tabstop = $use_moddate = $moddate = $gzip_open = undef; +$tabstop = $use_moddate = $moddate = undef; ##### End of configuration variables ##### @@ -210,8 +209,7 @@ $nofilelinks = $is_textbased; # display garbage then :-/ # Turn off gzip if running under mod_perl and no zlib is available, # piping does not work as expected inside the server. -$maycompress = (((defined($ENV{HTTP_ACCEPT_ENCODING}) - && $ENV{HTTP_ACCEPT_ENCODING} =~ m`gzip`) +$maycompress = (($ENV{HTTP_ACCEPT_ENCODING} =~ m`gzip` || $is_mozilla3) && !$is_msie && !($is_mod_perl && !$has_zlib)); @@ -223,11 +221,9 @@ $maycompress = (((defined($ENV{HTTP_ACCEPT_ENCODING}) @stickyvars = qw(cvsroot hideattic sortby logsort f only_with_tag); if (-f $config) { - do $config - || &fatal("500 Internal Error", - sprintf('Error in loading configuration file: %s

%s
', - $config, &htmlify($@))); -} else { + do $config; +} +else { &fatal("500 Internal Error", 'Configuration not found. Set the variable $config ' . 'in cvsweb.cgi, or the environment variable ' @@ -356,15 +352,8 @@ foreach my $k (keys %ICONS) { } } -my $config_cvstree = "$config-$cvstree"; - # Do some special configuration for cvstrees -if (-f $config_cvstree) { - do $config_cvstree - || &fatal("500 Internal Error", - sprintf('Error in loading configuration file: %s

%s
', - $config_cvstree, &htmlify($@))); -} +do "$config-$cvstree" if (-f "$config-$cvstree"); $prcategories = '(?:' . join('|', @prcategories) . ')'; $prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/; @@ -793,18 +782,18 @@ elsif (-d $fullname) { elsif (-f $fullname . ',v') { if (defined($input{'rev'}) || $doCheckout) { &doCheckout($fullname, $input{'rev'}); - gzipclose(); + close(GZIP) if ($gzip_open); exit; } if (defined($input{'annotate'}) && $allow_annotate) { &doAnnotate($input{'annotate'}); - gzipclose(); + close(GZIP) if ($gzip_open); exit; } if (defined($input{'r1'}) && defined($input{'r2'})) { &doDiff($fullname, $input{'r1'}, $input{'tr1'}, $input{'r2'}, $input{'tr2'}, $input{'f'}); - gzipclose(); + close(GZIP) if ($gzip_open); exit; } print("going to dolog($fullname)\n") if ($verbose); @@ -827,7 +816,7 @@ elsif (-d $fullname) { # e.g. foo.c &doDiff($fullname, $input{'r1'}, $input{'tr1'}, $input{'r2'}, $input{'tr2'}, $input{'f'}); - gzipclose(); + close(GZIP) if ($gzip_open); exit; } elsif (($newname = $fullname) =~ s|/([^/]+)$|/Attic/$1| && @@ -862,7 +851,7 @@ elsif (-d $fullname) { &fatal("404 Not Found","$where: no such file or directory"); } -gzipclose(); +close(GZIP) if ($gzip_open); ## End MAIN sub printDiffSelect($) { @@ -1155,7 +1144,7 @@ sub doAnnotate($$) { # the public domain. # we could abandon the use of rlog, rcsdiff and co using # the cvsserver in a similiar way one day (..after rewrite) - $pid = open2($reader, $writer, "cvs -Rl server") || fatal ("500 Internal Error", + $pid = open2($reader, $writer, "cvs server") || fatal ("500 Internal Error", "Fatal Error - unable to open cvs for annotation"); # OK, first send the request to the server. A simplified example is: @@ -1533,7 +1522,7 @@ sub doDiff($$$$$$) { if ($human_readable) { http_header(); &human_readable_diff($fh, $rev2); - gzipclose(); + close(GZIP) if ($gzip_open); exit; } else { @@ -2478,9 +2467,9 @@ sub navigateHeader($$$$$) { $swhere = urlencode($filename) if ($swhere eq ""); print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; print "\n\n"; - print ''; + print ''; print "\n$path$filename - $title - $rev\n"; - print "$body_tag_for_src\n"; + print "\n"; print ""; print "
"; print "$backicon"; @@ -2833,7 +2822,7 @@ sub http_header(;$) { sub html_header($) { my ($title) = @_; - my $version = '$zRevision: 1.103 $ $kRevision: 1.29 $'; #' + my $version = '$zRevision: 1.101 $ $Revision: 3.24 $'; #' http_header(); print <