X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmes_infos.php?a=blobdiff_plain;f=includes%2Fpassword%2FPasswordPolicyChecks.php;h=04ee6e9bc9ae1d8dfa5a00031146d039f7194318;hb=519ff1a402992b6254c6788de83066fc067dabf3;hp=837e95978018fef43717e9a906d5208b58b0ec84;hpb=cd789d78b8073fa04983ad284e8e7cebe4296e6e;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/password/PasswordPolicyChecks.php b/includes/password/PasswordPolicyChecks.php index 837e959780..04ee6e9bc9 100644 --- a/includes/password/PasswordPolicyChecks.php +++ b/includes/password/PasswordPolicyChecks.php @@ -22,6 +22,7 @@ use Cdb\Reader as CdbReader; use MediaWiki\MediaWikiServices; +use Wikimedia\PasswordBlacklist; /** * Functions to check passwords against a policy requirement @@ -167,4 +168,25 @@ class PasswordPolicyChecks { return $status; } + /** + * Ensure the password isn't in the list of passwords blacklisted by the + * wikimedia/password-blacklist library + * + * @param bool $policyVal Whether to apply this policy + * @param User $user + * @param string $password + * + * @since 1.33 + * + * @return Status + */ + public static function checkPasswordNotInLargeBlacklist( $policyVal, User $user, $password ) { + $status = Status::newGood(); + if ( $policyVal && PasswordBlacklist\PasswordBlacklist::isBlacklisted( $password ) ) { + $status->error( 'passwordinlargeblacklist' ); + } + + return $status; + } + }