X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FOutputPage.php;h=93ba702238f4f50d56dcfa865e637d5d4fc85ce8;hb=ed7977d6b6091795094803b3fd0c4afe6b9bea4c;hp=97165b46130401a79695f4333d9fbaaa030da419;hpb=072e84d2480446f3b76c6cffe9cd414de5b0860c;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 97165b4613..93ba702238 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -21,6 +21,7 @@ */ use MediaWiki\Logger\LoggerFactory; +use MediaWiki\Session\SessionManager; use WrappedString\WrappedString; /** @@ -1977,11 +1978,9 @@ class OutputPage extends ContextSource { if ( $cookies === null ) { $config = $this->getConfig(); $cookies = array_merge( + SessionManager::singleton()->getVaryCookies(), array( - $config->get( 'CookiePrefix' ) . 'Token', - $config->get( 'CookiePrefix' ) . 'LoggedOut', - "forceHTTPS", - session_name() + 'forceHTTPS', ), $config->get( 'CacheVaryCookies' ) ); @@ -2033,6 +2032,9 @@ class OutputPage extends ContextSource { * @return string */ public function getVaryHeader() { + foreach ( SessionManager::singleton()->getVaryHeaders() as $header => $options ) { + $this->addVaryHeader( $header, $options ); + } return 'Vary: ' . join( ', ', array_keys( $this->mVaryHeader ) ); } @@ -2050,6 +2052,10 @@ class OutputPage extends ContextSource { } $this->addVaryHeader( 'Cookie', $cookiesOption ); + foreach ( SessionManager::singleton()->getVaryHeaders() as $header => $options ) { + $this->addVaryHeader( $header, $options ); + } + $headers = array(); foreach ( $this->mVaryHeader as $header => $option ) { $newheader = $header; @@ -2173,8 +2179,8 @@ class OutputPage extends ContextSource { if ( $this->mEnableClientCache ) { if ( - $config->get( 'UseSquid' ) && session_id() == '' && !$this->isPrintable() && - $this->mCdnMaxage != 0 && !$this->haveCacheVaryCookies() + $config->get( 'UseSquid' ) && !SessionManager::getGlobalSession()->isPersistent() && + !$this->isPrintable() && $this->mCdnMaxage != 0 && !$this->haveCacheVaryCookies() ) { if ( $config->get( 'UseESI' ) ) { # We'll purge the proxy cache explicitly, but require end user agents