Merge branch 'master' of https://git.kmlabz.com/BiztProtoBois/server
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
commit
2f011de6f7
@ -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 = {
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user