Output cache-control headers that disable intermediate caching even if
OutputPage->mEnableClientCache is true when the response includes
set-cookie headers as well. This change mirrors logic that has been in
use on the Wikimedia Foundation production cluster's Varnish cache
system for over 2 years to guard against accidentally caching backend
responses which include Set-Cookie headers.
Co-Author: Max Semenik <maxsem.wiki@gmail.com>
Bug: T127993
Change-Id: I1a0d38a5b9dba754b91a7832371b3dc0df51bd5a
Remove optimization that avoids unstubbing $wgUser because $wgUser
is not a plain object for the current user name.
It's a stub with mFrom='session' until methods are called that need
the info, such as getName(), which then lazy loads the object based on
the session information.
We want to make load.php session-less.
Bug: T127233
Change-Id: Ica482e5d1892cb29456e6f2a91cd70017cf414c5
If you have MediaWiki installed in the root of the domain, then
$wgScriptPath and $wgResourceBasePath is an empty string. In HHVM and
PHP, passing an empty string as the second parameter of strpos() causes
a warning and returns false, which will cause the condition to fail, as
if the path were not within the base path.
So, normalize such paths. Using substr() instead of strpos() for a
"starts with" check would have worked except that RelPath also fails
when given an empty string.
Bug: T127652
Change-Id: If7e94ae638d6834f7cc0f31f67a5fe6a2f74771c
When an entry point specifies MW_NO_SESSION, actually enforce that by
having both SessionManager and PHP's session handling (session_start()
and friends) throw exceptions.
If an entry point needs the old behavior of using PHP's default session
handling (as defined in php.ini), it should define
MW_NO_SESSION_HANDLER instead of or in addition to MW_NO_SESSION.
This also makes PHPSessionHandler be installed in CLI mode, where it
wasn't installed before.
Bug: T127233
Change-Id: I2a3db06ee8e44a044096c57a819b5fd5e51c5c5c
Two things were wrong here:
1. SessionManager shouldn't override the configured logger of the
underlying store.
2. CachedBagOStuff shouldn't override the configured logger of the
backend store on construction.
Change-Id: I24ed5a81d5b238a42934a7890dd8d0a9f9bb3b6f
* Brings us closer to the html5 attribute parsing algorithm described
in http://www.w3.org/TR/html5/syntax.html#before-attribute-value-state
* There's a similar patch for the Parsoid in,
I2160a23b2a3c914eb369347bbf5d58328440041d
* The spec says <div class= style="123">hi</div> should parse as
<div class="style=\"123\"">hi</div>, which it now does, whereas it
used to yield <div class="" style="123">hi</div>.
* Merge with caution. This is going to break pages like,
frwikisource/La_Mirlitantouille_(Lenotre)?oldid=4669681
Bug: T108134
Change-Id: Ic2fc1b573a55a847e6c05707678b58c1189ecc52
URL encoding is here handled by getFullURL so calling wfUrlencode resulted in
double-encoding.
Bug: T127091
Change-Id: Ibc32afb80bd220b87d2c4a816398cc10345e7ac4
This breaks out the toggle checkbox code into a separate class in
includes/ListToggle.php
Bug: T92230
Change-Id: I8d1aefb83008053e63d59abf8b8915b93e15fcc2
Seems these got accidently added as inline items, even though they
should be and are output as empty elements. This should correct that.
Bug: T122787
Change-Id: I6e75529c9d349050479c1b7ad758320d1e948e78
This way, they automatically bypass any stale client or server cache.
Remove an old wfExpandUrl() call that would interfere with
transformResourcePath()'s ability to recognise the path.
Expanding the url there wasn't needed anyway. Whether it's on a separate host
(eg. bits.wikimedia.org), or path-absolute, either way works as-is.
Bug: T90983
Change-Id: I64eb3291adcfc3733ef96690399c09c06e19b3aa
This function was added in PHP 5.4.0 and can be used now that MediaWiki
only works with PHP 5.5.9 or higher.
Also fixed a bug in ApiQueryCategoryMembers::validateHexSortkey() that
allowed a single line feed at the end of the string to pass.
Change-Id: I5b577e7dcc5fb6a06ab550429aae657dbcc79083
Most projects override this anyway, but for default installs, let's
be consistent with other warning messages so it's clearer what is
going on.
Bug: T127403
Change-Id: I22c51a46a249247abccda709d74356e8e31a19a8