X-Git-Url: https://git.ladys.computer/Gitweb/blobdiff_plain/69896a0d1b94c7151bd49c09da0badc7e95a12e8951109489ebf21250ab3ff03..54662541d61382cd66330a3f0d9920b0aec89e8ef38718737db3414f5f34e0d5:/gitweb.perl diff --git a/gitweb.perl b/gitweb.perl index 4a8d5e6..a9e0180 100755 --- a/gitweb.perl +++ b/gitweb.perl @@ -472,9 +472,6 @@ if (defined $searchtype) { our $searchtext = $cgi->param('s'); our $search_regexp; if (defined $searchtext) { - if ($searchtype ne 'grep' and $searchtype ne 'pickaxe' and $searchtext =~ m/[^a-zA-Z0-9_\.\/\-\+\:\@ ]/) { - die_error(undef, "Invalid search parameter"); - } if (length($searchtext) < 2) { die_error(undef, "At least two characters are required for search parameter"); } @@ -630,7 +627,13 @@ sub href(%) { for (my $i = 0; $i < @mapping; $i += 2) { my ($name, $symbol) = ($mapping[$i], $mapping[$i+1]); if (defined $params{$name}) { - push @result, $symbol . "=" . esc_param($params{$name}); + if (ref($params{$name}) eq "ARRAY") { + foreach my $par (@{$params{$name}}) { + push @result, $symbol . "=" . esc_param($par); + } + } else { + push @result, $symbol . "=" . esc_param($params{$name}); + } } } $href .= "?" . join(';', @result) if scalar @result; @@ -1510,6 +1513,7 @@ sub git_get_projects_list { File::Find::find({ follow_fast => 1, # follow symbolic links + follow_skip => 2, # ignore duplicates dangling_symlinks => 0, # ignore dangling symlinks, silently wanted => sub { # skip project-list toplevel, if we get it. @@ -3416,7 +3420,7 @@ sub git_project_list_body { "
| description | " . esc_html($descr) . " |
| owner | $owner |
| owner | " . esc_html($owner) . " |
| last change | $cd{'rfc2822'} |