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-18 16:30:41 +02:00
commit 2f011de6f7
2 changed files with 87 additions and 7 deletions

View File

@ -1,10 +1,12 @@
import os, sys import json
import logging
import os
import shutil
import sys
from base64 import b64encode from base64 import b64encode
from Crypto.Hash import SHA256 from Crypto.Hash import SHA256
from Crypto.Protocol.KDF import bcrypt, bcrypt_check from Crypto.Protocol.KDF import bcrypt, bcrypt_check
import json
import shutil
import logging
auth_logger = logging.getLogger('AUTH APPLICATION ') auth_logger = logging.getLogger('AUTH APPLICATION ')
auth_logger.root.setLevel(logging.INFO) auth_logger.root.setLevel(logging.INFO)
@ -30,7 +32,7 @@ class Authetication:
json.dump(data, outfile) json.dump(data, outfile)
def login(self, username: str, password: str) -> str: def login(self, username: str, password: str) -> str:
with open(Authetication.CONFIG_DIRECTORY_LOCATION + '\\config.txt') as json_file: with open(self.CONFIG_DIRECTORY_LOCATION + '\\config.txt') as json_file:
data = json.load(json_file) data = json.load(json_file)
for user in data['user']: for user in data['user']:
@ -46,7 +48,7 @@ class Authetication:
return user['homeDir'] return user['homeDir']
def checkUserExists(self, username: str) -> bool: def checkUserExists(self, username: str) -> bool:
with open(Authetication.CONFIG_DIRECTORY_LOCATION + '\\config.txt') as json_file: with open(self.CONFIG_DIRECTORY_LOCATION + '\\config.txt') as json_file:
data = json.load(json_file) data = json.load(json_file)
for user in data['user']: for user in data['user']:
@ -67,7 +69,7 @@ class Authetication:
b64pwd = b64encode(SHA256.new(bytePass).digest()) b64pwd = b64encode(SHA256.new(bytePass).digest())
bcrypt_hash = bcrypt(b64pwd, 12) bcrypt_hash = bcrypt(b64pwd, 12)
with open(Authetication.CONFIG_DIRECTORY_LOCATION + '\\config.txt') as json_file: with open(self.CONFIG_DIRECTORY_LOCATION + '\\config.txt') as json_file:
data = json.load(json_file) data = json.load(json_file)
user = { user = {

View File

@ -1,2 +1,80 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import re
class Executor:
"""This class executes commands recieved by the server"""
def __init__(self, currentDiectory: str, baseDir: str = ""):
self.currentDirectory = currentDiectory
if baseDir == "":
self.baseDir = self.currentDirectory
else:
self.baseDir = baseDir
def sanitizeDirectory(self, inDirectory: str) -> str:
return re.sub('[^a-zA-Z0-9]', '', inDirectory)
def sanitizeFile(self, inFile: str) -> str:
return re.sub('[^a-zA-Z0-9].[^a-zA-Z0-9]', '', inFile)
def createDirectory(self, dirName: str) -> str:
dirName = self.sanitizeDirectory(dirName)
actualDirName = os.path.join(self.currentDirectory, dirName)
os.mkdir(actualDirName)
return actualDirName
def removeDirectory(self, dirName: str) -> str:
dirName = self.sanitizeDirectory(dirName)
actualDirName = os.path.join(self.currentDirectory, dirName)
os.rmdir(actualDirName)
return actualDirName
def getCurrentDirectory(self) -> str:
return self.currentDirectory
def setCurrentDirectory(self, dirName: str) -> str:
if dirName == "..":
if self.currentDirectory == self.baseDir:
return self.currentDirectory
else:
directories = self.currentDirectory.split("/")
strdirectory = ""
for dir in directories:
strdirectory += dir + "/"
strdirectory = strdirectory[:-3]
self.currentDirectory = strdirectory
return self.currentDirectory
else:
dirName = self.sanitizeDirectory(dirName)
self.currentDirectory = os.path.join(self.currentDirectory, dirName)
return self.currentDirectory
def listCurrentDirectoryContent(self) -> str:
contents = os.listdir(self.currentDirectory)
strdirectory = ""
for content in contents:
strdirectory += content + ", "
strdirectory = strdirectory[:-1]
return strdirectory
def putFileInCurrentDirectory(self, filename: str, content) -> str:
filename = self.sanitizeFile(filename)
currenctfile = os.path.join(self.currentDirectory, filename)
f = open(currenctfile, "wb")
f.write(content)
f.close()
return currenctfile
def getFileInCurrentDirectory(self, file: str):
file = self.sanitizeFile(file)
currentfile = os.path.join(self.currentDirectory, file)
return open(currentfile, "r")
def removeFileInCurrentDirectory(self, file: str) -> str:
file = self.sanitizeFile(file)
currentfile = os.path.join(self.currentDirectory, file)
os.remove(currentfile)
return currentfile