From: ajt <> Date: Fri, 6 Oct 2000 13:04:41 +0000 (-0800) Subject: [project @ 2000-10-06 06:04:41 by ajt] X-Git-Tag: release/2.6.0~1247 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=614b3a51542f1a0439ce0958a9cb09323151cdff;p=debbugs.git [project @ 2000-10-06 06:04:41 by ajt] Don't use CGI.pm. Use some short code from joeyh instead, and raw html. --- diff --git a/cgi/bugreport.cgi b/cgi/bugreport.cgi index 50fadc2c..d114b1df 100755 --- a/cgi/bugreport.cgi +++ b/cgi/bugreport.cgi @@ -3,7 +3,6 @@ package debbugs; use strict; -use CGI qw/:standard/; use POSIX qw(strftime tzset); #require '/usr/lib/debbugs/errorlib'; @@ -14,17 +13,40 @@ require '/etc/debbugs/config'; require '/etc/debbugs/text'; use vars(qw($gHTMLTail $gWebDomain)); + +sub readparse { + # Parse query string. I could use CGI.pm here, but it is 6 thousand + # lines long and very expensive. I want light-weight. + my ($in, $key, $val, %ret); + if (defined $ENV{"QUERY_STRING"} && $ENV{"QUERY_STRING"} ne "") { + $in=$ENV{QUERY_STRING}; + } elsif(defined $ENV{"REQUEST_METHOD"} + && $ENV{"REQUEST_METHOD"} eq "POST") + { + read(STDIN,$in,$ENV{CONTENT_LENGTH}); + } else { + return; + } + foreach (split(/&/,$in)) { + s/\+/ /g; + ($key, $val) = split(/=/,$_,2); + $key=~s/%(..)/pack("c",hex($1))/ge; + $val=~s/%(..)/pack("c",hex($1))/ge; + $ret{$key}=$val; + } + return %ret; +} + +my %param = readparse(); + my $tail_html; my %maintainer = getmaintainers(); -my $ref= param('bug') || die("No bug number"); -my $archive = (param('archive') || 'no') eq 'yes'; -my $msg = param('msg') || ""; -my $boring = (param('boring') || 'no') eq 'yes'; -my $reverse = (param('reverse') || 'no') eq 'yes'; - -set_option("archive", $archive); +my $ref = $param{'bug'} || quit("No bug number"); +my $msg = $param{'msg'} || ""; +my $boring = ($param{'boring'} || 'no') eq 'yes'; +my $reverse = ($param{'reverse'} || 'no') eq 'yes'; my %status = getbugstatus($ref) or &quit("Couldn't get bug status: $!"); @@ -204,22 +226,21 @@ while(my $line = ) { &quit("$ref state $normstate at end") unless $normstate eq 'kill-end'; close(L); -print header; -print start_html( - -TEXT => "#000000", - -BGCOLOR=>"#FFFFFF", - -LINK => "#0000FF", - -VLINK => "#800080", - -title => "$debbugs::gProject $debbugs::gBug report logs - $short"); +print "Content-Type: text/html\n\n"; -print h1("$debbugs::gProject $debbugs::gBug report logs - $short
\n" - . htmlsanit($status{subject})); +print "\n" . + "$debbugs::gProject $debbugs::gBug report logs - $short\n" . + "\n" . + '' . + "\n"; +print "

" . "$debbugs::gProject $debbugs::gBug report logs - $short" . + "
" . htmlsanit($status{subject}) . "

\n"; print "$descriptivehead\n"; -print hr; +print "
"; print "$log"; print $tail_html; -print end_html; +print "\n"; exit 0; diff --git a/cgi/common.pl b/cgi/common.pl index 3fe3322a..7ae481f9 100644 --- a/cgi/common.pl +++ b/cgi/common.pl @@ -11,10 +11,11 @@ sub set_option { sub quit { my $msg = shift; - print header . start_html("Error"); + print "Content-Type: text/html\n\n"; + print "Error\n"; print "An error occurred. Dammit.\n"; print "Error was: $msg.\n"; - print end_html; + print "\n"; exit 0; } @@ -164,7 +165,7 @@ sub htmlizebugs { "forwarded", "forwarded to upstream software authors"); if (@bugs == 0) { - return hr . h2("No reports found!"); + return "

No reports found!

\n"; } foreach my $bug (sort {$a<=>$b} @bugs) { @@ -186,9 +187,11 @@ sub htmlizebugs { foreach my $severity(@debbugs::gSeverityList) { $severity = $debbugs::gDefaultSeverity if ($severity eq ''); next unless defined $section{${pending} . "_" . ${severity}}; - $result .= hr . h2("$debbugs::gSeverityDisplay{$severity} - $displayshowpending{$pending}"); + $result .= "

$debbugs::gSeverityDisplay{$severity} - $displayshowpending{$pending}

\n"; $result .= "(A list of all such bugs is available).\n"; - $result .= ul($section{$pending . "_" . $severity}); + $result .= "\n"; $anydone = 1 if ($pending eq "done"); } } diff --git a/cgi/pkgreport.cgi b/cgi/pkgreport.cgi index 479cf4ae..b9c854b1 100755 --- a/cgi/pkgreport.cgi +++ b/cgi/pkgreport.cgi @@ -3,7 +3,6 @@ package debbugs; use strict; -use CGI qw/:standard/; use POSIX qw(strftime tzset nice); require '/debian/home/ajt/newajbug/common.pl'; @@ -15,20 +14,43 @@ require '/etc/debbugs/text'; nice(5); +sub readparse { + my ($in, $key, $val, %ret); + if (defined $ENV{"QUERY_STRING"} && $ENV{"QUERY_STRING"} ne "") { + $in=$ENV{QUERY_STRING}; + } elsif(defined $ENV{"REQUEST_METHOD"} + && $ENV{"REQUEST_METHOD"} eq "POST") + { + read(STDIN,$in,$ENV{CONTENT_LENGTH}); + } else { + return; + } + foreach (split(/&/,$in)) { + s/\+/ /g; + ($key, $val) = split(/=/,$_,2); + $key=~s/%(..)/pack("c",hex($1))/ge; + $val=~s/%(..)/pack("c",hex($1))/ge; + $ret{$key}=$val; + } + return %ret; +} + +my %param = readparse(); + 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'; +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"; + quit("You have to choose something to select by"); } -my $repeatmerged = (param('repeatmerged') || "yes") eq "yes"; -my $archive = (param('archive') || "no") eq "yes"; +my $repeatmerged = ($param{'repeatmerged'} || "yes") eq "yes"; +my $archive = ($param{'archive'} || "no") eq "yes"; my $Archived = $archive ? "Archived" : ""; @@ -77,15 +99,15 @@ if (defined $pkg) { my $result = htmlizebugs(@bugs); -print header; -print start_html( - -TEXT => "#000000", - -BGCOLOR=>"#FFFFFF", - -LINK => "#0000FF", - -VLINK => "#800080", - -title => "$debbugs::gProject $Archived $debbugs::gBug report logs: $tag"); +print "Content-Type: text/html\n\n"; -print h1("$debbugs::gProject $Archived $debbugs::gBug report logs: $tag"); +print "\n" . + "$debbugs::gProject $Archived $debbugs::gBug report logs: $tag\n" . + "\n" . + '' . + "\n"; +print "

" . "$debbugs::gProject $Archived $debbugs::gBug report logs: $tag" . + "

\n"; if (defined $pkg) { if (defined $maintainer{$pkg}) { @@ -109,7 +131,7 @@ if (defined $pkg) { print $result; -print hr; +print "
\n"; print "$tail_html"; -print end_html; +print "\n";