Pgehres has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/56079


Change subject: Adding functions to User.php to upgrade password storage on 
login.
......................................................................

Adding functions to User.php to upgrade password storage on login.

Change-Id: If5ca00a19180ca034edb8f9a04efb6469de07d0a
---
A LocalSettings_old.php
M includes/User.php
2 files changed, 147 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/79/56079/1

diff --git a/LocalSettings_old.php b/LocalSettings_old.php
new file mode 100644
index 0000000..d4078c0
--- /dev/null
+++ b/LocalSettings_old.php
@@ -0,0 +1,135 @@
+<?php
+# This file was automatically generated by the MediaWiki 1.21alpha
+# installer. If you make manual changes, please keep track in case you
+# need to recreate them later.
+#
+# See includes/DefaultSettings.php for all configurable settings
+# and their default values, but don't forget to make changes in _this_
+# file, not there.
+#
+# Further documentation for configuration settings may be found at:
+# http://www.mediawiki.org/wiki/Manual:Configuration_settings
+
+# Protect against web entry
+if ( !defined( 'MEDIAWIKI' ) ) {
+       exit;
+}
+
+## Uncomment this to disable output compression
+# $wgDisableOutputCompression = true;
+
+$wgSitename      = "Dev Wiki";
+$wgMetaNamespace = "Dev_Wiki";
+
+## The URL base path to the directory containing the wiki;
+## defaults for all runtime URL paths are based off of this.
+## For more information on customizing the URLs
+## (like /w/index.php/Page_title to /wiki/Page_title) please see:
+## http://www.mediawiki.org/wiki/Manual:Short_URL
+$wgScriptPath       = "";
+$wgScriptExtension  = ".php";
+
+## The protocol and server name to use in fully-qualified URLs
+$wgServer           = "http://core.local";;
+
+## The relative URL path to the skins directory
+$wgStylePath        = "$wgScriptPath/skins";
+
+## The relative URL path to the logo.  Make sure you change this from the 
default,
+## or else you'll overwrite your logo when you upgrade!
+$wgLogo             = "$wgStylePath/common/images/wiki.png";
+
+## UPO means: this is also a user preference option
+
+$wgEnableEmail      = true;
+$wgEnableUserEmail  = true; # UPO
+
+$wgEmergencyContact = "[email protected]";
+$wgPasswordSender   = "[email protected]";
+
+$wgEnotifUserTalk      = false; # UPO
+$wgEnotifWatchlist     = false; # UPO
+$wgEmailAuthentication = true;
+
+## Database settings
+$wgDBtype           = "mysql";
+$wgDBserver         = "localhost";
+$wgDBname           = "core_mediawiki";
+$wgDBuser           = "mediawiki";
+$wgDBpassword       = "wikiwiki123";
+
+# MySQL specific settings
+$wgDBprefix         = "";
+
+# MySQL table options to use during installation or update
+$wgDBTableOptions   = "ENGINE=InnoDB, DEFAULT CHARSET=utf8";
+
+# Experimental charset support for MySQL 5.0.
+$wgDBmysql5 = false;
+
+## Shared memory settings
+$wgMainCacheType    = CACHE_NONE;
+$wgMemCachedServers = array();
+
+## To enable image uploads, make sure the 'images' directory
+## is writable, then set this to true:
+$wgEnableUploads  = true;
+$wgUseImageMagick = true;
+$wgImageMagickConvertCommand = "/usr/bin/convert";
+
+# InstantCommons allows wiki to use images from http://commons.wikimedia.org
+$wgUseInstantCommons  = false;
+
+## If you use ImageMagick (or any other shell command) on a
+## Linux server, this will need to be set to the name of an
+## available UTF-8 locale
+$wgShellLocale = "en_US.utf8";
+
+## If you want to use image uploads under safe mode,
+## create the directories images/archive, images/thumb and
+## images/temp, and make them all writable. Then uncomment
+## this, if it's not already uncommented:
+#$wgHashedUploadDirectory = false;
+
+## Set $wgCacheDirectory to a writable directory on the web server
+## to make your wiki go slightly faster. The directory should not
+## be publically accessible from the web.
+#$wgCacheDirectory = "$IP/cache";
+
+# Site language code, should be one of the list in ./languages/Names.php
+$wgLanguageCode = "en";
+
+$wgSecretKey = 
"300917f9eb53e46e39a1d64ee881a7bb213eaeea1b8c529cb0ebc7f3c8069e62";
+
+# Site upgrade key. Must be set to a string (default provided) to turn on the
+# web installer while LocalSettings.php is in place
+$wgUpgradeKey = "24ed725adca38a1b";
+
+## Default skin: you can change the default skin. Use the internal symbolic
+## names, ie 'standard', 'nostalgia', 'cologneblue', 'monobook', 'vector':
+$wgDefaultSkin = "vector";
+
+## For attaching licensing metadata to pages, and displaying an
+## appropriate copyright notice / icon. GNU Free Documentation
+## License and Creative Commons licenses are supported so far.
+$wgRightsPage = ""; # Set to the title of a wiki page that describes your 
license/copyright
+$wgRightsUrl  = "";
+$wgRightsText = "";
+$wgRightsIcon = "";
+
+# Path to the GNU diff3 utility. Used for conflict resolution.
+$wgDiff3 = "/usr/bin/diff3";
+
+# Query string length limit for ResourceLoader. You should only set this if
+# your web server has a query string length limit (then set it to that limit),
+# or if you have suhosin.get.max_value_length set in php.ini (then set it to
+# that value)
+$wgResourceLoaderMaxQueryLength = -1;
+
+
+
+# End of automatically generated settings.
+# Add more configuration options below.
+
+$wgDebugLogFile = "/tmp/mediawiki-dev.log";
+
diff --git a/includes/User.php b/includes/User.php
index 0e63704..f68bd8a 100644
--- a/includes/User.php
+++ b/includes/User.php
@@ -71,6 +71,11 @@
        const MAX_WATCHED_ITEMS_CACHE = 100;
 
        /**
+        * The current and preferred password storage scheme
+        */
+       const PASSWORD_SCHEME = ":B:";
+
+       /**
         * Array of Strings List of member variables which are saved to the
         * shared cache (memcached). Any operation which changes the
         * corresponding database fields must call a cache-clearing function.
@@ -3424,6 +3429,10 @@
                        return false;
                }
                if ( self::comparePasswords( $this->mPassword, $password, 
$this->mId ) ) {
+                       if ( substr( $this->mPassword, 0, strlen( 
self::PASSWORD_SCHEME ) ) !== self::PASSWORD_SCHEME ) {
+                               /* Update the password storage to the latest 
and greatest scheme */
+                               $this->setInternalPassword( $password );
+                       }
                        return true;
                } elseif ( $wgLegacyEncoding ) {
                        # Some wikis were converted from ISO 8859-1 to UTF-8, 
the passwords can't be converted
@@ -3432,6 +3441,9 @@
                        if ( $cp1252Password != $password &&
                                self::comparePasswords( $this->mPassword, 
$cp1252Password, $this->mId ) )
                        {
+                               /* Update the password storage to the latest 
and greatest scheme in UTF-8 */
+                               $this->setInternalPassword( $password );
+
                                return true;
                        }
                }

-- 
To view, visit https://gerrit.wikimedia.org/r/56079
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If5ca00a19180ca034edb8f9a04efb6469de07d0a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Pgehres <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to