===================================================================
RCS file: /cvs/cvsweb/cvsweb.cgi,v
retrieving revision 4.35
retrieving revision 4.38
diff -u -p -r4.35 -r4.38
--- cvsweb/cvsweb.cgi 2019/11/29 18:15:48 4.35
+++ cvsweb/cvsweb.cgi 2019/11/29 19:30:16 4.38
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# $Id: cvsweb.cgi,v 4.35 2019/11/29 18:15:48 schwarze Exp $
+# $Id: cvsweb.cgi,v 4.38 2019/11/29 19:30:16 schwarze Exp $
# $knu: cvsweb.cgi,v 1.299 2010/11/13 16:37:18 simon
#
# cvsweb - a CGI interface to CVS trees.
@@ -57,7 +57,7 @@ use vars qw (
$VERSION $CheckoutMagic $MimeTypes $DEBUG
$config $allow_version_select
@CVSrepositories @CVSROOT %CVSROOT %CVSROOTdescr %DEFAULTVALUE %MTYPES
- %DIFF_COMMANDS @DIFFTYPES %DIFFTYPES @LOGSORTKEYS %LOGSORTKEYS
+ @DIFFTYPES %DIFFTYPES @LOGSORTKEYS %LOGSORTKEYS
%alltags %fileinfo %tags @branchnames %nameprinted
%symrev %revsym @allrevisions %date %author @revdisplayorder
@revisions %state %difflines %log %branchpoint @revorder $keywordsubstitution
@@ -66,10 +66,10 @@ use vars qw (
$is_links $is_lynx $is_w3m $is_msie $is_mozilla3 $is_textbased
%input $query $barequery $sortby $bydate $byrev $byauthor
$bylog $byfile $defaultDiffType $logsort $cvstree $cvsroot
- $charset $output_filter %CMD $allow_compress $backicon $diricon $fileicon
+ %CMD $allow_compress $backicon $diricon $fileicon
$fullname $logo $defaulttitle $address $binfileicon $iconsdir
$shortLogLen $show_author $hr_breakable $hr_ignwhite $hr_ignkeysubst
- $inputTextSize $mime_types $allow_annotate $allow_markup $allow_mailtos
+ $mime_types $allow_annotate $allow_markup $allow_mailtos
$allow_log_extra $allow_dir_extra $allow_source_extra
$edit_option_form
$show_subdir_lastmod $show_log_in_markup $preformat_in_markup
@@ -86,7 +86,7 @@ use Cwd qw(abs_path);
use File::Path qw(rmtree);
use File::Spec::Functions qw(canonpath catdir catfile curdir devnull rootdir
tmpdir updir);
-use File::Temp qw(tempdir tempfile);
+use File::Temp qw(tempdir);
use IPC::Run qw();
use Time::Local qw(timegm);
use URI::Escape qw(uri_escape uri_unescape);
@@ -149,7 +149,6 @@ sub search_path($);
sub getMimeType($;$);
sub head($;$);
sub scan_directives(@);
-sub openOutputFilter();
sub doAnnotate($$);
sub doCheckout($$$);
sub cvswebMarkup($$$$$$;$);
@@ -182,7 +181,6 @@ sub link_tags($);
sub forbidden($);
sub startproc(@);
sub runproc(@);
-sub checkout_to_temp($$$);
# Get rid of unsafe environment vars. Don't do this in the BEGIN block
# (think mod_perl)...
@@ -198,12 +196,12 @@ $config = '/conf/cvsweb/cvsweb.conf';
######## Configuration parameters #########
@CVSrepositories = @CVSROOT = %CVSROOT = %DEFAULTVALUE =
- %MTYPES = %tags = %alltags = %fileinfo = %DIFF_COMMANDS = ();
+ %MTYPES = %tags = %alltags = %fileinfo = ();
$logo = $defaulttitle =
$address = $shortLogLen = $show_author =
$hr_breakable = $hr_ignwhite =
- $hr_ignkeysubst = $inputTextSize = $mime_types = $allow_annotate =
+ $hr_ignkeysubst = $mime_types = $allow_annotate =
$allow_markup = $allow_compress = $edit_option_form =
$show_subdir_lastmod = $show_log_in_markup = $preformat_in_markup =
$tabstop = $use_moddate = $gzip_open = $DEBUG =
@@ -1631,18 +1629,6 @@ sub scan_directives(@)
}
-sub openOutputFilter()
-{
- return unless $output_filter;
-
- open(STDOUT, "|-") and return;
-
- # child of child
- open(STDERR, '>', devnull()) unless $DEBUG;
- exec($output_filter) or exit -1;
-}
-
-
###############################
# show Annotation
###############################
@@ -2062,60 +2048,6 @@ sub doDiff($$$$$$)
my $mimetype = getMimeType($fullname);
- #
- # Check for per-MIME type diff commands.
- #
- my $diffcmd = undef;
- if (my $diffcmds = $DIFF_COMMANDS{lc($mimetype)}) {
- if ($f =~ /^ext(\d*)$/) {
- my $n = $1 || 0;
- $diffcmd = $diffcmds->[$n];
- }
- }
- if ($diffcmd && $diffcmd->{cmd} && $diffcmd->{name}) {
-
- if ($diffcmd->{args} && ref($diffcmd->{args}) ne 'ARRAY') {
- fatal('500 Internal Error',
- 'Configuration error: arguments to external diff tools must ' .
- 'be given as array refs. See "%s
" in ' .
- '%%DIFF_COMMANDS
.',
- $diffcmd->{name});
- }
-
- (my $cvsname = $where) =~ s/\.diff$//;
-
- # Create two temporary files with the two revisions
- my $temp_fn1 = checkout_to_temp($cvsroot, $cvsname, $rev1);
- my $temp_fn2 = checkout_to_temp($cvsroot, $cvsname, $rev2);
-
- # Execute chosen diff binary.
- local (*DIFF_OUT);
- my @cmd = ($diffcmd->{cmd});
- push(@cmd, @{$diffcmd->{args}}) if $diffcmd->{args};
- push(@cmd, $temp_fn1, $temp_fn2);
- my ($h, $err) = startproc(\@cmd, \"", '>pipe', \*DIFF_OUT);
- if (!$h) {
- unlink($temp_fn1);
- unlink($temp_fn2);
- fatal('500 Internal Error',
- 'Diff failure (exit status %s), output:
%s', - $? >> 8 || -1, $err); - } - - http_header($diffcmd->{type} || 'text/plain'); - local $/ = undef; - print
%s', - $? >> 8 || -1, $err); - } - - return $temp_fn; } #