From 4523b5400439e62eba8f96774a37732fd2baf42e Mon Sep 17 00:00:00 2001 From: DavidXanatos <3890945+DavidXanatos@users.noreply.github.com> Date: Wed, 13 Nov 2024 12:00:55 +0100 Subject: [PATCH] 1.15.2 --- CHANGELOG.md | 3 +++ Sandboxie/apps/control/AboutDialog.cpp | 2 +- Sandboxie/apps/start/aboutdlg.cpp | 2 +- Sandboxie/apps/start/start.cpp | 2 ++ Sandboxie/core/dll/file_init.c | 14 ++++++++++++-- Sandboxie/core/drv/dyn_data.c | 2 +- 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b693df7f..02b474d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,9 @@ This project adheres to [Semantic Versioning](http://semver.org/). - fixed issue with DLL unloading - fixed Files Resource Access - Browse for Folder - allows access to excluded folders [#4007](https://github.com/sandboxie-plus/Sandboxie/issues/4007) +### Changed +- validated compatibility with Windows build 27744 and updated DynData + ## [1.15.1 / 5.70.1] - 2024-10-29 diff --git a/Sandboxie/apps/control/AboutDialog.cpp b/Sandboxie/apps/control/AboutDialog.cpp index ce0f1e58..bcd1592e 100644 --- a/Sandboxie/apps/control/AboutDialog.cpp +++ b/Sandboxie/apps/control/AboutDialog.cpp @@ -158,7 +158,7 @@ BOOL CAboutDialog::OnInitDialog() GetDlgItem(ID_ABOUT_COPYRIGHT)->SetWindowText(text); SCertInfo CertInfo = { 0 }; - SbieApi_Call(API_QUERY_DRIVER_INFO, 3, -1, (ULONG_PTR)&CertInfo, sizeof(CertInfo)); + SbieApi_QueryDrvInfo(-1, &CertInfo, sizeof(CertInfo)); if (CertInfo.active) GetDlgItem(ID_ABOUT_INFO)->SetWindowText(CMyMsg(MSG_7988)); else if (CertInfo.expired) // expired && !active -> outdated diff --git a/Sandboxie/apps/start/aboutdlg.cpp b/Sandboxie/apps/start/aboutdlg.cpp index 96c23dcf..de9b1685 100644 --- a/Sandboxie/apps/start/aboutdlg.cpp +++ b/Sandboxie/apps/start/aboutdlg.cpp @@ -285,7 +285,7 @@ bool DoAboutDialog(bool bReminder) if (g_bReminder) { SCertInfo CertInfo = { 0 }; - SbieApi_Call(API_QUERY_DRIVER_INFO, 3, -1, (ULONG_PTR)&CertInfo, sizeof(CertInfo)); + SbieApi_QueryDrvInfo(-1, &CertInfo, sizeof(CertInfo)); if (CertInfo.active) return true; diff --git a/Sandboxie/apps/start/start.cpp b/Sandboxie/apps/start/start.cpp index 999ac2e5..6208ed52 100644 --- a/Sandboxie/apps/start/start.cpp +++ b/Sandboxie/apps/start/start.cpp @@ -445,6 +445,8 @@ BOOL Parse_Command_Line(void) ULONG len = ULONG(tmp - cmd) * sizeof(WCHAR); memcpy((WCHAR*)&buffer[req.length], cmd, len); req.length += len; + *((WCHAR*)&buffer[req.length]) = 0; + req.length += sizeof(WCHAR); } rpl = SbieDll_CallServer(&req); diff --git a/Sandboxie/core/dll/file_init.c b/Sandboxie/core/dll/file_init.c index ab421966..84f02507 100644 --- a/Sandboxie/core/dll/file_init.c +++ b/Sandboxie/core/dll/file_init.c @@ -741,6 +741,7 @@ _FX void File_InitLinks(THREAD_DATA *TlsData) WCHAR save_char; FILE_GUID* guid; ULONG alloc_len; + WCHAR text[256]; // // cleanup old guid entries @@ -810,8 +811,7 @@ _FX void File_InitLinks(THREAD_DATA *TlsData) ULONG VolumeNameLen = MountPoint->SymbolicLinkNameLength / sizeof(WCHAR); - WCHAR text[256]; - Sbie_snwprintf(text, 256, L"Found mountpoint: %.*s <-> %.*s", VolumeNameLen, VolumeName, DeviceNameLen, DeviceName); + Sbie_snwprintf(text, 256, L"Found Mountpoint: %.*s <-> %.*s", VolumeNameLen, VolumeName, DeviceNameLen, DeviceName); SbieApi_MonitorPut2(MONITOR_DRIVE | MONITOR_TRACE, text, FALSE); if (VolumeNameLen != 48 && VolumeNameLen != 49) @@ -875,6 +875,8 @@ _FX void File_InitLinks(THREAD_DATA *TlsData) DosPath += DosPathLen + 1; while (*DosPath) { + Sbie_snwprintf(text, 256, L"Mountpoint AddLink: %s <-> %s", DosPath, DeviceName); + SbieApi_MonitorPut2(MONITOR_DRIVE | MONITOR_TRACE, text, FALSE); File_AddLink(TRUE, DosPath, DeviceName); DosPath += wcslen(DosPath) + 1; } @@ -891,9 +893,13 @@ _FX void File_InitLinks(THREAD_DATA *TlsData) // WCHAR *FirstDosPath = DosPath; + Sbie_snwprintf(text, 256, L"Mountpoint AddLink: %s <-> %s", FirstDosPath, DeviceName); + SbieApi_MonitorPut2(MONITOR_DRIVE | MONITOR_TRACE, text, FALSE); File_AddLink(TRUE, FirstDosPath, DeviceName); DosPath += DosPathLen + 1; while (*DosPath) { + Sbie_snwprintf(text, 256, L"Mountpoint AddLink: %s <-> %s", DosPath, DeviceName); + SbieApi_MonitorPut2(MONITOR_DRIVE | MONITOR_TRACE, text, FALSE); File_AddLink(TRUE, DosPath, DeviceName); DosPath += wcslen(DosPath) + 1; } @@ -916,9 +922,13 @@ _FX void File_InitLinks(THREAD_DATA *TlsData) // WCHAR *FirstDosPath = DosPath; + Sbie_snwprintf(text, 256, L"Mountpoint AddLink: %s <-> %s", DeviceName, FirstDosPath); + SbieApi_MonitorPut2(MONITOR_DRIVE | MONITOR_TRACE, text, FALSE); File_AddLink(TRUE, DeviceName, FirstDosPath); DosPath += DosPathLen + 1; while (*DosPath) { + Sbie_snwprintf(text, 256, L"Mountpoint AddLink: %s <-> %s", DosPath, FirstDosPath); + SbieApi_MonitorPut2(MONITOR_DRIVE | MONITOR_TRACE, text, FALSE); File_AddLink(TRUE, DosPath, FirstDosPath); DosPath += wcslen(DosPath) + 1; } diff --git a/Sandboxie/core/drv/dyn_data.c b/Sandboxie/core/drv/dyn_data.c index 20833a33..0047f411 100644 --- a/Sandboxie/core/drv/dyn_data.c +++ b/Sandboxie/core/drv/dyn_data.c @@ -34,7 +34,7 @@ const wchar_t Parameters[] = L"\\Parameters"; #define IMAGE_FILE_MACHINE_ARM64 0xAA64 // ARM64 Little-Endian #endif -#define WIN11_LATEST 27729 // <----- +#define WIN11_LATEST 27744 // <----- #define SVR2025 26040 #define WIN11_FIRST 22000 #define SVR2022 20348