Merge branch 'master' of https://git.kmlabz.com/BiztProtoBois/server
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
DESKTOP-DPA61F8\Benedek 2021-04-25 18:09:51 +02:00
commit 81ea634b3a
3 changed files with 30 additions and 24 deletions

View File

@ -13,7 +13,7 @@ from Crypto.PublicKey import RSA
from Crypto.PublicKey.RSA import RsaKey from Crypto.PublicKey.RSA import RsaKey
auth_logger = logging.getLogger('AUTH APPLICATION ') auth_logger = logging.getLogger('AUTH APPLICATION ')
auth_logger.root.setLevel(logging.INFO) auth_logger.setLevel(logging.INFO)
class Authetication: class Authetication:
ABSOLUTE_PATH = os.path.abspath(os.path.dirname(sys.argv[0])) ABSOLUTE_PATH = os.path.abspath(os.path.dirname(sys.argv[0]))
@ -120,7 +120,7 @@ class Authetication:
with open(self.CONFIG_FILE_LOCATION) as json_file: with open(self.CONFIG_FILE_LOCATION) as json_file:
data = json.load(json_file) data = json.load(json_file)
dictionary: dict dictionary = dict()
for user in data['user']: for user in data['user']:
key = data['publicKey'] key = data['publicKey']

View File

@ -36,8 +36,8 @@ class NetWrapper:
cipher = PKCS1_OAEP.new(self.currentClientPublicKey) cipher = PKCS1_OAEP.new(self.currentClientPublicKey)
identMsg = json.dumps( identMsg = json.dumps(
{'type': 'IDY', 'source': self.network.own_addr, {'type': 'IDY', 'source': self.network.own_addr,
'message': b64encode(cipher.encrypt(retmsg.encode('UTF-8')))}).decode( 'message': b64encode(cipher.encrypt(retmsg.encode('UTF-8'))).decode('ASCII')}).encode(
'ASCII') 'UTF-8')
self.network.send_msg(self.clientAddr, identMsg) self.network.send_msg(self.clientAddr, identMsg)
def sendMessage(self, message: bytes) -> None: def sendMessage(self, message: bytes) -> None:

View File

@ -35,14 +35,14 @@ class Server:
self.homeDirectory = "" self.homeDirectory = ""
self.executor.baseDir = Executor(self.homeDirectory) self.executor.baseDir = Executor(self.homeDirectory)
def parseCommand(self, command: str) -> str: def parseCommand(self, command: str) -> None:
if command == "LINOK": if command == "LINOK":
return "LINOK" self.networkInstance.sendMessage("LINOK".encode('UTF-8'))
elif command == "LINERROR": elif command == "LINERROR":
return "LINERROR" self.networkInstance.sendMessage("LINERROR".encode('UTF-8'))
parsedCommand = command.split(" ") parsedCommand = command.split(" ")
if len(parsedCommand) > 3: if len(parsedCommand) > 3:
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
# TODO: Ez igy gecironda, ezt meg kene csinalni rendesen. # TODO: Ez igy gecironda, ezt meg kene csinalni rendesen.
elif len(parsedCommand) == 1: elif len(parsedCommand) == 1:
return self.execute(parsedCommand[0]) return self.execute(parsedCommand[0])
@ -51,42 +51,48 @@ class Server:
elif len(parsedCommand) == 3: elif len(parsedCommand) == 3:
return self.execute(parsedCommand[0], parsedCommand[1], parsedCommand[2]) return self.execute(parsedCommand[0], parsedCommand[1], parsedCommand[2])
def execute(self, command: str, firstParam: str = "", secondParam: str = "") -> str: def execute(self, command: str, firstParam: str = "", secondParam: str = "") -> None:
if self.homeDirectory == "" or self.executor.currentDirectory == "" or self.executor.baseDir == "": if self.homeDirectory == "" or self.executor.currentDirectory == "" or self.executor.baseDir == "":
raise Exception("Directories must not be empty string. Did the user log in?") raise Exception("Directories must not be empty string. Did the user log in?")
if command == "MKD": if command == "MKD":
if secondParam != "": if secondParam != "":
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
else: else:
return self.executor.createDirectory(firstParam) self.executor.createDirectory(firstParam)
self.networkInstance.sendMessage("OK".encode('UTF-8'))
elif command == "RMD": elif command == "RMD":
if secondParam != "": if secondParam != "":
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
else: else:
return self.executor.removeDirectory(firstParam) self.executor.removeDirectory(firstParam)
self.networkInstance.sendMessage("OK".encode('UTF-8'))
elif command == "GWD": elif command == "GWD":
if secondParam != "" or firstParam != "": if secondParam != "" or firstParam != "":
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
else: else:
return self.executor.getCurrentDirectory() self.executor.getCurrentDirectory()
self.networkInstance.sendMessage("OK".encode('UTF-8'))
elif command == "CWD": elif command == "CWD":
if secondParam != "": if secondParam != "":
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
else: else:
return self.executor.setCurrentDirectory(firstParam) self.executor.setCurrentDirectory(firstParam)
self.networkInstance.sendMessage("OK".encode('UTF-8'))
elif command == "LST": elif command == "LST":
if secondParam != "" or firstParam != "": if secondParam != "" or firstParam != "":
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
else: else:
return self.executor.listCurrentDirectoryContent() self.executor.listCurrentDirectoryContent()
self.networkInstance.sendMessage("OK".encode('UTF-8'))
elif command == "RMF": elif command == "RMF":
if secondParam != "": if secondParam != "":
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
else: else:
return self.executor.removeFileInCurrentDirectory(firstParam) self.executor.removeFileInCurrentDirectory(firstParam)
self.networkInstance.sendMessage("OK".encode('UTF-8'))
elif command == "UPL": elif command == "UPL":
if secondParam != "": if secondParam != "":
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
else: else:
# TODO # TODO
# Megkapod a filenevet argumentumneknt # Megkapod a filenevet argumentumneknt
@ -97,7 +103,7 @@ class Server:
pass pass
elif command == "DNL": elif command == "DNL":
if secondParam != "": if secondParam != "":
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
else: else:
# TODO # TODO
# Megkapod a filenevet arguemntumkent # Megkapod a filenevet arguemntumkent
@ -107,7 +113,7 @@ class Server:
# Ha sikeres, OK valaszt megkapod, kulonben ERROR valaszt megkapod # Ha sikeres, OK valaszt megkapod, kulonben ERROR valaszt megkapod
pass pass
else: else:
return "ERROR" self.networkInstance.sendMessage("ERROR".encode('UTF-8'))
def startServer(self): def startServer(self):
while True: while True: