Commit b30aeba0 authored by Dave Lawrence's avatar Dave Lawrence Committed by David Lawrence

Bug 513989 - large search query causing internal server error (500) but valid redirect 302 returned

r=mkanat, a=mkanat
parent 8d0710ac
......@@ -173,6 +173,8 @@ use File::Basename;
PASSWORD_DIGEST_ALGORITHM
PASSWORD_SALT_LENGTH
CGI_URI_LIMIT
);
@Bugzilla::Constants::EXPORT_OK = qw(contenttypes);
......@@ -515,6 +517,11 @@ use constant PASSWORD_DIGEST_ALGORITHM => 'SHA-256';
# of your users will be able to log in until they reset their passwords.
use constant PASSWORD_SALT_LENGTH => 8;
# Certain scripts redirect to GET even if the form was submitted originally
# via POST such as buglist.cgi. This value determines whether the redirect
# can be safely done or not based on the web server's URI length setting.
use constant CGI_URI_LIMIT => 10000;
sub bz_locations {
# We know that Bugzilla/Constants.pm must be in %INC at this point.
# So the only question is, what's the name of the directory
......
......@@ -85,9 +85,11 @@ if (grep { $_ =~ /^cmd\-/ } $cgi->param()) {
#
if ($cgi->request_method() eq 'POST') {
$cgi->clean_search_url();
print $cgi->redirect(-url => $cgi->self_url());
exit;
my $uri_length = length($cgi->self_url());
if ($uri_length < CGI_URI_LIMIT) {
print $cgi->redirect(-url => $cgi->self_url());
exit;
}
}
# Determine whether this is a quicksearch query.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment