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

Diff for /cvsweb/cvsweb.cgi between version 3.14 and 3.18

version 3.14, 2000/08/24 15:53:11 version 3.18, 2000/09/04 14:50:22
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 $prcgi      @revisions %state %difflines %log %branchpoint @revorder
     @prcategories $prcategories      $prcgi @prcategories $prcategories $mancgi
     $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 886  sub findLastModifiedSubdirs(@) {
Line 887  sub findLastModifiedSubdirs(@) {
 }  }
   
 sub htmlify($;$) {  sub htmlify($;$) {
         my($string, $pr) = @_;          my($string, $extra) = @_;
   
         # Special Characters; RFC 1866          # Special Characters; RFC 1866
         $string =~ s/&/&/g;          $string =~ s/&/&/g;
Line 895  sub htmlify($;$) {
Line 896  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>`;          $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;
         # 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>`;          $string =~ s`([-a-zA-Z0-9_.]+@([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})`<A HREF="mailto:$1">$1</A>`g;
   
         # get #PR as link ..          if ($extra) {
         if ($pr && defined($prcgi)) {              # get PR #'s as link ..
             1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`$1<A HREF="$prcgi$2">$2</A>`i;              if (defined($prcgi)) {
             $string =~ s`\b${prcategories}/(\d+)\b`<A HREF="$prcgi$1">$&</A>`igo;                  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`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 912  sub spacedHtmlText($) {
Line 920  sub spacedHtmlText($) {
         local $_ = $_[0];          local $_ = $_[0];
   
         # Cut trailing spaces          # Cut trailing spaces
         s/\s+\n$//;          s/\s+$/\n/;
   
         # Expand tabs          # Expand tabs
         s/\t+/' ' x (length($&) * $tabstop - length($`) % $tabstop)/e          s/\t+/' ' x (length($&) * $tabstop - length($`) % $tabstop)/e
Line 949  sub link($$) {
Line 957  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 1063  sub doAnnotate($$) {
Line 1075  sub doAnnotate($$) {
   
     # make sure the revisions a wellformed, for security      # make sure the revisions a wellformed, for security
     # reasons ..      # reasons ..
     if (!($rev =~ /^[\d\.]+$/)) {      if ($rev =~ /[^\w.]/) {
         &fatal("404 Not Found",          &fatal("404 Not Found",
                 "Malformed query \"$ENV{QUERY_STRING}\"");                  "Malformed query \"$ENV{QUERY_STRING}\"");
     }      }
Line 1214  sub doCheckout($$) {
Line 1226  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 =~ /^[\d\.]+$/)) {      if (defined($rev) && $rev =~ /[^\w.]/) {
         &fatal("404 Not Found",          &fatal("404 Not Found",
                 "Malformed query \"$ENV{QUERY_STRING}\"");                  "Malformed query \"$ENV{QUERY_STRING}\"");
     }      }
Line 1252  sub doCheckout($$) {
Line 1268  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", "-d", $cvsroot, "co", "-p", $revopt, $where);        exec("cvs", "-Rld", $cvsroot, "co", "-p", $revopt, $where);
     }      }
 #===================================================================  #===================================================================
 #Checking out squid/src/ftp.c  #Checking out squid/src/ftp.c
Line 1369  sub doDiff($$$$$$) {
Line 1385  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 =~ /^[\d\.]+$/) || !($rev2 =~ /^[\d\.]+$/)) {          if ($rev1 =~ /[^\w.]/ || $rev2 =~ /[^\w.]/) {
             &fatal("404 Not Found",              &fatal("404 Not Found",
                     "Malformed query \"$ENV{QUERY_STRING}\"");                      "Malformed query \"$ENV{QUERY_STRING}\"");
         }          }
Line 1413  sub doDiff($$$$$$) {
Line 1430  sub doDiff($$$$$$) {
   
         # apply special options          # apply special options
         if ($showfunc) {          if ($showfunc) {
             push @difftype, '-p';              push @difftype, '-p' if $f =~ /^[cHhu]$/;
   
             my($re1, $re2);              my($re1, $re2);
   

Legend:
Removed from v.3.14  
changed lines
  Added in v.3.18

CVSweb