diff --git a/PORTING.md b/PORTING.md index d30bb89..0d85069 100644 --- a/PORTING.md +++ b/PORTING.md @@ -19,18 +19,17 @@ | ChromeOS/ChromiumOS | 0.4% | Неизвестное | | MacOS | 10% | Неизвестное, но работа ведётся | - # Окружения рабочего стола | Окружение | Завершено | | LXDE | 100% | -| XFCE | 0% | -| GNOME | 0% | -| KDE | 0% | +| XFCE | 10% | +| GNOME | 10% | +| KDE | 10% | | LXQt | 0% | | MATE | 0% | -| Cinnamon | 0% | +| Cinnamon | 10% | | Budgie | 0% | -| Deepin | 0% | +| Deepin | 10% | | COSMIC | 0% | | Pantheon | 0% | | Enlightenment | 0% | diff --git a/changelogs/0.1.1.txt b/changelogs/0.1.1.txt index af405ee..eb69c0b 100644 --- a/changelogs/0.1.1.txt +++ b/changelogs/0.1.1.txt @@ -54,3 +54,6 @@ crash() function update Start house reworked removed SDL joystick support fixed SECCOMP blocking UDEV sockets +Some Barens changes +dev room! +MacOS support in SecurityManager diff --git a/src/security.cpp b/src/security.cpp index 7bfe35e..10fdc67 100644 --- a/src/security.cpp +++ b/src/security.cpp @@ -3,7 +3,7 @@ #include "meow.h" #include "debugwriter.h" #include - +#include // In the future, we plan to add a mod loader, so this component is needed to protect users from mod attacks. #ifdef __linux__ @@ -34,7 +34,7 @@ void SecurityManagerInit(){ if(seccomp_rule_add(ctx, SCMP_ACT_KILL, seccomplist[i], 0) < 0) { printf("seccomp_rule_add failed for %i", seccomplist[i]); } - } + } //Extra rules //Deny all network connections @@ -47,18 +47,22 @@ void SecurityManagerInit(){ } if(seccomp_rule_add(ctx, SCMP_ACT_ERRNO(EPERM), SCMP_SYS(socketpair), 1, SCMP_CMP(0, SCMP_CMP_NE, AF_UNIX))){ - Debug() << "seccomp_rule_add failed for extra rules (socketpair)"; + Debug() << "seccomp_rule_add failed for extra rules (socketpair)"; } - - if(seccomp_load(ctx) < 0) { WarnMsg("Warning: Failed to load SECCOMP! If you receive this warning, IT IS NOT RECOMMENDED to add any third-party modifications to Sunshine!"); seccomp_release(ctx); } } - + SDL_Sandbox Sandbox = SDL_GetSandbox(); securitystate = "sandboxed_SECCOMP"; - + if(Sandbox == SDL_SANDBOX_FLATPAK) + securitystate = "sandboxed_FLATPAK"; + if(Sandbox == SDL_SANDBOX_SNAP) + securitystate = "sandboxed_SNAP"; + #elif __APPLE__ + if(SDL_GetSandbox() == SDL_SANDBOX_MACOS) + securitystate = "sandboxed_MacOS"; #else Debug() << "[SECURITY] SecurityManager doesn't support this platform."; #endif @@ -67,5 +71,5 @@ void SecurityManagerInit(){ void SecurityManagerDeInit(){ #ifdef __linux__ seccomp_release(ctx); - #endif + #endif } diff --git a/steamshim/steamshim_child.c b/steamshim/steamshim_child.c index 04fc7b7..89432f1 100644 --- a/steamshim/steamshim_child.c +++ b/steamshim/steamshim_child.c @@ -1,4 +1,3 @@ - #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN 1 #include