Changeset 104384 in vbox
- Timestamp:
- Apr 19, 2024 10:03:10 PM (11 months ago)
- svn:sync-xref-src-repo-rev:
- 162874
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/Config.kmk ¶
r104381 r104384 1181 1181 endif 1182 1182 endif 1183 VBOX_WITHOUT_HARDENING_INTEGRITY_CHECK = 1 1183 # Building windows without a kernel code signing certificate (as good as 1184 # impossible to get these days, so enabled by default). 1185 VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT = 1 1184 1186 # Enable the system wide support service/daemon. 1185 1187 # Very sketchy work in progress. … … 4863 4865 $(CHMOD) a+rw -- "$@" 4864 4866 $(VBOX_VCC_EDITBIN) /LargeAddressAware /DynamicBase /NxCompat /Release \ 4865 $(if-expr !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK),/IntegrityCheck,) \4867 $(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),/IntegrityCheck,) \ 4866 4868 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 4867 4869 "$@" … … 4886 4888 $(CHMOD) a+rw -- "$@" 4887 4889 $(VBOX_VCC_EDITBIN) /LargeAddressAware /DynamicBase /NxCompat /Release \ 4888 $(if-expr !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK),/IntegrityCheck,) \4890 $(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),/IntegrityCheck,) \ 4889 4891 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 4890 4892 "$@" … … 5390 5392 -Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 5391 5393 -Stub:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com 5392 if defined(VBOX_SIGNING_MODE) && !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK)5394 if defined(VBOX_SIGNING_MODE) && !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT) 5393 5395 TEMPLATE_VBoxRc_LDFLAGS += -IntegrityCheck 5394 5396 endif … … 5551 5553 TEMPLATE_VBoxR0_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj 5552 5554 endif 5553 if defined(VBOX_SIGNING_MODE) && !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK)5555 if defined(VBOX_SIGNING_MODE) && !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT) 5554 5556 TEMPLATE_VBoxR0_LDFLAGS += -IntegrityCheck 5555 5557 endif … … 5754 5756 TEMPLATE_VBoxR0Drv_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj 5755 5757 endif 5756 if defined(VBOX_SIGNING_MODE) && !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK)5758 if defined(VBOX_SIGNING_MODE) && !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT) 5757 5759 TEMPLATE_VBoxR0Drv_LDFLAGS += -IntegrityCheck 5758 5760 endif … … 6337 6339 TEMPLATE_VBoxR3Exe_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj 6338 6340 endif 6339 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) && !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK)6341 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) && !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT) 6340 6342 TEMPLATE_VBoxR3Exe_LDFLAGS += -IntegrityCheck 6341 6343 endif … … 6984 6986 TEMPLATE_VBoxR3HardenedTstDll_INST = $(INST_TESTCASE) 6985 6987 TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.win = $(TEMPLATE_VBoxR3TstDll_LDFLAGS.win) \ 6986 $(if-expr !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK),-IntegrityCheck,)6988 $(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),-IntegrityCheck,) 6987 6989 ifn1of ($(KBUILD_TARGET), win os2) 6988 6990 TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS)) … … 7293 7295 /DISALLOWLIB:libucrt.lib \ 7294 7296 /DISALLOWLIB:libucrtd.lib 7295 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) && !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK)7297 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) && !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT) 7296 7298 TEMPLATE_VBoxMainExe_LDFLAGS += -IntegrityCheck 7297 7299 endif … … 7995 7997 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 7996 7998 /STUB:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com 7997 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) && !defined(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK)7999 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) && !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT) 7998 8000 TEMPLATE_VBoxQtGuiExe_LDFLAGS += -IntegrityCheck 7999 8001 endif -
TabularUnified trunk/src/VBox/HostDrivers/Support/Makefile.kmk ¶
r104381 r104384 240 240 $(if $(VBOX_WITH_DRIVERLESS_NEM_FALLBACK),VBOX_WITH_DRIVERLESS_NEM_FALLBACK,) \ 241 241 $(if $(VBOX_WITHOUT_DEBUGGER_CHECKS),VBOX_WITHOUT_DEBUGGER_CHECKS,) \ 242 $(if $(VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK),VBOX_WITHOUT_HARDENING_INTEGRITY_CHECK,) \242 $(if $(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT,) \ 243 243 $(if $(VBOX_PERMIT_VISUAL_STUDIO_PROFILING),VBOX_PERMIT_VISUAL_STUDIO_PROFILING,) \ 244 244 VBOX_PERMIT_MORE \ -
TabularUnified trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerify-win.h ¶
r104381 r104384 148 148 /** Require kernel code signing level. */ 149 149 # define SUPHNTVI_F_REQUIRE_KERNEL_CODE_SIGNING RT_BIT(1) 150 # ifndef VBOX_WITHOUT_HARDENING_INTEGRITY_CHECK151 150 /** Require the image to force the memory mapper to do signature checking. */ 152 # define SUPHNTVI_F_REQUIRE_SIGNATURE_ENFORCEMENT RT_BIT(2) 153 # endif 151 # define SUPHNTVI_F_REQUIRE_SIGNATURE_ENFORCEMENT RT_BIT(2) 154 152 /** Whether to allow image verification by catalog file. */ 155 153 # define SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION RT_BIT(3) 156 /** The file owner must be TrustedInstaller on Vista+. */ 157 # define SUPHNTVI_F_TRUSTED_INSTALLER_OWNER RT_BIT(4) 154 /** The file owner must be TrustedInstaller, Builtin\\Administrators 155 * (S-1-5-32-544) or local system (S-1-5-21) on Vista+. */ 156 # define SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER RT_BIT(4) 158 157 /** Ignore the image architecture (otherwise it must match the verification 159 158 * code). Used with resource images and such. */ -
TabularUnified trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerifyImage-win.cpp ¶
r104381 r104384 808 808 809 809 /* Must be owned by trusted installer. (This test is superfuous, thus no relaxation here.) */ 810 if ( !(fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_O WNER)810 if ( !(fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER) 811 811 && !supHardNtViCheckIsOwnedByTrustedInstallerOrSimilar(hFile, pwszName)) 812 812 return rc; … … 869 869 870 870 /* Must be owned by trusted installer. */ 871 if ( !(fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_O WNER)871 if ( !(fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER) 872 872 && !supHardNtViCheckIsOwnedByTrustedInstallerOrSimilar(hFile, pwszName)) 873 873 return rc; … … 886 886 pwsz = pwszName + cwcOther + 1; 887 887 888 if ( !(fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_O WNER)888 if ( !(fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER) 889 889 && !supHardNtViCheckIsOwnedByTrustedInstallerOrSimilar(hFile, pwszName)) 890 890 return rc; … … 934 934 ) 935 935 { 936 if ( !(fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_O WNER)936 if ( !(fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER) 937 937 && !supHardNtViCheckIsOwnedByTrustedInstallerOrSimilar(hFile, pwszName)) 938 938 return rc; … … 944 944 * Anything that's owned by the trusted installer. 945 945 */ 946 if ( (fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_O WNER)946 if ( (fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER) 947 947 || supHardNtViCheckIsOwnedByTrustedInstallerOrSimilar(hFile, pwszName)) 948 948 return VINF_LDRVI_NOT_SIGNED; … … 1228 1228 { 1229 1229 #ifdef IN_RING3 /* Hack alert! (see above) */ 1230 # ifndef VBOX_WITHOUT_HARDENING_INTEGRITY_CHECK1231 1230 if ( (pNtViRdr->fFlags & SUPHNTVI_F_REQUIRE_KERNEL_CODE_SIGNING) 1232 1231 && (pNtViRdr->fFlags & SUPHNTVI_F_REQUIRE_SIGNATURE_ENFORCEMENT) 1233 1232 && uTimestamp < g_uBuildTimestampHack) 1234 1233 uTimestamp = g_uBuildTimestampHack; 1235 # endif1236 1234 #endif 1237 1235 RTTimeSpecSetSeconds(&aTimes[0].TimeSpec, uTimestamp); … … 1382 1380 /** @todo Since we're now allowing Builtin\\Administrators after all, perhaps we 1383 1381 * could drop these system32 + winsxs hacks?? */ 1384 if ( (pNtViRdr->fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_O WNER)1382 if ( (pNtViRdr->fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER) 1385 1383 && !supHardNtViCheckIsOwnedByTrustedInstallerOrSimilar(pNtViRdr->hFile, pwszName)) 1386 1384 { … … 1431 1429 RTErrInfoAddF(pErrInfo, rc, ": %ls", pwszName); 1432 1430 1433 #ifndef VBOX_WITHOUT_HARDENING_INTEGRITY_CHECK1434 1431 /* 1435 1432 * Check for the signature checking enforcement, if requested to do so. … … 1446 1443 "The image '%ls' was not linked with /IntegrityCheck.", pwszName); 1447 1444 } 1448 #endif1449 1445 1450 1446 #ifdef IN_RING3 -
TabularUnified trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerifyProcess-win.cpp ¶
r104381 r104384 2148 2148 */ 2149 2149 uint32_t fFlags = fDll 2150 ? SUPHNTVI_F_TRUSTED_INSTALLER_O WNER | SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION2150 ? SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER | SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION 2151 2151 : SUPHNTVI_F_REQUIRE_BUILD_CERT; 2152 2152 if (f32bitResourceDll) … … 2395 2395 rcNt, pThis->hProcess); 2396 2396 } 2397 #ifndef VBOX_WITHOUT_ HARDENING_INTEGRITY_CHECK2397 #ifndef VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT /* A kernel code signing cert is only via way to use /IntegrityCheck. */ 2398 2398 if ( !(ImageInfo.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY)) 2399 2399 return supHardNtVpSetInfo2(pThis, VERR_SUP_VP_EXE_MISSING_FORCE_INTEGRITY, -
TabularUnified trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp ¶
r104381 r104384 1478 1478 /* 1479 1479 * Check the path. We don't allow DLLs to be loaded from just anywhere: 1480 * 1. System32 - normal code or cat signing, owner TrustedInstaller. 1481 * 2. WinSxS - normal code or cat signing, owner TrustedInstaller. 1482 * 3. VirtualBox - build cert code signing, and owner TrustedInstaller unless integrity check is enabled. 1483 * 4. AppPatchDir - normal code or cat signing, owner TrustedInstaller. 1484 * 5. Program Files - normal code or cat signing, owner TrustedInstaller. 1485 * 6. Common Files - normal code or cat signing, owner TrustedInstaller. 1480 * 1. System32 - normal code or cat signing, owner TrustedInstaller/Administrators/LocalSystem. 1481 * 2. WinSxS - normal code or cat signing, owner TrustedInstaller/Administrators/LocalSystem. 1482 * 3. VirtualBox - build with: 1483 * - regular code signing cert: build cert code signing, owner TrustedInstaller/Administrators/LocalSystem. 1484 * - kernel code signing cert: kernel code signing and integrity checks. 1485 * 4. AppPatchDir - normal code or cat signing, owner TrustedInstaller/Administrators/LocalSystem. 1486 * 5. Program Files - normal code or cat signing, owner TrustedInstaller/Administrators/LocalSystem. 1487 * 6. Common Files - normal code or cat signing, owner TrustedInstaller/Administrators/LocalSystem. 1486 1488 * 7. x86 variations of 4 & 5 - ditto. 1489 * 1490 * Note! VBOX_WITHOUT_KERNEL_CODE_SIGNING_CERT means the /IntegrityCheck does 1491 * work as it doesn't seems like MS has come up with a generally accessible 1492 * alternative to the expired kernel code signing scheme for using this 1493 * securty enhancement. 1487 1494 */ 1488 1495 uint32_t fFlags = 0; 1489 1496 if (supHardViUniStrPathStartsWithUniStr(&uBuf.UniStr, &g_System32NtPath.UniStr, true /*fCheckSlash*/)) 1490 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_O WNER;1497 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1491 1498 else if (supHardViUniStrPathStartsWithUniStr(&uBuf.UniStr, &g_WinSxSNtPath.UniStr, true /*fCheckSlash*/)) 1492 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_O WNER;1499 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1493 1500 else if (supHardViUniStrPathStartsWithUniStr(&uBuf.UniStr, &g_SupLibHardenedAppBinNtPath.UniStr, true /*fCheckSlash*/)) 1494 # ifndef VBOX_WITHOUT_HARDENING_INTEGRITY_CHECK 1501 # ifdef VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT 1502 /** @todo r=bird: See SUPHNTVI_F_REQUIRE_BUILD_CERT comment below (in the 1503 * code that's actually used). */ 1504 fFlags |= SUPHNTVI_F_REQUIRE_BUILD_CERT | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1505 # else 1495 1506 fFlags |= SUPHNTVI_F_REQUIRE_KERNEL_CODE_SIGNING | SUPHNTVI_F_REQUIRE_SIGNATURE_ENFORCEMENT; 1496 # else1497 fFlags |= SUPHNTVI_F_REQUIRE_BUILD_CERT | SUPHNTVI_F_TRUSTED_INSTALLER_OWNER;1498 1507 # endif 1499 }1500 1508 # ifdef VBOX_PERMIT_MORE 1501 1509 else if (supHardViIsAppPatchDir(uBuf.UniStr.Buffer, uBuf.UniStr.Length / sizeof(WCHAR))) 1502 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_O WNER;1510 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1503 1511 else if (supHardViUniStrPathStartsWithUniStr(&uBuf.UniStr, &g_ProgramFilesNtPath.UniStr, true /*fCheckSlash*/)) 1504 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_O WNER;1512 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1505 1513 else if (supHardViUniStrPathStartsWithUniStr(&uBuf.UniStr, &g_CommonFilesNtPath.UniStr, true /*fCheckSlash*/)) 1506 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_O WNER;1514 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1507 1515 # ifdef RT_ARCH_AMD64 1508 1516 else if (supHardViUniStrPathStartsWithUniStr(&uBuf.UniStr, &g_ProgramFilesX86NtPath.UniStr, true /*fCheckSlash*/)) 1509 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_O WNER;1517 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1510 1518 else if (supHardViUniStrPathStartsWithUniStr(&uBuf.UniStr, &g_CommonFilesX86NtPath.UniStr, true /*fCheckSlash*/)) 1511 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_O WNER;1519 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1512 1520 # endif 1513 1521 # endif … … 1537 1545 /* 1538 1546 * Require trusted installer + some kind of signature on everything, except 1539 * for the VBox bits where we require a specific certificate and maybe special 1540 * integrity checks. 1547 * for the VBox bits where we have extra requirements depending on the signing 1548 * certificate used: 1549 * - regular code signing cert: build cert code signing, owner TrustedInstaller/Administrators/LocalSystem. 1550 * - kernel code signing cert: kernel code signing and integrity checks. 1541 1551 */ 1542 1552 uint32_t fFlags = 0; 1543 1553 if (supHardViUniStrPathStartsWithUniStr(&uBuf.UniStr, &g_SupLibHardenedAppBinNtPath.UniStr, true /*fCheckSlash*/)) 1544 { 1545 # ifndef VBOX_WITHOUT_HARDENING_INTEGRITY_CHECK 1554 # ifdef VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT 1555 /** @todo r=bird: Since extension packs are installed under 1556 * g_SupLibHardenedAppBinNtPath and I'm pretty sure that everything loaded into 1557 * a VBox VM process goes thru this validation step at DLL load time, this means 1558 * only we can now sign extension packs. 1559 * 1560 * I suspect we have to relax the signing restrictions on the ExtensionPacks 1561 * subdirectory to keep 3rd party extensions working. */ 1562 fFlags |= SUPHNTVI_F_REQUIRE_BUILD_CERT | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1563 # else 1546 1564 fFlags |= SUPHNTVI_F_REQUIRE_KERNEL_CODE_SIGNING | SUPHNTVI_F_REQUIRE_SIGNATURE_ENFORCEMENT; 1547 # else1548 fFlags |= SUPHNTVI_F_REQUIRE_BUILD_CERT | SUPHNTVI_F_TRUSTED_INSTALLER_OWNER;1549 1565 # endif 1550 }1551 1566 else 1552 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_O WNER;1567 fFlags |= SUPHNTVI_F_ALLOW_CAT_FILE_VERIFICATION | SUPHNTVI_F_TRUSTED_INSTALLER_OR_SIMILAR_OWNER; 1553 1568 #endif /* VBOX_PERMIT_EVEN_MORE */ 1554 1569
Note:
See TracChangeset
for help on using the changeset viewer.