X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=lib%2FPackages%2FDispatcher.pm;h=3c0694ab14f40e498ebf9f113fd803b19d81bb18;hb=834d6a08dbcc3b30f2e8f453f5ac6870f48d8fcb;hp=3dcab38719d42f772282f87e748a57658ad93777;hpb=48bb7c72e18783e72ba26002c794e71c15557037;p=deb%2Fpackages.git diff --git a/lib/Packages/Dispatcher.pm b/lib/Packages/Dispatcher.pm index 3dcab38..3c0694a 100755 --- a/lib/Packages/Dispatcher.pm +++ b/lib/Packages/Dispatcher.pm @@ -65,6 +65,13 @@ sub do_dispatch { delete $ENV{'LC_ALL'}; delete $ENV{'LC_MESSAGES'}; + my %SUITES_ALIAS = ( oldstable => 'sarge', + stable => 'etch', + testing => 'lenny', + unstable => 'sid', + '3.1' => 'sarge', + '4.0' => 'etch' ); + # Read in all the variables set by the form my $input; if ($ARGV[0] && ($ARGV[0] eq 'php')) { @@ -131,7 +138,7 @@ sub do_dispatch { my $what_to_do = 'show'; my $source = 0; - if (my $path = $input->path_info() || $input->param('PATH_INFO')) { + if (my $path = $ENV{'PATH_INFO'} || $input->param('PATH_INFO')) { my @components = grep { $_ } map { lc $_ } split /\/+/, $path; debug( "PATH_INFO=$path components=@components", 3) if DEBUG; @@ -168,10 +175,6 @@ sub do_dispatch { } my %SUITES = map { $_ => 1 } @SUITES; - my %SUITES_ALIAS = ( sarge => 'oldstable', - etch => 'stable', - lenny => 'testing', - sid => 'unstable', ); my %SECTIONS = map { $_ => 1 } @SECTIONS; my %ARCHIVES = map { $_ => 1 } @ARCHIVES; my %ARCHITECTURES = map { $_ => 1 } (@ARCHITECTURES, 'all', 'any'); @@ -223,8 +226,9 @@ sub do_dispatch { } # else if (@components == 1) if (@components) { - $input->param( 'keywords', $components[0] ); - $input->param( 'package', $components[0] ); + my $c = uri_unescape($components[0]); + $input->param( 'keywords', $c ); + $input->param( 'package', $c ); } } @@ -240,7 +244,8 @@ sub do_dispatch { suite => { default => 'default', match => '^([\w-]+)$', array => ',', var => \@suites, replace => { all => \@SUITES, - default => \@SUITES } }, + default => \@SUITES, + %SUITES_ALIAS } }, archive => { default => ($what_to_do eq 'search') ? 'all' : 'default', match => '^([\w-]+)$',