From 4f0d1c02bdf4adf56caf48de967c41d2d4d9ff2d Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Mon, 23 Apr 2018 12:56:02 +0200 Subject: Windows: Don't start EFI system encryption process if SecureBoot is enabled and VeraCrypt-DCS custom keys were not loaded in the machine firmware. --- src/Common/Dlgcode.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/Common/Dlgcode.c') diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index 03e0d6c8..00e1558f 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -13093,7 +13093,7 @@ BOOL GetFreeDriveLetter(WCHAR* pCh) { return FALSE; } -BOOL RaisePrivileges(void) +BOOL SetPrivilege(LPTSTR szPrivilegeName, BOOL bEnable) { HANDLE hToken; TOKEN_PRIVILEGES tkp; @@ -13104,15 +13104,13 @@ BOOL RaisePrivileges(void) TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { - if (LookupPrivilegeValue(NULL, SE_SYSTEM_ENVIRONMENT_NAME, + if (LookupPrivilegeValue(NULL, szPrivilegeName, &tkp.Privileges[0].Luid)) { - DWORD len; - tkp.PrivilegeCount = 1; - tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; + tkp.Privileges[0].Attributes = bEnable? SE_PRIVILEGE_ENABLED : SE_PRIVILEGE_REMOVED; - bRet = AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, &len); + bRet = AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, NULL); if (!bRet) dwLastError = GetLastError (); } -- cgit v1.2.3