From 349160e3cfc4c856ff50b5de5f1a7858f5ebd89f Mon Sep 17 00:00:00 2001 From: Nova Date: Fri, 22 Nov 2024 20:03:56 +0100 Subject: [PATCH] edge004-base0.2.1 Corrected the NetSock and made the install script compliant --- install.py | 26 +++++++++++++++++++++----- kverinfo.txt | 2 +- main.py | 15 +++++++++------ verinfo.txt | 2 +- 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/install.py b/install.py index 06311e6..237bb8e 100644 --- a/install.py +++ b/install.py @@ -1,6 +1,6 @@ """ Install script for the Python jailer. -Version: 0.2.0-alpha2 +Version: 0.3.0-main1 """ import os import shutil @@ -68,7 +68,7 @@ if setup_posix.lower() == "y": with open("./proc/kcore", "a+") as f: f.write("/sys/jail_mgr.py") f.close() -else: +else: # POSIX and NO-POSIX have a firm split now. print("Creating directories...") os.mkdir("./bin") os.mkdir("./sys") @@ -77,9 +77,25 @@ else: os.mkdir(f"./home/{usrname}") os.mkdir("./sys/krnl/") print("Copying files...") - shutil.move("./main.py", "./sys/jail_mgr.py") - shutil.move("./sh.py", "./bin/shell.py") - shutil.move("./ledit.py", "./bin/ledit.py") + try: + shutil.move("./nps/main.py", "./sys/jail_mgr.py") + shutil.move("./nps/sh.py", "./bin/shell.py") + shutil.move("./nps/ledit.py", "./bin/ledit.py") + except Exception as e: + print("Failure to install! Non-POSIX files are most likely not present! Aborting install...") + shutil.move("../main.py", "../runner.py") + shutil.move("./main.py", "../main.py") + shutil.move("./sh.py", "../sh.py") + shutil.move("./ledit.py", "../ledit.py") + os.rmdir("./bin") + os.rmdir("./sys/krnl/") + os.rmdir("./sys") + os.rmdir("./usr") + os.rmdir("./proc") + os.rmdir(f"./home/{usrname}") + os.chdir("../") + shutil.rmtree("./vfs/") + exit(-1) print("Creating system configuration files...") with open("./sys/usr.conf", "a+") as f: f.write(usrname) diff --git a/kverinfo.txt b/kverinfo.txt index 5fb8490..9c1a8f2 100644 --- a/kverinfo.txt +++ b/kverinfo.txt @@ -1 +1 @@ -0.1.1-main1 \ No newline at end of file +edge0004-base0.2.1 diff --git a/main.py b/main.py index 78d65cc..1179310 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,6 @@ """ This is the PyJail, a jailing tool for running Python apps in a sandboxed environment. -Version: edge0003-base0.2.1 +Version: edge0004-base0.2.1 """ import os import time @@ -58,8 +58,10 @@ class PyJail: msg = f"[{time.time}] [{caller}] [{log_level}] {message}" with open(self.fs("/proc/klog"), "a+") as f: f.write(msg) - if emit is True: + if emit is True and (log_level.upper() == "ERROR" or log_level.upper() == "CRITICAL"): print(msg) + elif emit is True: + return 0 def fs(self, check_path=None, resolve_symlinks=True): @@ -135,7 +137,7 @@ class PyJail: """ Returns the kernel version """ - return "edge0003-base0.2.1" + return "edge0004-base0.2.1" def netsock(self, ip, port, mode, msg): """ @@ -183,9 +185,10 @@ class PyJail: with open(self.fs(f"/usr/netsock/cache/{pkg}.pmd"), "a+") as f: f.write(file_io) f.close() - - - + else: + with open(self.fs(f"/usr/netsock/cache/{pkg}.py")) + f.write(file_io) + f.close() else: raise NotImplementedError("TODO: UDP will be implemented later!") diff --git a/verinfo.txt b/verinfo.txt index 6c6aa7c..54aeb5d 100644 --- a/verinfo.txt +++ b/verinfo.txt @@ -1 +1 @@ -0.1.0 \ No newline at end of file +edge