Merge "Fix interpretation of "A-type" password hashes"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 14 Nov 2016 16:43:18 +0000 (16:43 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 14 Nov 2016 16:43:18 +0000 (16:43 +0000)
includes/auth/LocalPasswordPrimaryAuthenticationProvider.php
includes/password/MWOldPassword.php

index 88df68d..b68c368 100644 (file)
@@ -104,7 +104,7 @@ class LocalPasswordPrimaryAuthenticationProvider
                // The old hash format was just an md5 hex hash, with no type information
                if ( preg_match( '/^[0-9a-f]{32}$/', $row->user_password ) ) {
                        if ( $this->config->get( 'PasswordSalt' ) ) {
-                               $row->user_password = ":A:{$row->user_id}:{$row->user_password}";
+                               $row->user_password = ":B:{$row->user_id}:{$row->user_password}";
                        } else {
                                $row->user_password = ":A:{$row->user_password}";
                        }
index 84675c1..360485e 100644 (file)
@@ -36,14 +36,8 @@ class MWOldPassword extends ParameterizedPassword {
        }
 
        public function crypt( $plaintext ) {
-               global $wgPasswordSalt;
-
-               if ( $wgPasswordSalt && count( $this->args ) === 1 ) {
-                       $this->hash = md5( $this->args[0] . '-' . md5( $plaintext ) );
-               } else {
-                       $this->args = [];
-                       $this->hash = md5( $plaintext );
-               }
+               $this->args = [];
+               $this->hash = md5( $plaintext );
 
                if ( !is_string( $this->hash ) || strlen( $this->hash ) < 32 ) {
                        throw new PasswordError( 'Error when hashing password.' );