From 40e18e45343ca4d1366837c2f55be63d7bf4f7d2 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Wed, 5 Jun 2013 01:02:10 +0200 Subject: [PATCH] Installer: Remove wgResourceLoaderMaxQueryLength in LocalSettings This can change from one web server to another. Hardcoding it in LocalSettings is unnececary (and could even cause problems when a MediaWiki install is moved to a server with a lower limit than the original server, as ResourceLoader would still be acting on the old limit). Similar to how wgUsePathInfo is currently dynamically set. The less cruft in LocalSettings by default the better imho. Except for stuff that makes sense to be sticky, explicit and cached. Or stuff that is every commonly enabled and is therefor convinient (such as wgEnableUploads/wgUseInstantCommons). Change-Id: I58cb185f8dc1650a76c60c7fd04767fb74b32be2 --- includes/DefaultSettings.php | 4 +++- includes/Setup.php | 7 +++++++ includes/installer/Installer.php | 16 +++++----------- includes/installer/LocalSettingsGenerator.php | 6 ------ 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 58eb3d7ec3..528eb9ec68 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -3036,8 +3036,10 @@ $wgLegacyJavaScriptGlobals = true; * * If set to a negative number, ResourceLoader will assume there is no query * string length limit. + * + * Defaults to a value based on php configuration. */ -$wgResourceLoaderMaxQueryLength = -1; +$wgResourceLoaderMaxQueryLength = false; /** * If set to true, JavaScript modules loaded from wiki pages will be parsed diff --git a/includes/Setup.php b/includes/Setup.php index d8c9180685..028758f935 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -293,6 +293,13 @@ if ( $wgMetaNamespace === false ) { $wgMetaNamespace = str_replace( ' ', '_', $wgSitename ); } + +// Default value is either the suhosin limit or -1 for unlimited +if ( $wgResourceLoaderMaxQueryLength === false ) { + $maxValueLength = ini_get( 'suhosin.get.max_value_length' ); + $wgResourceLoaderMaxQueryLength = $maxValueLength > 0 ? $maxValueLength : -1; +} + /** * Definitions of the NS_ constants are in Defines.php * @private diff --git a/includes/installer/Installer.php b/includes/installer/Installer.php index b1517e43af..83627724d2 100644 --- a/includes/installer/Installer.php +++ b/includes/installer/Installer.php @@ -1075,22 +1075,16 @@ abstract class Installer { } /** - * Checks if suhosin.get.max_value_length is set, and if so, sets - * $wgResourceLoaderMaxQueryLength to that value in the generated - * LocalSettings file + * Checks if suhosin.get.max_value_length is set, and if so generate + * a warning because it decreases ResourceLoader performance. * @return bool */ protected function envCheckSuhosinMaxValueLength() { $maxValueLength = ini_get( 'suhosin.get.max_value_length' ); - if ( $maxValueLength > 0 ) { - if ( $maxValueLength < 1024 ) { - # Only warn if the value is below the sane 1024 - $this->showMessage( 'config-suhosin-max-value-length', $maxValueLength ); - } - } else { - $maxValueLength = -1; + if ( $maxValueLength > 0 && $maxValueLength < 1024 ) { + // Only warn if the value is below the sane 1024 + $this->showMessage( 'config-suhosin-max-value-length', $maxValueLength ); } - $this->setVar( 'wgResourceLoaderMaxQueryLength', $maxValueLength ); return true; } diff --git a/includes/installer/LocalSettingsGenerator.php b/includes/installer/LocalSettingsGenerator.php index 3a9bfe8b4a..cca8a4a903 100644 --- a/includes/installer/LocalSettingsGenerator.php +++ b/includes/installer/LocalSettingsGenerator.php @@ -349,12 +349,6 @@ if ( !defined( 'MEDIAWIKI' ) ) { # Path to the GNU diff3 utility. Used for conflict resolution. \$wgDiff3 = \"{$this->values['wgDiff3']}\"; -# Query string length limit for ResourceLoader. You should only set this if -# your web server has a query string length limit (then set it to that limit), -# or if you have suhosin.get.max_value_length set in php.ini (then set it to -# that value) -\$wgResourceLoaderMaxQueryLength = {$this->values['wgResourceLoaderMaxQueryLength']}; - {$groupRights}"; } -- 2.20.1