X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=cgi%2Fbugreport.cgi;h=3dddc5e8030bd7ce752c0c669498bd60bbc04efb;hb=62cac6b6d596b6f29286adf2e6781405f9fd04e9;hp=ef0341c25facad894c8c7ed0294c6467fcfbc66e;hpb=05f158937d8e18b9bec70594f465fc078ed3bc59;p=debbugs.git diff --git a/cgi/bugreport.cgi b/cgi/bugreport.cgi index ef0341c..3dddc5e 100755 --- a/cgi/bugreport.cgi +++ b/cgi/bugreport.cgi @@ -60,8 +60,8 @@ my %param = cgi_parameters(query => $q, ); # This is craptacular. -my $ref = $param{bug} or quitcgi("No bug number"); -$ref =~ /(\d+)/ or quitcgi("Invalid bug number"); +my $ref = $param{bug} or quitcgi("No bug number", '400 Bad Request'); +$ref =~ /(\d+)/ or quitcgi("Invalid bug number", '400 Bad Request'); $ref = $1; my $short = "#$ref"; my ($msg) = $param{msg} =~ /^(\d+)$/ if exists $param{msg}; @@ -129,12 +129,12 @@ if (not (($mbox and not $mbox_status_message) or ## Identify the users required for my $user (map {split /[\s*,\s*]+/} make_list($param{users}||[])) { next unless length($user); - push @dependent_files,Debbugs::User::usertag_flie_from_email($user); + push @dependent_files,Debbugs::User::usertag_file_from_email($user); } if (defined $param{usertag}) { for my $usertag (make_list($param{usertag})) { my ($user, $tag) = split /:/, $usertag, 2; - push @dependent_files,Debbugs::User::usertag_flie_from_email($user); + push @dependent_files,Debbugs::User::usertag_file_from_email($user); } } $etag = @@ -146,7 +146,12 @@ $etag = ], ); if (not $etag) { - print $q->header(-status => 304); + print $q->header(-status => 304, + -cache_control => 'public, max-age=600', + -etag => $etag, + -charset => 'utf-8', + -content_type => 'text/html', + ); print "304: Not modified\n"; exit 0; } @@ -156,6 +161,7 @@ if ($q->request_method() eq 'HEAD' and not defined($att) and not $mbox) { print $q->header(-status => 200, -cache_control => 'public, max-age=600', -etag => $etag, + -charset => 'utf-8', -content_type => 'text/html', ); exit 0; @@ -220,7 +226,7 @@ if ( $mbox ) { binmode(STDOUT,":raw"); my $date = strftime "%a %b %d %T %Y", localtime; if (@records > 1) { - print $q->header(-type => "text/plain", + print $q->header(-type => "application/mbox", -cache_control => 'public, max-age=600', -etag => $etag, content_disposition => qq(attachment; filename="bug_${ref}.mbox"),