[BACK]Return to cvsweb.cgi CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / cvsweb

Diff for /cvsweb/cvsweb.cgi between version 1.1.1.4 and 3.13

version 1.1.1.4, 2000/09/03 18:41:30 version 3.13, 2000/08/15 08:35:51
Line 41 
Line 41 
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.  # SUCH DAMAGE.
 #  #
 # $zId: cvsweb.cgi,v 1.94 2000/08/24 06:41:22 hnordstrom Exp $  # $zId: cvsweb.cgi,v 1.93 2000/07/27 17:42:28 hzeller Exp $
 # $kId: cvsweb.cgi,v 1.17 2000/09/03 18:25:47 knu Exp $  # $Id$
 #  #
 ###  ###
   
Line 53  use vars qw (
Line 53  use vars qw (
     %CVSROOT %CVSROOTdescr %MIRRORS %DEFAULTVALUE %ICONS %MTYPES      %CVSROOT %CVSROOTdescr %MIRRORS %DEFAULTVALUE %ICONS %MTYPES
     %alltags @tabcolors %fileinfo %tags @branchnames %nameprinted      %alltags @tabcolors %fileinfo %tags @branchnames %nameprinted
     %symrev %revsym @allrevisions %date %author @revdisplayorder      %symrev %revsym @allrevisions %date %author @revdisplayorder
     @revisions %state %difflines %log %branchpoint @revorder      @revisions %state %difflines %log %branchpoint @revorder $prcgi
     $prcgi @prcategories $prcategories $mancgi      @prcategories $prcategories
     $checkoutMagic $doCheckout $scriptname $scriptwhere      $checkoutMagic $doCheckout $scriptname $scriptwhere
     $where $pathinfo $Browser $nofilelinks $maycompress @stickyvars      $where $pathinfo $Browser $nofilelinks $maycompress @stickyvars
     %funcline_regexp $is_mod_perl      %funcline_regexp $is_mod_perl
Line 347  foreach my $k (keys %ICONS) {
Line 347  foreach my $k (keys %ICONS) {
 do "$config-$cvstree" if (-f "$config-$cvstree");  do "$config-$cvstree" if (-f "$config-$cvstree");
   
 $prcategories = '(?:' . join('|', @prcategories) . ')';  $prcategories = '(?:' . join('|', @prcategories) . ')';
 $prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/;  
   
 $fullname = $cvsroot . '/' . $where;  $fullname = $cvsroot . '/' . $where;
 $mimetype = &getMimeTypeFromSuffix ($fullname);  $mimetype = &getMimeTypeFromSuffix ($fullname);
Line 887  sub findLastModifiedSubdirs(@) {
Line 886  sub findLastModifiedSubdirs(@) {
 }  }
   
 sub htmlify($;$) {  sub htmlify($;$) {
         my($string, $extra) = @_;          my($string, $pr) = @_;
   
         # Special Characters; RFC 1866          # Special Characters; RFC 1866
         $string =~ s/&/&/g;          $string =~ s/&/&/g;
Line 896  sub htmlify($;$) {
Line 895  sub htmlify($;$) {
         $string =~ s/>/>/g;          $string =~ s/>/>/g;
   
         # get URL's as link ..          # get URL's as link ..
         $string =~ s`(http|ftp|https)(://[-a-zA-Z0-9%.~:_/]+)([?&]([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*`<A HREF="$1$2$3">$1$2$3</A>`g;          $string =~ s`(http|ftp|https)(://[-a-zA-Z0-9%.~:_/]+)([?&]([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*`<A HREF="$1$2$3">$1$2$3</A>`;
         # get e-mails as link          # get e-mails as link
         $string =~ s`([-a-zA-Z0-9_.]+@([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})`<A HREF="mailto:$1">$1</A>`g;          $string =~ s`([-a-zA-Z0-9_.]+@([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})`<A HREF="mailto:$1">$1</A>`;
   
         if ($extra) {          # get #PR as link ..
             # get PR #'s as link ..          if ($pr && defined($prcgi)) {
             if (defined($prcgi)) {              1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`$1<A HREF="$prcgi$2">$2</A>`i;
                 1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`sprintf('%s<A HREF="%s">%s</A>', $1, sprintf($prcgi, $2), $2)`ie;              $string =~ s`\b${prcategories}/(\d+)\b`<A HREF="$prcgi$1">$&</A>`igo;
                 $string =~ s`\b${prcategories}/(\d+)\b`sprintf('<A HREF="%s">%s</A>', sprintf($prcgi, $1), $&)`igeo;  
             }  
   
             # get manpage specs as link ..  
             if (defined($mancgi)) {  
                 $string =~ s`\b([a-zA-Z]\w+)\(([0-9n])\)\B`sprintf('<A HREF="%s">%s</A>', sprintf($mancgi, $2, $1), $&)`ge;  
             }  
         }          }
   
         return $string;          return $string;
Line 957  sub link($$) {
Line 949  sub link($$) {
   
 sub revcmp($$) {  sub revcmp($$) {
         my($rev1, $rev2) = @_;          my($rev1, $rev2) = @_;
   
         # make no comparison for a tag or a branch  
         return 0 if $rev1 =~ /[^\d.]/ || $rev2 =~ /[^\d.]/;  
   
         my(@r1) = split(/\./, $rev1);          my(@r1) = split(/\./, $rev1);
         my(@r2) = split(/\./, $rev2);          my(@r2) = split(/\./, $rev2);
         my($a,$b);          my($a,$b);
Line 1075  sub doAnnotate($$) {
Line 1063  sub doAnnotate($$) {
   
     # make sure the revisions a wellformed, for security      # make sure the revisions a wellformed, for security
     # reasons ..      # reasons ..
     if ($rev =~ /[^\w.]/) {      if (!($rev =~ /^[\d\.]+$/)) {
         &fatal("404 Not Found",          &fatal("404 Not Found",
                 "Malformed query \"$ENV{QUERY_STRING}\"");                  "Malformed query \"$ENV{QUERY_STRING}\"");
     }      }
Line 1226  sub doCheckout($$) {
Line 1214  sub doCheckout($$) {
     my ($mimetype,$revopt);      my ($mimetype,$revopt);
     my $fh = do {local(*FH);};      my $fh = do {local(*FH);};
   
     if ($rev eq 'HEAD' || $rev eq '.') {  
         $rev = undef;  
     }  
   
     # make sure the revisions a wellformed, for security      # make sure the revisions a wellformed, for security
     # reasons ..      # reasons ..
     if (defined($rev) && $rev =~ /[^\w.]/) {      if (defined($rev) && !($rev =~ /^[\d\.]+$/)) {
         &fatal("404 Not Found",          &fatal("404 Not Found",
                 "Malformed query \"$ENV{QUERY_STRING}\"");                  "Malformed query \"$ENV{QUERY_STRING}\"");
     }      }
Line 1268  sub doCheckout($$) {
Line 1252  sub doCheckout($$) {
     # Safely for a child process to read from.      # Safely for a child process to read from.
     if (! open($fh, "-|")) { # child      if (! open($fh, "-|")) { # child
       open(STDERR, ">&STDOUT"); # Redirect stderr to stdout        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  #Checking out squid/src/ftp.c
Line 1385  sub doDiff($$$$$$) {
Line 1369  sub doDiff($$$$$$) {
             $rev2 = $tr2;              $rev2 = $tr2;
             $sym2 = "";              $sym2 = "";
         }          }
   
         # make sure the revisions a wellformed, for security          # make sure the revisions a wellformed, for security
         # reasons ..          # reasons ..
         if ($rev1 =~ /[^\w.]/ || $rev2 =~ /[^\w.]/) {          if (!($rev1 =~ /^[\d\.]+$/) || !($rev2 =~ /^[\d\.]+$/)) {
             &fatal("404 Not Found",              &fatal("404 Not Found",
                     "Malformed query \"$ENV{QUERY_STRING}\"");                      "Malformed query \"$ENV{QUERY_STRING}\"");
         }          }
Line 1430  sub doDiff($$$$$$) {
Line 1413  sub doDiff($$$$$$) {
   
         # apply special options          # apply special options
         if ($showfunc) {          if ($showfunc) {
             push @difftype, '-p' if $f =~ /^[cHhu]$/;              push @difftype, '-p';
   
             my($re1, $re2);              my($re1, $re2);
   
Line 2142  EOF
Line 2125  EOF
         print "</SELECT>\n";          print "</SELECT>\n";
         $diffrev = $revdisplayorder[0];          $diffrev = $revdisplayorder[0];
         $diffrev = $input{"r2"} if (defined($input{"r2"}));          $diffrev = $input{"r2"} if (defined($input{"r2"}));
         print "<INPUT TYPE=\"TEXT\" SIZE=\"$inputTextSize\" NAME=\"tr2\" VALUE=\"$diffrev\" onChange='document.diff_select.r2.selectedIndex=0'>\n";          print "<INPUT TYPE=\"TEXT\" SIZE=\"$inputTextSize\" NAME=\"tr2\" VALUE=\"$diffrev\" onChange='docuement.diff_select.r2.selectedIndex=0'>\n";
         print "<BR>Type of Diff should be a&nbsp;";          print "<BR>Type of Diff should be a&nbsp;";
         printDiffSelect(0);          printDiffSelect(0);
         print "<INPUT TYPE=SUBMIT VALUE=\"  Get Diffs  \">\n";          print "<INPUT TYPE=SUBMIT VALUE=\"  Get Diffs  \">\n";
Line 2390  sub navigateHeader($$$$$) {
Line 2373  sub navigateHeader($$$$$) {
     $swhere = urlencode($filename) if ($swhere eq "");      $swhere = urlencode($filename) if ($swhere eq "");
     print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";      print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
     print "<HTML>\n<HEAD>\n";      print "<HTML>\n<HEAD>\n";
     print '<!-- CVSweb $zRevision: 1.94 $  $kRevision: 1.17 $ -->';      print '<!-- CVSweb $zRevision: 1.93 $  $Revision$ -->';
     print "\n<TITLE>$path$filename - $title - $rev</TITLE></HEAD>\n";      print "\n<TITLE>$path$filename - $title - $rev</TITLE></HEAD>\n";
     print  "<BODY BGCOLOR=\"$backcolor\">\n";      print  "<BODY BGCOLOR=\"$backcolor\">\n";
     print "<table width=\"100%\" border=0 cellspacing=0 cellpadding=1 bgcolor=\"$navigationHeaderColor\">";      print "<table width=\"100%\" border=0 cellspacing=0 cellpadding=1 bgcolor=\"$navigationHeaderColor\">";
Line 2742  sub http_header(;$) {
Line 2725  sub http_header(;$) {
   
 sub html_header($) {  sub html_header($) {
     my ($title) = @_;      my ($title) = @_;
     my $version = '$zRevision: 1.94 $  $kRevision: 1.17 $'; #'      my $version = '$zRevision: 1.93 $  $Revision$'; #'
     http_header();      http_header();
     print <<EOH;      print <<EOH;
 <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"  <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"

Legend:
Removed from v.1.1.1.4  
changed lines
  Added in v.3.13

CVSweb