Add support for blacklisting common passwords
[lhc/web/wiklou.git] / includes / Setup.php
index 67c99c9..bd20ac3 100644 (file)
@@ -238,7 +238,10 @@ if ( $wgUseInstantCommons ) {
                'class' => 'ForeignAPIRepo',
                'name' => 'wikimediacommons',
                'apibase' => 'https://commons.wikimedia.org/w/api.php',
+               'url' => 'https://upload.wikimedia.org/wikipedia/commons',
+               'thumbUrl' => 'https://upload.wikimedia.org/wikipedia/commons/thumb',
                'hashLevels' => 2,
+               'transformVia404' => true,
                'fetchDescription' => true,
                'descriptionCacheExpiry' => 43200,
                'apiThumbCacheExpiry' => 86400,
@@ -373,6 +376,18 @@ if ( $wgResourceLoaderMaxQueryLength === false ) {
        unset( $suhosinMaxValueLength );
 }
 
+// Ensure the minimum chunk size is less than PHP upload limits or the maximum
+// upload size.
+$wgMinUploadChunkSize = min(
+       $wgMinUploadChunkSize,
+       UploadBase::getMaxUploadSize( 'file' ),
+       UploadBase::getMaxPhpUploadSize(),
+       ( wfShorthandToInteger(
+               ini_get( 'post_max_size' ) ?: ini_get( 'hhvm.server.max_post_size' ),
+               PHP_INT_MAX
+       ) ?: PHP_INT_MAX ) - 1024 // Leave some room for other POST parameters
+);
+
 /**
  * Definitions of the NS_ constants are in Defines.php
  * @private
@@ -501,6 +516,21 @@ MWExceptionHandler::installHandler();
 
 require_once "$IP/includes/compat/normal/UtfNormalUtil.php";
 
+
+$ps_validation = Profiler::instance()->scopedProfileIn( $fname . '-validation' );
+
+// T48998: Bail out early if $wgArticlePath is non-absolute
+if ( !preg_match( '/^(https?:\/\/|\/)/', $wgArticlePath ) ) {
+       throw new FatalError(
+               'If you use a relative URL for $wgArticlePath, it must start ' .
+               'with a slash (<code>/</code>).<br><br>See ' .
+               '<a href="https://www.mediawiki.org/wiki/Manual:$wgArticlePath">' .
+               'https://www.mediawiki.org/wiki/Manual:$wgArticlePath</a>.'
+       );
+}
+
+Profiler::instance()->scopedProfileOut( $ps_validation );
+
 $ps_default2 = Profiler::instance()->scopedProfileIn( $fname . '-defaults2' );
 
 if ( $wgCanonicalServer === false ) {
@@ -612,7 +642,10 @@ $wgMemc = wfGetMainCache();
 $messageMemc = wfGetMessageCacheStorage();
 $parserMemc = wfGetParserCacheStorage();
 
-wfDebugLog( 'caches', 'main: ' . get_class( $wgMemc ) .
+wfDebugLog( 'caches',
+       'cluster: ' . get_class( $wgMemc ) .
+       ', WAN: ' . $wgMainWANCache .
+       ', stash: ' . $wgMainStash .
        ', message: ' . get_class( $messageMemc ) .
        ', parser: ' . get_class( $parserMemc ) );
 
@@ -680,7 +713,7 @@ $wgTitle = null;
 Profiler::instance()->scopedProfileOut( $ps_globals );
 $ps_extensions = Profiler::instance()->scopedProfileIn( $fname . '-extensions' );
 
-// Extension setup functions for extensions other than skins
+// Extension setup functions
 // Entries should be added to this variable during the inclusion
 // of the extension file. This allows the extension to perform
 // any necessary initialisation in the fully initialised environment