X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=cgi-bin%2Fdispatcher.pl;h=b563dc55ba464197075a980abe1df45e75d9d295;hb=bb9e28766fda181113c16df721f13413dded7265;hp=11a1d590a97f3e33c838436550780562d7aa00d2;hpb=24cd19ddaa3a525f82bf389a3f004744a32a0916;p=deb%2Fpackages.git diff --git a/cgi-bin/dispatcher.pl b/cgi-bin/dispatcher.pl index 11a1d59..b563dc5 100755 --- a/cgi-bin/dispatcher.pl +++ b/cgi-bin/dispatcher.pl @@ -83,6 +83,11 @@ debug( "LANGUAGES=@LANGUAGES header=". bindtextdomain ( 'pdo', $LOCALES ); textdomain( 'pdo' ); +if ($ENV{is_reportbug}) { + $input->param('exact', 1); + debug( "reportbug detected, set paramater exact to '1'" ) if DEBUG; +} + my $what_to_do = 'show'; my $source = 0; if (my $path = $input->path_info() || $input->param('PATH_INFO')) { @@ -125,7 +130,7 @@ if (my $path = $input->path_info() || $input->param('PATH_INFO')) { sid => 'unstable', ); my %SECTIONS = map { $_ => 1 } @SECTIONS; my %ARCHIVES = map { $_ => 1 } @ARCHIVES; - my %ARCHITECTURES = map { $_ => 1 } (@ARCHITECTURES, 'all'); + my %ARCHITECTURES = map { $_ => 1 } (@ARCHITECTURES, 'all', 'any'); my %PRIORITIES = map { $_ => 1 } @PRIORITIES; my %params_set; sub set_param_once { @@ -158,7 +163,8 @@ if (my $path = $input->path_info() || $input->param('PATH_INFO')) { } elsif (!$need_pkg && ($_ eq 'source')) { set_param_once( $input, \%params_set, 'source', 1); } elsif ($ARCHITECTURES{$_}) { - set_param_once( $input, \%params_set, 'arch', $_); + set_param_once( $input, \%params_set, 'arch', $_) + unless $_ eq 'any'; } elsif ($PRIORITIES{$_}) { set_param_once( $input, \%params_set, 'priority', $_); } else { @@ -260,7 +266,7 @@ my $template = new Packages::Template( $TEMPLATEDIR, $opts{format}, { lang => $o unless (-e "$TEMPLATEDIR/$opts{format}/${what_to_do}.tmpl") { fatal_error( "requested format not available for this document", - "405 requested format not available"); + "406 requested format not available"); } my (%html_header, %page_content); @@ -289,7 +295,7 @@ unless (@Packages::CGI::fatal_errors) { my $tet1 = new Benchmark; my $tetd = timediff($tet1, $tet0); print $template->trailer( undef, undef, undef, $tetd ); -} elsif ($Packages::CGI::http_code) { +} elsif ($Packages::CGI::http_code && $Packages::CGI::http_code !~ /^2\d\d/) { print $input->header( -charset => $charset, -status => $Packages::CGI::http_code ); } else { # We currently have only an error page in html