Bug 513989 - large search query causing internal server error (500) but valid redirect 302 returned
r=mkanat,a=mkanat git-svn-id: svn://10.0.0.236/branches/BUGZILLA-3_6-BRANCH@259872 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
55473bb9e1
commit
b68487d1cf
@ -1 +1 @@
|
||||
7009
|
||||
7010
|
||||
@ -171,6 +171,8 @@ use File::Basename;
|
||||
|
||||
PASSWORD_DIGEST_ALGORITHM
|
||||
PASSWORD_SALT_LENGTH
|
||||
|
||||
CGI_URI_LIMIT
|
||||
);
|
||||
|
||||
@Bugzilla::Constants::EXPORT_OK = qw(contenttypes);
|
||||
@ -495,6 +497,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.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user