]> git.donarmstrong.com Git - debbugs.git/commitdiff
[project @ 2000-10-06 04:13:46 by ajt]
authorajt <>
Fri, 6 Oct 2000 11:13:46 +0000 (03:13 -0800)
committerajt <>
Fri, 6 Oct 2000 11:13:46 +0000 (03:13 -0800)
Don't fork to execute date. Sheesh.
-T safe. Somewhat.

cgi/bugreport.cgi
cgi/common.pl
cgi/pkgreport.cgi

index 3d06a11d5ee0a89b27a7dca9daa47dcae844b931..06e281e21491601a5627da513553c68af71acbe9 100755 (executable)
@@ -1,9 +1,10 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -wT
 
 package debbugs;
 
 use strict;
 use CGI qw/:standard/;
+use POSIX qw(strftime);
 
 #require '/usr/lib/debbugs/errorlib';
 #require '/usr/lib/debbugs/common.pl';
@@ -36,8 +37,7 @@ my $showseverity;
 my $tpack;
 my $tmain;
 
-$dtime=`date -u '+%H:%M:%S GMT %a %d %h'`;
-chomp($dtime);
+$dtime = strftime "%H:%M:%S GMT %a %d %h", gmtime;
 
 $tail_html = $debbugs::gHTMLTail;
 $tail_html =~ s/SUBSTITUTE_DTIME/$dtime/;
@@ -72,10 +72,7 @@ if (@merged) {
        }
 }
 
-my $dummy = `TZ=GMT LANG=C \\
-               date -d '1 Jan 1970 00:00:00 + $status{date} seconds' \\
-               '+ %a, %e %b %Y %T %Z'`;
-chomp($dummy);
+my $dummy = strftime "%a, %e, %b %Y %T %Z", gmtime($status{date});
 $submitted = ";\ndated ".$dummy;
 
 if (length($status{done})) {
index 3a6753cf8f25bb213ccb5eee665d8050d59161a7..3fe3322a77dbf5c913874e5e2aace54fd28924bf 100644 (file)
@@ -18,14 +18,14 @@ sub quit {
     exit 0;
 }
 
-sub abort {
-    my $msg = shift;
-    my $Archive = $common_archive ? "archive" : "";
-    print header . start_html("Sorry");
-    print "Sorry bug #$msg doesn't seem to be in the $Archive database.\n";
-    print end_html;
-    exit 0;
-}
+#sub abort {
+#    my $msg = shift;
+#    my $Archive = $common_archive ? "archive" : "";
+#    print header . start_html("Sorry");
+#    print "Sorry bug #$msg doesn't seem to be in the $Archive database.\n";
+#    print end_html;
+#    exit 0;
+#}
 
 sub htmlindexentry {
     my $ref = shift;
@@ -208,6 +208,16 @@ sub submitterbugs {
     return getbugs($chk);
 }
 
+sub severitybugs {
+    my $status = shift;
+    my $severity = shift;
+    my $chk = sub {
+       my %d = @_; 
+       return ($d{"severity"} eq $severity) && ($d{"status"} eq $status); 
+    };
+    return getbugs($chk);
+}
+
 sub maintbugs {
     my $maint = shift;
     my %maintainers = getmaintainers();
@@ -243,8 +253,8 @@ sub getbugs {
     my @result = ();
     while(<I>) 
     {
-        if (m/^(\S+)\s+(\d+)\s+(\S+)\s+(\d+)\s+\[\s*([^]]*)\s*\]\s+(\w+)\s+(.+)$/) {
-            if ($bugfunc->(pkg => $1, bug => $2, submitter => $5,
+        if (m/^(\S+)\s+(\d+)\s+(\d+)\s+(\S+)\s+\[\s*([^]]*)\s*\]\s+(\w+)\s+(.+)$/) {
+            if ($bugfunc->(pkg => $1, bug => $2, status => $4, submitter => $5,
                           severity => $6, title => $7))
            {
                push (@result, $2);
index 765a43d19a678c67199a2467bf775ea7e46e65e9..735e0e84a6e80bde3f9f7eaa746dca6c0fe3c9e2 100755 (executable)
@@ -4,6 +4,7 @@ package debbugs;
 
 use strict;
 use CGI qw/:standard/;
+use POSIX;
 
 require '/debian/home/ajt/newajbug/common.pl';
 #require '/usr/lib/debbugs/common.pl';
@@ -12,15 +13,23 @@ require '/debian/home/ajt/newajbug/common.pl';
 require '/etc/debbugs/config';
 require '/etc/debbugs/text';
 
-my $pkg = param('pkg');
-my $maint = defined $pkg ? undef : param('maint');
-my $maintenc = (defined $pkg || defined $maint) ? undef : param('maintenc');
-my $submitter = (defined $pkg || defined $maint || defined $maintenc) ? undef : param('submitter');
+POSIX::nice(5);
+
+my ($pkg, $maint, $maintenc, $submitter, $severity, $status);
+
+if (defined ($pkg = param('pkg'))) {
+} elsif (defined ($maint = param('maint'))) {
+} elsif (defined ($maintenc = param('maintenc'))) {
+} elsif (defined ($submitter= param('submitter'))) { 
+} elsif (defined ($severity = param('severity'))) { 
+       $status = param('status') || 'open';
+} else {
+       $pkg = "ALL";
+}
+
 my $repeatmerged = (param('repeatmerged') || "yes") eq "yes";
 my $archive = (param('archive') || "no") eq "yes";
 
-$pkg = 'ALL' unless (defined($pkg) || defined($maint) || defined($maintenc)) || defined($submitter);
-
 my $Archived = $archive ? "Archived" : "";
 
 my $this = "";
@@ -42,8 +51,10 @@ if (defined $pkg) {
     $tag = "maintainer $maint";
 } elsif (defined $maintenc) {
     $tag = "encoded maintainer $maintenc";
-} else {
+} elsif (defined $submitter) {
     $tag = "submitter $submitter";
+} elsif (defined $severity) {
+    $tag = "$status $severity bugs";
 }
 
 set_option("repeatmerged", $repeatmerged);
@@ -56,8 +67,10 @@ if (defined $pkg) {
     @bugs = maintbugs($maint);
 } elsif (defined $maintenc) {
     @bugs = maintencbugs($maintenc);
-} else {
+} elsif (defined $submitter) {
     @bugs = submitterbugs($submitter);
+} elsif (defined $severity) {
+    @bugs = severitybugs($status, $severity);
 }
 
 my $result = htmlizebugs(@bugs);