summaryrefslogtreecommitdiffstats
path: root/mod_perl.pl
diff options
context:
space:
mode:
Diffstat (limited to 'mod_perl.pl')
-rw-r--r--mod_perl.pl20
1 files changed, 16 insertions, 4 deletions
diff --git a/mod_perl.pl b/mod_perl.pl
index f3dae34c1..dd092d791 100644
--- a/mod_perl.pl
+++ b/mod_perl.pl
@@ -59,9 +59,13 @@ Bugzilla::CGI->compile(qw(:cgi :push));
use Apache2::SizeLimit;
# This means that every httpd child will die after processing
-# a CGI if it is taking up more than 45MB of RAM all by itself,
+# a CGI if it is taking up more than 1600MB of RAM all by itself,
# not counting RAM it is sharing with the other httpd processes.
-Apache2::SizeLimit->set_max_unshared_size(45_000);
+if (Bugzilla->params->{'urlbase'} eq 'https://bugzilla.mozilla.org/') {
+ Apache2::SizeLimit->set_max_unshared_size(600_000);
+} else {
+ Apache2::SizeLimit->set_max_unshared_size(250_000);
+}
my $cgi_path = Bugzilla::Constants::bz_locations()->{'cgi_path'};
@@ -80,7 +84,7 @@ PerlChildInitHandler "sub { Bugzilla::RNG::srand(); srand(); }"
PerlResponseHandler Bugzilla::ModPerl::ResponseHandler
PerlCleanupHandler Apache2::SizeLimit Bugzilla::ModPerl::CleanupHandler
PerlOptions +ParseHeaders
- Options +ExecCGI
+ Options +ExecCGI +FollowSymLinks
AllowOverride Limit FileInfo Indexes
DirectoryIndex index.cgi index.html
</Directory>
@@ -118,6 +122,7 @@ package Bugzilla::ModPerl::ResponseHandler;
use strict;
use base qw(ModPerl::Registry);
use Bugzilla;
+use Bugzilla::Constants qw(USAGE_MODE_REST);
sub handler : method {
my $class = shift;
@@ -135,7 +140,14 @@ sub handler : method {
use warnings;
Bugzilla::init_page();
- return $class->SUPER::handler(@_);
+ my $result = $class->SUPER::handler(@_);
+
+ # When returning data from the REST api we must only return 200 or 304,
+ # which tells Apache not to append its error html documents to the
+ # response.
+ return Bugzilla->usage_mode == USAGE_MODE_REST && $result != 304
+ ? Apache2::Const::OK
+ : $result;
}