===================================================================
RCS file: /cvs/cvsweb/cvsweb.cgi,v
retrieving revision 1.1.1.5
retrieving revision 3.13
diff -u -p -r1.1.1.5 -r3.13
--- cvsweb/cvsweb.cgi 2000/09/04 16:00:28 1.1.1.5
+++ cvsweb/cvsweb.cgi 2000/08/15 08:35:51 3.13
@@ -41,8 +41,8 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $zId: cvsweb.cgi,v 1.94 2000/08/24 06:41:22 hnordstrom Exp $
-# $kId: cvsweb.cgi,v 1.19 2000/09/04 15:53:41 knu Exp $
+# $zId: cvsweb.cgi,v 1.93 2000/07/27 17:42:28 hzeller Exp $
+# $Id: cvsweb.cgi,v 3.13 2000/08/15 08:35:51 knu Exp $
#
###
@@ -53,8 +53,8 @@ use vars qw (
%CVSROOT %CVSROOTdescr %MIRRORS %DEFAULTVALUE %ICONS %MTYPES
%alltags @tabcolors %fileinfo %tags @branchnames %nameprinted
%symrev %revsym @allrevisions %date %author @revdisplayorder
- @revisions %state %difflines %log %branchpoint @revorder
- $prcgi @prcategories $prcategories $mancgi
+ @revisions %state %difflines %log %branchpoint @revorder $prcgi
+ @prcategories $prcategories
$checkoutMagic $doCheckout $scriptname $scriptwhere
$where $pathinfo $Browser $nofilelinks $maycompress @stickyvars
%funcline_regexp $is_mod_perl
@@ -347,7 +347,6 @@ foreach my $k (keys %ICONS) {
do "$config-$cvstree" if (-f "$config-$cvstree");
$prcategories = '(?:' . join('|', @prcategories) . ')';
-$prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/;
$fullname = $cvsroot . '/' . $where;
$mimetype = &getMimeTypeFromSuffix ($fullname);
@@ -887,7 +886,7 @@ sub findLastModifiedSubdirs(@) {
}
sub htmlify($;$) {
- my($string, $extra) = @_;
+ my($string, $pr) = @_;
# Special Characters; RFC 1866
$string =~ s/&/&/g;
@@ -896,21 +895,14 @@ sub htmlify($;$) {
$string =~ s/>/>/g;
# get URL's as link ..
- $string =~ s`(http|ftp|https)(://[-a-zA-Z0-9%.~:_/]+)([?&]([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*`$1$2$3`g; # `
+ $string =~ s`(http|ftp|https)(://[-a-zA-Z0-9%.~:_/]+)([?&]([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*`$1$2$3`;
# get e-mails as link
- $string =~ s`([-a-zA-Z0-9_.]+@([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})`$1`g; # `
+ $string =~ s`([-a-zA-Z0-9_.]+@([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})`$1`;
- if ($extra) {
- # get PR #'s as link ..
- if (defined($prcgi)) {
- 1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`$1 . &link($2, sprintf($prcgi, $2))`ie; # `
- $string =~ s`\b${prcategories}/(\d+)\b`&link($&, sprintf($prcgi, $1))`igeo; # `
- }
-
- # get manpage specs as link ..
- if (defined($mancgi)) {
- $string =~ s`\b([a-zA-Z]\w+)\(([0-9n])\)\B`&link($&, sprintf($mancgi, $2, $1))`ge; # `
- }
+ # get #PR as link ..
+ if ($pr && defined($prcgi)) {
+ 1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`$1$2`i;
+ $string =~ s`\b${prcategories}/(\d+)\b`$&`igo;
}
return $string;
@@ -920,7 +912,7 @@ sub spacedHtmlText($) {
local $_ = $_[0];
# Cut trailing spaces
- s/\s+$/\n/;
+ s/\s+\n$//;
# Expand tabs
s/\t+/' ' x (length($&) * $tabstop - length($`) % $tabstop)/e
@@ -957,10 +949,6 @@ sub link($$) {
sub revcmp($$) {
my($rev1, $rev2) = @_;
-
- # make no comparison for a tag or a branch
- return 0 if $rev1 =~ /[^\d.]/ || $rev2 =~ /[^\d.]/;
-
my(@r1) = split(/\./, $rev1);
my(@r2) = split(/\./, $rev2);
my($a,$b);
@@ -1075,7 +1063,7 @@ sub doAnnotate($$) {
# make sure the revisions a wellformed, for security
# reasons ..
- if ($rev =~ /[^\w.]/) {
+ if (!($rev =~ /^[\d\.]+$/)) {
&fatal("404 Not Found",
"Malformed query \"$ENV{QUERY_STRING}\"");
}
@@ -1182,7 +1170,6 @@ sub doAnnotate($$) {
}
else {
$revprint = $lrev; $oldLusr = "";
- $revprint =~ s`^(\S+)`$1`; # `
}
if ($lusr eq $oldLusr) {
$usrprint = " ";
@@ -1227,13 +1214,9 @@ sub doCheckout($$) {
my ($mimetype,$revopt);
my $fh = do {local(*FH);};
- if ($rev eq 'HEAD' || $rev eq '.') {
- $rev = undef;
- }
-
# make sure the revisions a wellformed, for security
# reasons ..
- if (defined($rev) && $rev =~ /[^\w.]/) {
+ if (defined($rev) && !($rev =~ /^[\d\.]+$/)) {
&fatal("404 Not Found",
"Malformed query \"$ENV{QUERY_STRING}\"");
}
@@ -1269,7 +1252,7 @@ sub doCheckout($$) {
# Safely for a child process to read from.
if (! open($fh, "-|")) { # child
open(STDERR, ">&STDOUT"); # Redirect stderr to stdout
- exec("cvs", "-Rld", $cvsroot, "co", "-p", $revopt, $where);
+ exec("cvs", "-d", $cvsroot, "co", "-p", $revopt, $where);
}
#===================================================================
#Checking out squid/src/ftp.c
@@ -1386,10 +1369,9 @@ sub doDiff($$$$$$) {
$rev2 = $tr2;
$sym2 = "";
}
-
# make sure the revisions a wellformed, for security
# reasons ..
- if ($rev1 =~ /[^\w.]/ || $rev2 =~ /[^\w.]/) {
+ if (!($rev1 =~ /^[\d\.]+$/) || !($rev2 =~ /^[\d\.]+$/)) {
&fatal("404 Not Found",
"Malformed query \"$ENV{QUERY_STRING}\"");
}
@@ -1431,7 +1413,7 @@ sub doDiff($$$$$$) {
# apply special options
if ($showfunc) {
- push @difftype, '-p' if $f =~ /^[cHhu]$/;
+ push @difftype, '-p';
my($re1, $re2);
@@ -2143,7 +2125,7 @@ EOF
print "\n";
$diffrev = $revdisplayorder[0];
$diffrev = $input{"r2"} if (defined($input{"r2"}));
- print "\n";
+ print "\n";
print "
Type of Diff should be a ";
printDiffSelect(0);
print "\n";
@@ -2391,7 +2373,7 @@ sub navigateHeader($$$$$) {
$swhere = urlencode($filename) if ($swhere eq "");
print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
print "\n