X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSetup.php;h=f73e686a28f8b896854a313d811d8a1032c964a2;hb=b191e5e860f24e1dd05e3d3d782364e4ea75b176;hp=6825c7b70ff79ac4e9ce1f7f3b071ebcdf67e24e;hpb=b1b0070dc7557311cc38e7cc99e4231ac4b92940;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Setup.php b/includes/Setup.php index 6825c7b70f..f73e686a28 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -24,6 +24,8 @@ * @file */ use MediaWiki\MediaWikiServices; +use Wikimedia\Rdbms\LBFactory; +use Wikimedia\Rdbms\ChronologyProtector; /** * This file is not a valid entry point, perform no further processing unless @@ -361,12 +363,6 @@ foreach ( $wgForeignFileRepos as &$repo ) { } unset( $repo ); // no global pollution; destroy reference -// Convert this deprecated setting to modern system -if ( $wgExperimentalHtmlIds ) { - wfDeprecated( '$wgExperimentalHtmlIds', '1.30' ); - $wgFragmentMode = [ 'html5-legacy', 'html5' ]; -} - $rcMaxAgeDays = $wgRCMaxAge / ( 3600 * 24 ); if ( $wgRCFilterByAge ) { // Trim down $wgRCLinkDays so that it only lists links which are valid @@ -631,10 +627,6 @@ define( 'MW_SERVICE_BOOTSTRAP_COMPLETE', 1 ); 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 foreach ( [ 'wgArticlePath', 'wgVariantArticlePath' ] as $varName ) { if ( $$varName && !preg_match( '/^(https?:\/\/|\/)/', $$varName ) ) { @@ -647,8 +639,6 @@ foreach ( [ 'wgArticlePath', 'wgVariantArticlePath' ] as $varName ) { } } -Profiler::instance()->scopedProfileOut( $ps_validation ); - $ps_default2 = Profiler::instance()->scopedProfileIn( $fname . '-defaults2' ); if ( $wgCanonicalServer === false ) { @@ -709,7 +699,7 @@ if ( $wgMainWANCache === false ) { Profiler::instance()->scopedProfileOut( $ps_default2 ); -$ps_misc = Profiler::instance()->scopedProfileIn( $fname . '-misc1' ); +$ps_misc = Profiler::instance()->scopedProfileIn( $fname . '-misc' ); // Raise the memory limit if it's too low wfMemoryLimit(); @@ -744,9 +734,15 @@ MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->setRequestInfo( [ 'IPAddress' => $wgRequest->getIP(), 'UserAgent' => $wgRequest->getHeader( 'User-Agent' ), 'ChronologyProtection' => $wgRequest->getHeader( 'ChronologyProtection' ), - // The cpPosIndex cookie has no prefix and is set by MediaWiki::preOutputCommit() - 'ChronologyPositionIndex' => - $wgRequest->getInt( 'cpPosIndex', (int)$wgRequest->getCookie( 'cpPosIndex', '' ) ) + 'ChronologyPositionIndex' => $wgRequest->getInt( + 'cpPosIndex', + LBFactory::getCPIndexFromCookieValue( + // The cookie has no prefix and is set by MediaWiki::preOutputCommit() + $wgRequest->getCookie( 'cpPosIndex', '' ), + // Mitigate broken client-side cookie expiration handling (T190082) + time() - ChronologyProtector::POSITION_COOKIE_TTL + ) + ) ] ); // Make sure that object caching does not undermine the ChronologyProtector improvements if ( $wgRequest->getCookie( 'UseDC', '' ) === 'master' ) { @@ -772,9 +768,6 @@ if ( $wgCommandLineMode ) { wfDebug( $debug ); } -Profiler::instance()->scopedProfileOut( $ps_misc ); -$ps_memcached = Profiler::instance()->scopedProfileIn( $fname . '-memcached' ); - $wgMemc = wfGetMainCache(); $messageMemc = wfGetMessageCacheStorage(); @@ -793,7 +786,7 @@ wfDebugLog( 'caches', ', session: ' . get_class( ObjectCache::getInstance( $wgSessionCacheType ) ) ); -Profiler::instance()->scopedProfileOut( $ps_memcached ); +Profiler::instance()->scopedProfileOut( $ps_misc ); // Most of the config is out, some might want to run hooks here. Hooks::run( 'SetupAfterCache' ); @@ -825,8 +818,6 @@ if ( $wgAuth && !$wgAuth instanceof MediaWiki\Auth\AuthManagerAuthPlugin ) { ], '$wgAuth is ' . get_class( $wgAuth ) ); } -// Set up the session -$ps_session = Profiler::instance()->scopedProfileIn( $fname . '-session' ); /** * @var MediaWiki\Session\SessionId|null $wgInitialSessionId The persistent * session ID (if any) loaded at startup @@ -890,7 +881,6 @@ if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) { ); } } -Profiler::instance()->scopedProfileOut( $ps_session ); /** * @var User $wgUser @@ -927,22 +917,7 @@ $ps_extensions = Profiler::instance()->scopedProfileIn( $fname . '-extensions' ) // of the extension file. This allows the extension to perform // any necessary initialisation in the fully initialised environment foreach ( $wgExtensionFunctions as $func ) { - // Allow closures in PHP 5.3+ - if ( is_object( $func ) && $func instanceof Closure ) { - $profName = $fname . '-extensions-closure'; - } elseif ( is_array( $func ) ) { - if ( is_object( $func[0] ) ) { - $profName = $fname . '-extensions-' . get_class( $func[0] ) . '::' . $func[1]; - } else { - $profName = $fname . '-extensions-' . implode( '::', $func ); - } - } else { - $profName = $fname . '-extensions-' . strval( $func ); - } - - $ps_ext_func = Profiler::instance()->scopedProfileIn( $profName ); call_user_func( $func ); - Profiler::instance()->scopedProfileOut( $ps_ext_func ); } // If the session user has a 0 id but a valid name, that means we need to @@ -950,13 +925,11 @@ foreach ( $wgExtensionFunctions as $func ) { if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) { $sessionUser = MediaWiki\Session\SessionManager::getGlobalSession()->getUser(); if ( $sessionUser->getId() === 0 && User::isValidUserName( $sessionUser->getName() ) ) { - $ps_autocreate = Profiler::instance()->scopedProfileIn( $fname . '-autocreate' ); $res = MediaWiki\Auth\AuthManager::singleton()->autoCreateUser( $sessionUser, MediaWiki\Auth\AuthManager::AUTOCREATE_SOURCE_SESSION, true ); - Profiler::instance()->scopedProfileOut( $ps_autocreate ); \MediaWiki\Logger\LoggerFactory::getInstance( 'authevents' )->info( 'Autocreation attempt', [ 'event' => 'autocreate', 'status' => $res,