diff --git a/daemon.py b/daemon.py index cfefb8300..d4d009d6c 100644 --- a/daemon.py +++ b/daemon.py @@ -1463,7 +1463,9 @@ class PubServer(BaseHTTPRequestHandler): return loginNickname, loginPassword, register = \ - htmlGetLoginCredentials(loginParams, self.server.lastLoginTime) + htmlGetLoginCredentials(loginParams, + self.server.lastLoginTime, + self.server.domain) if loginNickname: if isSystemAccount(loginNickname): print('Invalid username login: ' + loginNickname + diff --git a/webapp_login.py b/webapp_login.py index 4ddb42601..608bb27cb 100644 --- a/webapp_login.py +++ b/webapp_login.py @@ -18,7 +18,8 @@ from theme import getTextModeLogo def htmlGetLoginCredentials(loginParams: str, - lastLoginTime: int) -> (str, str, bool): + lastLoginTime: int, + domain: str) -> (str, str, bool): """Receives login credentials via HTTPServer POST """ if not loginParams.startswith('username='): @@ -39,7 +40,9 @@ def htmlGetLoginCredentials(loginParams: str, nickname = arg.split('=', 1)[1] if '@' in nickname: # the full nickname@domain has been entered - nickname = nickname.split('@')[0] + handleDomain = nickname.split('@')[1].strip() + if handleDomain == domain: + nickname = nickname.split('@')[0] elif arg.split('=', 1)[0] == 'password': password = arg.split('=', 1)[1] elif arg.split('=', 1)[0] == 'register':