===================================================================
RCS file: /cvs/cvsweb/cvsweb.cgi,v
retrieving revision 1.1.1.16
retrieving revision 3.36
diff -u -p -r1.1.1.16 -r3.36
--- cvsweb/cvsweb.cgi 2000/12/28 18:37:25 1.1.1.16
+++ cvsweb/cvsweb.cgi 2000/10/20 12:28:45 3.36
@@ -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.104 2000/11/01 22:05:12 hnordstrom Exp $
-# $kId: cvsweb.cgi,v 1.47 2000/12/28 18:07:20 knu Exp $
+# $zId: cvsweb.cgi,v 1.103 2000/09/20 17:02:29 jumager Exp $
+# $Id: cvsweb.cgi,v 3.36 2000/10/20 12:28:45 knu Exp $
#
###
@@ -52,7 +52,6 @@ use strict;
use vars qw (
$config $allow_version_select $verbose
%CVSROOT %CVSROOTdescr %MIRRORS %DEFAULTVALUE %ICONS %MTYPES
- @DIFFTYPES %DIFFTYPES @LOGSORTKEYS %LOGSORTKEYS
%alltags @tabcolors %fileinfo %tags @branchnames %nameprinted
%symrev %revsym @allrevisions %date %author @revdisplayorder
@revisions %state %difflines %log %branchpoint @revorder
@@ -62,11 +61,11 @@ use vars qw (
%funcline_regexp $is_mod_perl
$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
- $mimetype $charset $defaultTextPlain $defaultViewable
- $allow_compress $GZIPBIN $backicon $diricon $fileicon
- $fullname $newname $cvstreedefault
- $body_tag $body_tag_for_src $logo $defaulttitle $address
+ $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
$show_author $dirtable $tablepadding $columnHeaderColorDefault
$columnHeaderColorSorted $hr_breakable $showfunc $hr_ignwhite
@@ -79,13 +78,11 @@ use vars qw (
$navigationHeaderColor $tableBorderColor $markupLogColor
$tabstop $state $annTable $sel $curbranch @HideModules
$module $use_descriptions %descriptions @mytz $dwhere $moddate
- $use_moddate $has_zlib $gzip_open $allow_tar
+ $use_moddate $has_zlib $gzip_open
$LOG_FILESEPARATOR $LOG_REVSEPARATOR
);
sub printDiffSelect($);
-sub printDiffLinks($$);
-sub printLogSortSelect($);
sub findLastModifiedSubdirs(@);
sub htmlify_sub(&$);
sub htmlify($;$);
@@ -169,49 +166,6 @@ $tabstop = $use_moddate = $moddate = $gzip_open = unde
$LOG_FILESEPARATOR = q/^={77}$/;
$LOG_REVSEPARATOR = q/^-{28}$/;
-@DIFFTYPES = qw(h H u c s);
-@DIFFTYPES{@DIFFTYPES} = (
- {
- 'descr' => 'colored',
- 'opts' => [ '-u' ],
- 'colored' => 1,
- },
- {
- 'descr' => 'long colored',
- 'opts' => [ '--unified=15' ],
- 'colored' => 1,
- },
- {
- 'descr' => 'unified',
- 'opts' => [ '-u' ],
- 'colored' => 0,
- },
- {
- 'descr' => 'context',
- 'opts' => [ '-c' ],
- 'colored' => 0,
- },
- {
- 'descr' => 'side by side',
- 'opts' => [ '--side-by-side', '--width=164' ],
- 'colored' => 0,
- },
- );
-
-@LOGSORTKEYS = qw(cvs date rev);
-@LOGSORTKEYS{@LOGSORTKEYS} = (
- {
- 'descr' => 'Not sorted',
- },
- {
- 'descr' => 'Commit date',
- },
- {
- 'descr' => 'Revision',
- },
- );
-
-
##### End of configuration variables #####
use Time::Local;
@@ -228,10 +182,9 @@ $verbose = $v;
$checkoutMagic = "~checkout~";
$pathinfo = defined($ENV{PATH_INFO}) ? $ENV{PATH_INFO} : '';
$where = $pathinfo;
-$where =~ tr|/|/|s;
$doCheckout = ($where =~ /^\/$checkoutMagic/);
$where =~ s|^/($checkoutMagic)?||;
-$where =~ s|/$||;
+$where =~ s|/+$||;
$scriptname = defined($ENV{SCRIPT_NAME}) ? $ENV{SCRIPT_NAME} : '';
$scriptname =~ s|^/?|/|;
$scriptname =~ s|/+$||;
@@ -245,7 +198,7 @@ $is_mod_perl = defined($ENV{MOD_PERL});
# in lynx, it it very annoying to have two links
# per file, so disable the link at the icon
# in this case:
-$Browser = $ENV{HTTP_USER_AGENT} || '';
+$Browser = $ENV{HTTP_USER_AGENT};
$is_links = ($Browser =~ m`^Links `);
$is_lynx = ($Browser =~ m`^Lynx/`i);
$is_w3m = ($Browser =~ m`^w3m/`i);
@@ -295,7 +248,6 @@ $query = $ENV{QUERY_STRING};
if (defined($query) && $query ne '') {
foreach (split(/&/, $query)) {
- y/+/ /;
s/%(..)/sprintf("%c", hex($1))/ge; # unquote %-quoted
if (/(\S+)=(.*)/) {
$input{$1} = $2 if ($2 ne "");
@@ -377,7 +329,7 @@ else {
$byfile = 1;
}
-$defaultDiffType = $input{'f'};
+$hr_default = ($input{'f'} eq 'h' || $input{'f'} eq 'H');
$logsort = $input{'logsort'};
@@ -406,7 +358,7 @@ foreach $k (keys %ICONS) {
my ($itxt,$ipath,$iwidth,$iheight) = @{$ICONS{$k}};
if ($ipath) {
${"${k}icon"} = sprintf('',
- hrefquote($ipath), htmlquote($itxt), $iwidth, $iheight)
+ htmlquote($ipath), htmlquote($itxt), $iwidth, $iheight)
}
else {
${"${k}icon"} = $itxt;
@@ -473,68 +425,10 @@ $module = $1;
if ($module && &forbidden_module($module)) {
&fatal("403 Forbidden", "Access to $where forbidden.");
}
-
-#
-# Handle tarball downloads before any headers are output.
-#
-if ($input{tarball}) {
- &fatal("403 Forbidden", "Downloading tarballs is prohibited.")
- unless $allow_tar;
- $where =~ s,/[^/]*$,,;
- $where =~ s,^/,,;
- my($basedir) = ($where =~ m,([^/]+)$,);
-
- if ($basedir eq '' || $where eq '') {
- &fatal("500 Internal Error", "You cannot download the top level directory.");
- }
-
- my $tmpdir = "/tmp/.cvsweb.$$." . int(time);
-
- mkdir($tmpdir, 0700)
- or &fatal("500 Internal Error", "Unable to make temporary directory: $!");
-
- my $fatal = '';
-
- do {
- chdir $tmpdir
- or $fatal = "500 Internal Error", "Unable to cd to temporary directory: $!"
- && last;
-
- my @params = (exists $input{only_with_tag} && length $input{only_with_tag})
- ? ("-r", $input{only_with_tag}) : ();
-
- system "cvs", "-RlQd", $cvsroot, "co", @params, $where
- and $fatal = "500 Internal Error","cvs co failure: $!: $where"
- && last;
-
- chdir "$where/.."
- or $fatal = "500 Internal Error","Cannot find expected directory in checkout"
- && last;
-
- $| = 1; # Essential to get the buffering right.
-
- print "Content-type: application/x-gzip\r\n\r\n";
-
- system "tar", "--ignore-failed-read", "--exclude", "CVS", "-zcf", "-", $basedir
- and $fatal = "500 Internal Error","tar zc failure: $!: $basedir"
- && last;
-
- chdir $tmpdir
- or $fatal = "500 Internal Error","Unable to cd to temporary directory: $!"
- && last;
- } while (0);
-
- system "rm", "-rf", $tmpdir if -d $tmpdir;
-
- &fatal($fatal) if $fatal;
-
- exit;
-}
-
##############################
# View a directory
###############################
-if (-d $fullname) {
+elsif (-d $fullname) {
my $dh = do {local(*DH);};
opendir($dh, $fullname) || &fatal("404 Not Found","$where: $!");
my @dir = readdir($dh);
@@ -872,22 +766,6 @@ if (-d $fullname) {
print "\n";
print "\n";
}
-
- if ($allow_tar) {
- my($basefile) = ($where =~ m,(?:.*/)?([^/]+),);
-
- if ($basefile ne '') {
- print "
\n",
- "
",
- &link("Download this directory in tarball",
- # Mangle the filename so browsers show a reasonable
- # filename to download.
- "$basefile.tar.gz$query".
- ($query ? "&" : "?")."tarball=1"),
- "
";
- }
- }
-
my $formwhere = $scriptwhere;
$formwhere =~ s|Attic/?$|| if ($input{'hideattic'});
@@ -907,9 +785,12 @@ if (-d $fullname) {
print "