When the local wiki is accessed in HTTP, clicking an external link
starting with // will (if this is the first visit) do an unencrypted
HTTP call to the target server before being redirected to the HTTPS
version, potentially allowing a man in the middle attack.
This commit changes the URI scheme to https: for every link with HSTS
enabled in the codebase, namely www.mediawiki.org, *.wikimedia.org,
*.wikipedia.org, translatewiki.net and bugs.php.net.
Change-Id: I002b502952f32fb49823e18b281252977ecca8cf
Just because the file exists doesn't mean that we can run.
Use is_executable(), a one-shot check for both existence and executability.
Change-Id: I705010b01cd3a17c3950eebae3066d7b007f706e
This fixes three issues with the installer:
1) Make sure LocalizationCache can find the installer's i18n files.
2) Make sure we don't try to use an SqlBagOStuff for caching before we have
a functioning database.
3) Don't try to output HTML when redirecting (this is unrelated to
MediaWikiServices, but came up during testing)
Bug: T135169
Change-Id: I7caa932024cd771d6fa226a3ac6001c3148ecc9c
The old style with visibilty:hidden does not let the enter button do the
submit in IE. The new style works in IE. Tested also with FF and Opera.
Change-Id: I7f86217c2905dabc6d222b3d7b896159b204db0a
Right now we have a slew of foreign key violations whenever we try to
delete something due to the way MediaWiki handles page
deletions. Let's remove those foreign keys from places where IDs are
maintained even though the records they are pointing to have been deleted.
Also, work has begun on the massive (re)naming of every constraint in the
schema, so that icky hacks like those employed in these patch files don't
need to be used in the future; rather, we can simply refer to the
constraints by name.
Change-Id: I79938d36a8e35debd3e27052d8ef0e3e6c32f40c
(This is part of I6ec374ac9 wich was a re-submit of Ie98bf5af5
which got reverted by Ide7ab563)
This change provides a mechanism to reset global service instances
in an orderly manner. There are three use cases for this:
* the installation process
* integration tests (which most of the existing phpunit tests are)
In contrast to I6ec374ac9, this change does not cause singeltons
of legacy services to be reset. It is assumed that legacy services
use global state to access services and configuration, so any
change in confuguration would affect them immediately.
NOTE: the original I6ec374ac9 would cause session information to
get lost if the user session was creatsed before initialization
was complete. This was apparently triggered by the MobileFrontend
extension under some circumstances. Check with Addshore and Catrope.
Change-Id: Ie06782ffb96e675c0aa55dc26fb8f22037e8517d
The MSSQL schema is now brought in-line with the MySQL schema.
Additionally, various issues that prevented successful installation or
updates via MSSQL were fixed, notably with respect to creating bits of
the database should other bits already exist as well as issues with
previous updater patches not working correctly.
Additional MSSQL bugfixes will come in separate patches, as they are less
related to the schema/install/upgrade process.
Change-Id: If3eea625499d3cb14abba40f528208173067a53a
Right now, any errors from inserting the main page are silently ignored by
the installer, causing it to report success even in case of failure. Let's
fix that.
Change-Id: I1da3aa076eefa212b5cc0f796a48f944e8c06fd2
This change provides a mechanism to reset global service instances
in an orderly manner. There are three use cases for this:
* the installation process
* forking processes
* integration tests (which must of the existing phpunit tests are)
Depends-On: I5d638ad415fc3840186a0beaa09ac02ea688539b
Change-Id: Ie98bf5af59208f186dba59a9e971c72ea0b63e69
In the age when we require PHP 5.5, pretending that mbstring emulation
is not slow and silly is silly.
Bug: T129435
Change-Id: Ic8235c9da9a926df63ec7388900c44eab454eebe
We want to update categories in order, to minimize disruption
to users. Previous indexes required a filesort to do this, which
exploded things on large wikis. See bug for details
Bug: T58041
Change-Id: Iee6cd997ff87a313a46fda19d8ab063d0fed8ce8