From: Dylan Hardison Date: Wed, 4 Nov 2015 03:09:25 +0000 (-0500) Subject: Bug 1219750 - Allow Apache2::SizeLimit to be configured via params X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=338bad479a7b75c656e0c99438629322cc9b8721;p=thirdparty%2Fbugzilla.git Bug 1219750 - Allow Apache2::SizeLimit to be configured via params --- diff --git a/Bugzilla/Install/Localconfig.pm b/Bugzilla/Install/Localconfig.pm index dbc0624d3..0ca40ed1b 100644 --- a/Bugzilla/Install/Localconfig.pm +++ b/Bugzilla/Install/Localconfig.pm @@ -126,6 +126,10 @@ use constant LOCALCONFIG_VARS => ( shadowdbsock => undef, }, }, + { + name => 'apache_size_limit', + default => 250000, + }, ); sub read_localconfig { diff --git a/mod_perl.pl b/mod_perl.pl index be4f18bdf..f283006cc 100644 --- a/mod_perl.pl +++ b/mod_perl.pl @@ -58,14 +58,19 @@ BEGIN { *CORE::GLOBAL::warn = \&Apache2::ServerRec::warn; } Bugzilla::CGI->compile(qw(:cgi :push)); use Apache2::SizeLimit; + # This means that every httpd child will die after processing a request if it -# is taking up more than 700MB of RAM all by itself, not counting RAM it is +# is taking up more than $apache_size_limit of RAM all by itself, not counting RAM it is # sharing with the other httpd processes. -if (Bugzilla->params->{'urlbase'} eq 'https://bugzilla.mozilla.org/') { - Apache2::SizeLimit->set_max_unshared_size(700_000); -} else { - Apache2::SizeLimit->set_max_unshared_size(250_000); +my $apache_size_limit = 250_000; +if (Bugzilla->localconfig->{apache_size_limit}) { + $apache_size_limit = Bugzilla->localconfig->{apache_size_limit}; +} +elsif (Bugzilla->params->{'urlbase'} eq 'https://bugzilla.mozilla.org/') { + $apache_size_limit = 700_000; } +else +Apache2::SizeLimit->set_max_unshared_size($apache_size_limit); my $cgi_path = Bugzilla::Constants::bz_locations()->{'cgi_path'}; diff --git a/template/en/default/setup/strings.txt.pl b/template/en/default/setup/strings.txt.pl index 72ffb4a4d..d7c7e0500 100644 --- a/template/en/default/setup/strings.txt.pl +++ b/template/en/default/setup/strings.txt.pl @@ -280,6 +280,10 @@ and you cannot set this up any other way. YOU HAVE BEEN WARNED! If you set this to anything other than "", you will need to run checksetup.pl as ##root## or as a user who is a member of the specified group. END + localconfig_apache_size_limit => < <