Skip to content

Commit

Permalink
Merge pull request #3 from sandboxie-plus/master
Browse files Browse the repository at this point in the history
Update
  • Loading branch information
bastik-1001 committed Dec 22, 2020
2 parents 828f020 + 818e72c commit 31fa30d
Show file tree
Hide file tree
Showing 93 changed files with 1,293 additions and 371 deletions.
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,47 @@ All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).



## [0.5.2 / 5.45.1] - 2020-12-22

### Added
- added advanced new box creation dialog to sandman ui
- added show/hide tray context menu entry
- added refresh button to file recovery dialog
- added mechanism to load icons from {install-dir}/Icons/{icon}.png for UI customization
- added tray indicator to show disabled forced program status in the sandman ui
- added program name suggestions to box options in sandman ui
- added saving of column sizes in the options window

### Changed
- reorganized the advanced box options a bit
- changed icons (thanks Valinwolf for picking the new once)
- updated Template.ini (thanks isaak654)

### Fixed
- fixed BSOD introduced in 5.45.0 when using windows 10 "Core isolation"
- fixed minor issue with lingering/leader processes
- fixed menu issue in sandman ui
- fixed issue with stop behavioure page in sandman ui
- fixed issue with Plus installer not displaying kmdutil window
- fixed sandman UI saving ui settings on windows shutdown
- fixed issue with Plus installer autorun
- fixed issue with legacy installer not removing all files
- fixed a driver compatybility issue with windows 20H1 and later
-- this solves "stop pending", line messager hanging and other issues...
- fixed quick recovery issue in SbieCtrl.exe introduced in 5.45.0
- fixed issue advanced hide process settings, not saving
- fixed some typos in the UI (thanks isaak654)
- fixed issue with GetRawInputDeviceInfo failing when boxed processes are put in a job object
-- this fix resolves isses with CP2077 andother PC Games not getting keyboard input (thanks Rostok)
- fixed failing ClipCursor wont longer span the message log
- fixed issue with adding recovery folders in sandman ui
- fixed issue with office 2019 template when using a non default sbie install location
- fixed issue settign last access atribute on sandboxed folders
- fixed issue with process start signal



## [0.5.1 / 5.45.0] - 2020-12-12

### Added
Expand Down
11 changes: 1 addition & 10 deletions Sandboxie/apps/control/MessageDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -938,23 +938,14 @@ void CMessageDialog::DoRecovery()

while (msg->code == MSG_2199) {

WCHAR *space = wcschr(msg->str1, L' ');
if (! space) {
m_queue.RemoveHead();
delete msg;
break;
}
*space = L'\0';

CBox &box = CBoxes::GetInstance().GetBox(msg->str1);

if (box.GetName() != m_qr_box) {
*space = L' ';
break;
}

if (box.GetImmediateRecoveryState())
m_qr->AddAutoRecoverItem(space + 1);
m_qr->AddAutoRecoverItem(msg->str2);

m_queue.RemoveAt(lastpos);
delete msg;
Expand Down
6 changes: 3 additions & 3 deletions Sandboxie/common/my_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
#ifndef _MY_VERSION_H
#define _MY_VERSION_H

#define MY_VERSION_BINARY 5,45,0
#define MY_VERSION_STRING "5.45.0"
#define MY_VERSION_BINARY 5,45,1
#define MY_VERSION_STRING "5.45.1"
#define MY_VERSION_COMPAT "5.45.0" // this reffers to the driver ABI compatybility

// These #defines are used by either Resource Compiler, or by NSIC installer
Expand All @@ -32,7 +32,7 @@

#define MY_PRODUCT_NAME_STRING "Sandboxie"
#define MY_COMPANY_NAME_STRING "xanasoft.com"
#define MY_COPYRIGHT_STRING "Copyright © 2020 by David Xanatos (xanasoft.com)"
#define MY_COPYRIGHT_STRING "Copyright © 2020-2021 by David Xanatos (xanasoft.com)"
#define MY_COPYRIGHT_STRING_OLD "Copyright © 2004-2020 by Sandboxie Holdings, LLC"

#define SANDBOXIE L"Sandboxie"
Expand Down
8 changes: 7 additions & 1 deletion Sandboxie/core/dll/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -5929,6 +5929,7 @@ _FX NTSTATUS File_SetAttributes(
if (! CopyPath) {

WCHAR *TruePath;
ULONG FileFlags;
OBJECT_ATTRIBUTES objattrs;
UNICODE_STRING objname;

Expand All @@ -5939,11 +5940,14 @@ _FX NTSTATUS File_SetAttributes(
RtlInitUnicodeString(&objname, L"");

status = File_GetName(
FileHandle, &objname, &TruePath, (WCHAR **)&CopyPath, NULL);
FileHandle, &objname, &TruePath, (WCHAR **)&CopyPath, &FileFlags);

if (! NT_SUCCESS(status))
__leave;

if (FileFlags & FGN_IS_BOXED_PATH)
goto has_copy_path;

//
// migrate the file into the sandbox. because access mask of
// just FILE_WRITE_ATTRIBUTES | SYNCHRONIZE gets the exception
Expand Down Expand Up @@ -6001,6 +6005,8 @@ _FX NTSTATUS File_SetAttributes(
__leave;
}

has_copy_path:

//
// ask the FileServer proxy in SbieSvc to do the job. this is needed
// because the driver always blocks FILE_WRITE_ATTRIBUTE access on
Expand Down
3 changes: 3 additions & 0 deletions Sandboxie/core/dll/gui.c
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,9 @@ _FX BOOLEAN Gui_Init(HMODULE module)
GUI_IMPORT_AW(RegisterClipboardFormat);
GUI_IMPORT___(GetClipboardData);

GUI_IMPORT___(GetRawInputDeviceInfoA);
GUI_IMPORT___(GetRawInputDeviceInfoW);

GUI_IMPORT___(ExitWindowsEx);
GUI_IMPORT___(EndTask);
if (Dll_OsBuild >= 8400) {
Expand Down
13 changes: 13 additions & 0 deletions Sandboxie/core/dll/gui_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,16 @@ typedef UINT (*P_RegisterClipboardFormat)(
typedef LRESULT (*P_CallWindowProc)(
WNDPROC lpWndProc, HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

typedef LONG(*P_GetRawInputDeviceInfoA)(
_In_opt_ HANDLE hDevice, _In_ UINT uiCommand,
_Inout_updates_bytes_to_opt_(*pcbSize, *pcbSize) LPVOID pData,
_Inout_ PUINT pcbSize);

typedef LONG(*P_GetRawInputDeviceInfoW)(
_In_opt_ HANDLE hDevice, _In_ UINT uiCommand,
_Inout_updates_bytes_to_opt_(*pcbSize, *pcbSize) LPVOID pData,
_Inout_ PUINT pcbSize);

//---------------------------------------------------------------------------

typedef BOOL (*P_ExitWindowsEx)(UINT uFlags, DWORD dwReason);
Expand Down Expand Up @@ -568,6 +578,9 @@ GUI_SYS_VAR(GetClipboardOwner);
GUI_SYS_VAR(GetOpenClipboardWindow);
GUI_SYS_VAR(GetClipboardSequenceNumber);

GUI_SYS_VAR(GetRawInputDeviceInfoA);
GUI_SYS_VAR(GetRawInputDeviceInfoW);

GUI_SYS_VAR_2(OpenDesktop)
GUI_SYS_VAR_2(CreateDesktop)
GUI_SYS_VAR_2(CreateWindowStation)
Expand Down

0 comments on commit 31fa30d

Please sign in to comment.