X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22articles_versions%22%2C%22id_article=%24id_article%22%29%20.%20%22?a=blobdiff_plain;f=includes%2Fapi%2FApiLogin.php;h=55edd99bb3ca955b8d3c6d0e3ac75c0b7ed1ebd1;hb=fc7d715b4b5adedd0ae3e9e6f969c89e19d460eb;hp=9bc0b3a4339549cb06b91582129f2e20814eab7d;hpb=a3dacac90f19f1d0cb613919ecc1b2947428a19b;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiLogin.php b/includes/api/ApiLogin.php index 9bc0b3a433..55edd99bb3 100644 --- a/includes/api/ApiLogin.php +++ b/includes/api/ApiLogin.php @@ -110,17 +110,18 @@ class ApiLogin extends ApiBase { } // Try bot passwords - if ( $authRes === false && $this->getConfig()->get( 'EnableBotPasswords' ) && - strpos( $params['name'], BotPassword::getSeparator() ) !== false + if ( + $authRes === false && $this->getConfig()->get( 'EnableBotPasswords' ) && + ( $botLoginData = BotPassword::canonicalizeLoginData( $params['name'], $params['password'] ) ) ) { $status = BotPassword::login( - $params['name'], $params['password'], $this->getRequest() + $botLoginData[0], $botLoginData[1], $this->getRequest() ); if ( $status->isOK() ) { $session = $status->getValue(); $authRes = 'Success'; $loginType = 'BotPassword'; - } else { + } elseif ( !$botLoginData[2] ) { $authRes = 'Failed'; $message = $status->getMessage(); LoggerFactory::getInstance( 'authentication' )->info(