Changeset 64939 in vbox
- Timestamp:
- Dec 17, 2016 1:06:47 AM (8 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 2 edited
-
include/GuestSessionImpl.h (modified) (1 diff)
-
src-client/GuestSessionImplTasks.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/GuestSessionImpl.h
r64101 r64939 201 201 const Utf8Str &aDest, 202 202 uint32_t aFlags, 203 GuestProcessStartupInfo startupInfo)203 const GuestProcessStartupInfo &aStartupInfo) 204 204 : strSource(aSource), 205 205 strDest(aDest), 206 206 fFlags(aFlags), 207 mProcInfo( startupInfo)207 mProcInfo(aStartupInfo) 208 208 { 209 209 mProcInfo.mExecutable = strDest; -
trunk/src/VBox/Main/src-client/GuestSessionImplTasks.cpp
r63186 r64939 1406 1406 if (fInstallCert) 1407 1407 { 1408 /* Our certificate. */ 1409 mFiles.push_back(InstallerFile("CERT/ORACLE_VBOX.CER", 1410 strUpdateDir + "oracle-vbox.cer", 1411 UPDATEFILE_FLAG_COPY_FROM_ISO | UPDATEFILE_FLAG_OPTIONAL)); 1412 /* Our certificate installation utility. */ 1413 /* First pass: Copy over the file + execute it to remove any existing 1414 * VBox certificates. */ 1415 GuestProcessStartupInfo siCertUtilRem; 1416 siCertUtilRem.mName = "VirtualBox Certificate Utility, removing old VirtualBox certificates"; 1417 siCertUtilRem.mArguments.push_back(Utf8Str("remove-trusted-publisher")); 1418 siCertUtilRem.mArguments.push_back(Utf8Str("--root")); /* Add root certificate as well. */ 1419 siCertUtilRem.mArguments.push_back(Utf8Str(strUpdateDir + "oracle-vbox.cer")); 1420 siCertUtilRem.mArguments.push_back(Utf8Str(strUpdateDir + "oracle-vbox.cer")); 1421 mFiles.push_back(InstallerFile("CERT/VBOXCERTUTIL.EXE", 1422 strUpdateDir + "VBoxCertUtil.exe", 1423 UPDATEFILE_FLAG_COPY_FROM_ISO | UPDATEFILE_FLAG_EXECUTE | 1424 UPDATEFILE_FLAG_OPTIONAL, 1425 siCertUtilRem)); 1426 /* Second pass: Only execute (but don't copy) again, this time installng the 1427 * recent certificates just copied over. */ 1428 GuestProcessStartupInfo siCertUtilAdd; 1429 siCertUtilAdd.mName = "VirtualBox Certificate Utility, installing VirtualBox certificates"; 1430 siCertUtilAdd.mArguments.push_back(Utf8Str("add-trusted-publisher")); 1431 siCertUtilAdd.mArguments.push_back(Utf8Str("--root")); /* Add root certificate as well. */ 1432 siCertUtilAdd.mArguments.push_back(Utf8Str(strUpdateDir + "oracle-vbox.cer")); 1433 siCertUtilAdd.mArguments.push_back(Utf8Str(strUpdateDir + "oracle-vbox.cer")); 1434 mFiles.push_back(InstallerFile("CERT/VBOXCERTUTIL.EXE", 1435 strUpdateDir + "VBoxCertUtil.exe", 1436 UPDATEFILE_FLAG_EXECUTE | UPDATEFILE_FLAG_OPTIONAL, 1437 siCertUtilAdd)); 1408 static struct { const char *pszDst, *pszIso; } const s_aCertFiles[] = 1409 { 1410 { "vbox.cer", "CERT/VBOX.CER" }, 1411 { "vbox-sha1.cer", "CERT/VBOX_SHA1.CER" }, 1412 { "vbox-sha256.cer", "CERT/VBOX_SHA256.CER" }, 1413 { "vbox-sha256-r3.cer", "CERT/VBOX_SHA256_R3.CER" }, 1414 { "oracle-vbox.cer", "CERT/ORACLE_VBOX.CER" }, 1415 }; 1416 uint32_t fCopyCertUtil = UPDATEFILE_FLAG_COPY_FROM_ISO; 1417 for (uint32_t i = 0; i < RT_ELEMENTS(s_aCertFiles); i++) 1418 { 1419 /* Skip if not present on the ISO. */ 1420 uint32_t offIgn; 1421 size_t cbIgn; 1422 rc = RTIsoFsGetFileInfo(&iso, s_aCertFiles[i].pszIso, &offIgn, &cbIgn); 1423 if (RT_FAILURE(rc)) 1424 continue; 1425 1426 /* Copy the certificate certificate. */ 1427 Utf8Str const strDstCert(strUpdateDir + s_aCertFiles[i].pszDst); 1428 mFiles.push_back(InstallerFile(s_aCertFiles[i].pszIso, 1429 strDstCert, 1430 UPDATEFILE_FLAG_COPY_FROM_ISO | UPDATEFILE_FLAG_OPTIONAL)); 1431 1432 /* Out certificate installation utility. */ 1433 /* First pass: Copy over the file (first time only) + execute it to remove any 1434 * existing VBox certificates. */ 1435 GuestProcessStartupInfo siCertUtilRem; 1436 siCertUtilRem.mName = "VirtualBox Certificate Utility, removing old VirtualBox certificates"; 1437 siCertUtilRem.mArguments.push_back(Utf8Str("remove-trusted-publisher")); 1438 siCertUtilRem.mArguments.push_back(Utf8Str("--root")); /* Add root certificate as well. */ 1439 siCertUtilRem.mArguments.push_back(strDstCert); 1440 siCertUtilRem.mArguments.push_back(strDstCert); 1441 mFiles.push_back(InstallerFile("CERT/VBOXCERTUTIL.EXE", 1442 strUpdateDir + "VBoxCertUtil.exe", 1443 fCopyCertUtil | UPDATEFILE_FLAG_EXECUTE | UPDATEFILE_FLAG_OPTIONAL, 1444 siCertUtilRem)); 1445 fCopyCertUtil = 0; 1446 /* Second pass: Only execute (but don't copy) again, this time installng the 1447 * recent certificates just copied over. */ 1448 GuestProcessStartupInfo siCertUtilAdd; 1449 siCertUtilAdd.mName = "VirtualBox Certificate Utility, installing VirtualBox certificates"; 1450 siCertUtilAdd.mArguments.push_back(Utf8Str("add-trusted-publisher")); 1451 siCertUtilAdd.mArguments.push_back(Utf8Str("--root")); /* Add root certificate as well. */ 1452 siCertUtilAdd.mArguments.push_back(strDstCert); 1453 siCertUtilAdd.mArguments.push_back(strDstCert); 1454 mFiles.push_back(InstallerFile("CERT/VBOXCERTUTIL.EXE", 1455 strUpdateDir + "VBoxCertUtil.exe", 1456 UPDATEFILE_FLAG_EXECUTE | UPDATEFILE_FLAG_OPTIONAL, 1457 siCertUtilAdd)); 1458 } 1438 1459 } 1439 1460 /* The installers in different flavors, as we don't know (and can't assume)
Note:
See TracChangeset
for help on using the changeset viewer.

