Fix check_password rather than inverting the meaning of _check_local_password (#730)

This commit is contained in:
Mark Haines 2016-04-14 19:00:21 +01:00
parent a4c56bf67b
commit 3c79bdd7a0
1 changed files with 12 additions and 9 deletions

View File

@ -428,24 +428,27 @@ class AuthHandler(BaseHandler):
@defer.inlineCallbacks
def _check_password(self, user_id, password):
defer.returnValue(
not (
(yield self._check_ldap_password(user_id, password))
or
(yield self._check_local_password(user_id, password))
))
"""
Returns:
True if the user_id successfully authenticated
"""
defer.returnValue((
(yield self._check_ldap_password(user_id, password))
or
(yield self._check_local_password(user_id, password))
))
@defer.inlineCallbacks
def _check_local_password(self, user_id, password):
try:
user_id, password_hash = yield self._find_user_id_and_pwd_hash(user_id)
defer.returnValue(not self.validate_hash(password, password_hash))
defer.returnValue(self.validate_hash(password, password_hash))
except LoginError:
defer.returnValue(True)
defer.returnValue(False)
@defer.inlineCallbacks
def _check_ldap_password(self, user_id, password):
if self.ldap_enabled is not True:
if not self.ldap_enabled:
logger.debug("LDAP not configured")
defer.returnValue(False)