1.13.2
This commit is contained in:
parent
6001575e84
commit
1ff28679b0
|
@ -17,12 +17,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
- added option to prevent sandboxed processes from interfering with power operations [#3640](https://github.com/sandboxie-plus/Sandboxie/issues/3640) (thx Yeyixiao)
|
- added option to prevent sandboxed processes from interfering with power operations [#3640](https://github.com/sandboxie-plus/Sandboxie/issues/3640) (thx Yeyixiao)
|
||||||
- it can be enabled with "BlockInterferePower=y"
|
- it can be enabled with "BlockInterferePower=y"
|
||||||
- see the sandbox option "Prevents processes in the sandbox from interfering with power operations" in SandMan UI
|
- see the sandbox option "Prevents processes in the sandbox from interfering with power operations" in SandMan UI
|
||||||
|
- added new pattern mechanism using a ** in a pattern as palceholder means an arbitrary path element but not containing a '\'
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- reworked option for suspending all processes in SandMan (originally introduced in 1.13.1) [#3582](https://github.com/sandboxie-plus/Sandboxie/issues/3582#issuecomment-1969628215)
|
- reworked option for suspending all processes in SandMan (originally introduced in 1.13.1) [#3582](https://github.com/sandboxie-plus/Sandboxie/issues/3582#issuecomment-1969628215)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- fixed privacy mode, NormalFilePath and symbolic link issue [#3660](https://github.com/sandboxie-plus/Sandboxie/issues/3660)
|
- fixed privacy mode, NormalFilePath and symbolic link issue [#3660](https://github.com/sandboxie-plus/Sandboxie/issues/3660)
|
||||||
|
- fixed "Recycle bin for drive * is corrupted" [#3665] (https://github.com/sandboxie-plus/Sandboxie/issues/3665)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
#ifndef _MY_VERSION_H
|
#ifndef _MY_VERSION_H
|
||||||
#define _MY_VERSION_H
|
#define _MY_VERSION_H
|
||||||
|
|
||||||
#define MY_VERSION_BINARY 5,68,1
|
#define MY_VERSION_BINARY 5,68,2
|
||||||
#define MY_VERSION_STRING "5.68.1"
|
#define MY_VERSION_STRING "5.68.2"
|
||||||
#define MY_ABI_VERSION 0x56800
|
#define MY_ABI_VERSION 0x56800
|
||||||
|
|
||||||
// These #defines are used by either Resource Compiler or NSIS installer
|
// These #defines are used by either Resource Compiler or NSIS installer
|
||||||
|
|
|
@ -63,6 +63,7 @@ struct _PATTERN {
|
||||||
// allocated as part of this PATTERN object
|
// allocated as part of this PATTERN object
|
||||||
struct {
|
struct {
|
||||||
BOOLEAN hex;
|
BOOLEAN hex;
|
||||||
|
BOOLEAN no_bs;
|
||||||
USHORT len;
|
USHORT len;
|
||||||
WCHAR *ptr;
|
WCHAR *ptr;
|
||||||
} cons[0];
|
} cons[0];
|
||||||
|
@ -100,6 +101,9 @@ _Check_return_ _CRTIMP long __cdecl wcstol(_In_z_ const wchar_t *_Str, _Out_op
|
||||||
static const WCHAR *Pattern_wcsnstr(
|
static const WCHAR *Pattern_wcsnstr(
|
||||||
const WCHAR *hstr, const WCHAR *nstr, int nlen);
|
const WCHAR *hstr, const WCHAR *nstr, int nlen);
|
||||||
|
|
||||||
|
static const WCHAR *Pattern_wcsnstr_ex(
|
||||||
|
const WCHAR *hstr, const WCHAR *nstr, int nlen, int no_bs);
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// Variables
|
// Variables
|
||||||
|
@ -125,6 +129,7 @@ _FX PATTERN *Pattern_Create(
|
||||||
PATTERN *pat;
|
PATTERN *pat;
|
||||||
WCHAR *optr;
|
WCHAR *optr;
|
||||||
BOOLEAN any_hex_cons;
|
BOOLEAN any_hex_cons;
|
||||||
|
ULONG start_count;
|
||||||
|
|
||||||
//
|
//
|
||||||
// count number of constant parts in the input string, and
|
// count number of constant parts in the input string, and
|
||||||
|
@ -190,8 +195,11 @@ _FX PATTERN *Pattern_Create(
|
||||||
iptr = string;
|
iptr = string;
|
||||||
while (iptr) {
|
while (iptr) {
|
||||||
|
|
||||||
while (*iptr == L'*')
|
start_count = num_cons > 0 ? 1 : 0;
|
||||||
|
while (*iptr == L'*') {
|
||||||
++iptr;
|
++iptr;
|
||||||
|
++start_count;
|
||||||
|
}
|
||||||
iptr2 = wcschr(iptr, L'*');
|
iptr2 = wcschr(iptr, L'*');
|
||||||
|
|
||||||
if (iptr2) {
|
if (iptr2) {
|
||||||
|
@ -218,6 +226,8 @@ _FX PATTERN *Pattern_Create(
|
||||||
} else
|
} else
|
||||||
pat->cons[num_cons].hex = FALSE;
|
pat->cons[num_cons].hex = FALSE;
|
||||||
|
|
||||||
|
pat->cons[num_cons].no_bs = start_count == 2;
|
||||||
|
|
||||||
++num_cons;
|
++num_cons;
|
||||||
optr += len_ptr + 1;
|
optr += len_ptr + 1;
|
||||||
}
|
}
|
||||||
|
@ -404,9 +414,9 @@ _FX int Pattern_Match2(
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
const WCHAR *ptr = Pattern_wcsnstr(
|
const WCHAR *ptr = Pattern_wcsnstr_ex(
|
||||||
string + str_index,
|
string + str_index,
|
||||||
pat->cons[con_index].ptr, pat->cons[con_index].len);
|
pat->cons[con_index].ptr, pat->cons[con_index].len, pat->cons[con_index].no_bs);
|
||||||
|
|
||||||
if (! ptr) {
|
if (! ptr) {
|
||||||
|
|
||||||
|
@ -607,6 +617,18 @@ _FX int Pattern_wcstol(const WCHAR *text, WCHAR **endptr)
|
||||||
|
|
||||||
_FX const WCHAR *Pattern_wcsnstr(
|
_FX const WCHAR *Pattern_wcsnstr(
|
||||||
const WCHAR *hstr, const WCHAR *nstr, int nlen)
|
const WCHAR *hstr, const WCHAR *nstr, int nlen)
|
||||||
|
{
|
||||||
|
return Pattern_wcsnstr_ex(hstr, nstr, nlen, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Pattern_wcsnstr_ex
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
_FX const WCHAR *Pattern_wcsnstr_ex(
|
||||||
|
const WCHAR *hstr, const WCHAR *nstr, int nlen, int no_bs)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
while (*hstr) {
|
while (*hstr) {
|
||||||
|
@ -620,6 +642,8 @@ _FX const WCHAR *Pattern_wcsnstr(
|
||||||
return hstr;
|
return hstr;
|
||||||
}
|
}
|
||||||
++hstr;
|
++hstr;
|
||||||
|
if (no_bs && *hstr == L'\\')
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -432,6 +432,9 @@ NormalFilePath=%SbieHome%\*
|
||||||
NormalFilePath=%ProgramFiles%\*
|
NormalFilePath=%ProgramFiles%\*
|
||||||
NormalFilePath=%ProgramFiles% (x86)\*
|
NormalFilePath=%ProgramFiles% (x86)\*
|
||||||
NormalFilePath=%ProgramData%\Microsoft\*
|
NormalFilePath=%ProgramData%\Microsoft\*
|
||||||
|
# recycle bin
|
||||||
|
NormalFilePath=?:\$Recycle.Bin\*
|
||||||
|
WriteFilePath=?:\$Recycle.Bin\**\*
|
||||||
# shell & ui
|
# shell & ui
|
||||||
NormalKeyPath=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize\*
|
NormalKeyPath=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize\*
|
||||||
NormalKeyPath=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\*
|
NormalKeyPath=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#define VERSION_MJR 1
|
#define VERSION_MJR 1
|
||||||
#define VERSION_MIN 13
|
#define VERSION_MIN 13
|
||||||
#define VERSION_REV 1
|
#define VERSION_REV 2
|
||||||
#define VERSION_UPD 0
|
#define VERSION_UPD 0
|
||||||
|
|
||||||
#ifndef STR
|
#ifndef STR
|
||||||
|
|
Loading…
Reference in New Issue