|
|
@ -49,11 +49,14 @@ def handle_authentication(headers):
|
|
|
|
user = models.User.query.get(user_email)
|
|
|
|
user = models.User.query.get(user_email)
|
|
|
|
status = False
|
|
|
|
status = False
|
|
|
|
if user:
|
|
|
|
if user:
|
|
|
|
|
|
|
|
# All tokens are 32 characters hex lowercase
|
|
|
|
|
|
|
|
if len(password) == 32:
|
|
|
|
for token in user.tokens:
|
|
|
|
for token in user.tokens:
|
|
|
|
if (token.check_password(password) and
|
|
|
|
if (token.check_password(password) and
|
|
|
|
(not token.ip or token.ip == ip)):
|
|
|
|
(not token.ip or token.ip == ip)):
|
|
|
|
status = True
|
|
|
|
status = True
|
|
|
|
if user.check_password(password):
|
|
|
|
break
|
|
|
|
|
|
|
|
if not status and user.check_password(password):
|
|
|
|
status = True
|
|
|
|
status = True
|
|
|
|
if status:
|
|
|
|
if status:
|
|
|
|
if protocol == "imap" and not user.enable_imap:
|
|
|
|
if protocol == "imap" and not user.enable_imap:
|
|
|
|