=================================================================== RCS file: /cvs/cvsweb/cvsweb.cgi,v retrieving revision 4.21 retrieving revision 4.24 diff -u -p -r4.21 -r4.24 --- cvsweb/cvsweb.cgi 2019/11/12 09:28:15 4.21 +++ cvsweb/cvsweb.cgi 2019/11/26 11:28:43 4.24 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: cvsweb.cgi,v 4.21 2019/11/12 09:28:15 schwarze Exp $ +# $Id: cvsweb.cgi,v 4.24 2019/11/26 11:28:43 schwarze Exp $ # $knu: cvsweb.cgi,v 1.299 2010/11/13 16:37:18 simon # # cvsweb - a CGI interface to CVS trees. @@ -77,11 +77,11 @@ use vars qw ( $edit_option_form $show_subdir_lastmod $show_log_in_markup $preformat_in_markup $tabstop $state $annTable $sel @ForbiddenFiles - $use_descriptions %descriptions @mytz $dwhere + $use_descriptions %descriptions $dwhere $use_moddate $gzip_open $file_list_len $allow_tar @tar_options @gzip_options @zip_options @cvs_options @annotate_options @rcsdiff_options - $HTML_DOCTYPE $HTML_META $cssurl $CSS $cvshistory_url + $HTML_DOCTYPE $HTML_META $cssurl $CSS ); require Compress::Zlib; @@ -144,7 +144,6 @@ sub spacedHtmlText($;$); sub link($$); sub revcmp($$); sub fatal($$@); -sub config_error($$); sub redirect($;$); sub safeglob($); sub search_path($); @@ -174,7 +173,6 @@ sub download_url($$;$); sub download_link($$$;$); sub display_url($$;$); sub display_link($$;$$); -sub history_link($$;$); sub toggleQuery($;$); sub htmlquote($); sub htmlunquote($); @@ -207,7 +205,7 @@ $cvstreedefault = $logo = $defaulttitle = $allow_markup = $allow_compress = $edit_option_form = $show_subdir_lastmod = $show_log_in_markup = $preformat_in_markup = $tabstop = $use_moddate = $gzip_open = $DEBUG = - $cvshistory_url = $allow_tar = undef; + $allow_tar = undef; $allow_version_select = $allow_mailtos = $allow_log_extra = 1; @@ -316,14 +314,18 @@ $maycompress = ( qw(cvsroot hideattic ignorecase sortby logsort f only_with_tag ln hidecvsroot hidenonreadable); -# # Load configuration. -# -if (-f $config) { - do "$config" or config_error($config, $@); -} else { - fatal("500 Internal Error", - 'Configuration not found. Set the parameter $config in cvsweb.cgi to your cvsweb.conf configuration file first.'); +{ + $config =~ m|^/| or fatal '500 Internal Error', + 'Configuration file name "%s" is not an absolute path.', + $config; + defined do $config and last; + $@ and fatal '500 Internal Error', + 'Error loading configuration file "%s":
%s
', + $config, $@; + fatal '500 Internal Error', + 'Cannot read configuration file "%s": %s', + $config, $! || 'unknown error'; } # Try to find a readable dir where we can cd into. Some abs_path() @@ -813,10 +815,6 @@ if (-d $fullname) { } else { print '

Current directory: ', clickablePath($where, 0), ''; - if ($cvshistory_url) { - (my $d = $where) =~ s|^/*(.*?)/*$|$1|; - print ' - ', history_link($d, ''); - } print "

\n"; print "

Current tag: ", htmlquote($input{only_with_tag}), "

\n" if $input{only_with_tag}; @@ -1546,17 +1544,6 @@ sub fatal($$@) # -# Signal a (fatal) configuration error. -# -sub config_error($$) -{ - fatal('500 Internal Error', - 'Error loading configuration file "%s":

' . - '%s
', @_); -} - - -# # Sends a redirect to the given URL. # sub redirect($;$) @@ -2788,12 +2775,7 @@ sub printLog($$$;$$) print "
\n"; print ''; - if (@mytz) { - my ($est) = $mytz[(localtime($date{$_}))[8]]; - print scalar localtime($date{$_}), " $est ("; - } else { - print scalar gmtime($date{$_}), " UTC ("; - } + print scalar gmtime($date{$_}), ' UTC ('; print readableTime(time() - $date{$_}, 1), ' ago)'; print ' by ', htmlquote($author{$_}), "
\n"; @@ -2940,10 +2922,6 @@ sub doLog($) &clickablePath($upwhere, 1), "\n

\n"; print "

\n "; print &link('Request diff between arbitrary revisions', '#diff'); - if ($cvshistory_url) { - (my $d = $upwhere) =~ s|/+$||; - print ' - ', history_link($d, $filename); - } print "\n

\n
\n"; print "

\n"; @@ -3674,21 +3652,6 @@ sub display_link($$;$$) return sprintf('%s', display_url($url, $revision, $mtype) . $barequery, htmlquote($textlink)); -} - -# -# Returns a link to CVSHistory for the given directory and filename. -# -sub history_link($$;$) -{ - my ($dir, $file, $text) = @_; - $dir ||= ''; - $file ||= ''; - $text ||= 'History'; - return &link($text, - sprintf('%s?cvsroot=%s;dsearch=%s;fsearch=%s;limit=1', - $cvshistory_url, uri_escape($input{cvsroot} || ''), - uri_escape($dir), uri_escape($file))); } # Returns a Query string with the