diff --git a/server/netwrapper.py b/server/netwrapper.py index cac2397..28516df 100644 --- a/server/netwrapper.py +++ b/server/netwrapper.py @@ -104,8 +104,10 @@ class NetWrapper: return b"LINOK" else: self.logout() + return b"LINERROR" except Exception: self.logout() + return b"LINERROR" def recieveMessage(self) -> bytes: status, msg = self.network.receive_msg(blocking=True) @@ -117,6 +119,7 @@ class NetWrapper: return self.recieveEncryptedMessage(msg) def logout(self) -> None: + self.serverInstance.logout() self.clientAddr = "" self.cipherkey = "".encode('UTF-8') self.currentClientPublicKey = "".encode('UTF-8') diff --git a/server/server.py b/server/server.py index a938dc7..089251f 100644 --- a/server/server.py +++ b/server/server.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 - +from server.authentication import Authetication from executor import Executor @@ -18,10 +18,19 @@ class Server: self.executor = Executor(homeDirectory) def login(self, username: str, password: str) -> bool: - pass + auth = Authetication() + self.isAuthenticated = True + home_directory = auth.login(username, password) + if not home_directory: + return False + else: + return True def logout(self) -> None: - pass + self.isAuthenticated = False + self.availableServer = False + self.homeDirectory = "" + self.currentDirectory = "" def parseCommand(self, command: str) -> str: parsedCommand = command.split(" ")