VirtualBox

Changeset 48117 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Aug 28, 2013 8:29:36 AM (11 years ago)
Author:
vboxsync
Message:

pr6022. Clean up the code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp

    r47970 r48117  
    16301630    void *pvMfBuf = 0;
    16311631    void *pvCertBuf = 0;
     1632    Utf8Str OVFfilename;
    16321633
    16331634    writeLock.release();
     
    16681669        if (RT_FAILURE(vrc))
    16691670            throw setError(VBOX_E_IPRT_ERROR,
    1670                            tr("Getting the current file within the archive failed (%Rrc)"), vrc);
     1671                           tr("Getting the OVF file within the archive failed (%Rrc)"), vrc);
    16711672        else
    16721673        {
     
    16791680            }
    16801681        }
     1682
     1683        /* save original OVF filename */
     1684        OVFfilename = pszFilename;
     1685        size_t cbMfSize = 0;
     1686        size_t cbCertSize = 0;
     1687        Utf8Str strMfFile = (Utf8Str(pszFilename)).stripExt().append(".mf");
     1688        Utf8Str strCertFile = (Utf8Str(pszFilename)).stripExt().append(".cert");
     1689
    16811690        /* Skip the OVF file, cause this was read in IAppliance::Read already. */
    16821691        vrc = RTTarSeekNextFile(tar);
     
    17041713        pStorage->fCreateDigest = true;
    17051714
    1706         size_t cbMfSize = 0;
    1707         Utf8Str strMfFile = Utf8Str(pszFilename).stripExt().append(".mf");
    17081715        /* Create the import stack for the rollback on errors. */
    17091716        ImportStack stack(pTask->locInfo, m->pReader->m_mapDisks, pTask->pProgress);
     
    17291736         */
    17301737        vrc = RTTarCurrentFile(tar, &pszFilename);
    1731         if (RT_FAILURE(vrc))
    1732             throw setError(VBOX_E_IPRT_ERROR,
    1733                            tr("Getting the current file within the archive failed (%Rrc)"), vrc);
    1734 
    1735         size_t cbCertSize = 0;
    1736         Utf8Str strCertFile = Utf8Str(pszFilename).stripExt().append(".cert");
    1737         if (pvMfBuf)
    1738         {
    1739             if (strCertFile.compare(pszFilename) == 0)
    1740             {
    1741                 rc = readTarFileToBuf(tar, strCertFile, &pvCertBuf, &cbCertSize, false, pCallbacks, pStorage);
    1742                 if (FAILED(rc)) throw rc;
    1743 
    1744                 if (pvCertBuf)
     1738        if (RT_SUCCESS(vrc))
     1739        {
     1740            if (pvMfBuf)
     1741            {
     1742                if (strCertFile.compare(pszFilename) == 0)
    17451743                {
    1746                 /* verify the certificate */
     1744                    rc = readTarFileToBuf(tar, strCertFile, &pvCertBuf, &cbCertSize, false, pCallbacks, pStorage);
     1745                    if (FAILED(rc)) throw rc;
     1746
     1747                    if (pvCertBuf)
     1748                    {
     1749                    /* verify the certificate */
     1750                    }
    17471751                }
    17481752            }
     
    17611765            {
    17621766                /* Add the ovf file to the digest list. */
    1763                 stack.llSrcDisksDigest.push_front(STRPAIR(Utf8Str(pszFilename).stripExt().append(".ovf"),
    1764                                                   m->strOVFSHADigest));
     1767                stack.llSrcDisksDigest.push_front(STRPAIR(OVFfilename, m->strOVFSHADigest));
    17651768                rc = verifyManifestFile(strMfFile, stack, pvMfBuf, cbMfSize);
    17661769                if (FAILED(rc)) throw rc;
     
    17721775
    17731776                vrc = RTTarCurrentFile(tar, &pszFilename);
    1774                 if (RT_FAILURE(vrc))
    1775                     throw setError(VBOX_E_IPRT_ERROR,
    1776                                    tr("Getting the current file within the archive failed (%Rrc)"), vrc);
    1777 
    1778                 if (strCertFile.compare(pszFilename) == 0)
     1777                if (RT_SUCCESS(vrc))
    17791778                {
    1780                     rc = readTarFileToBuf(tar, strCertFile, &pvCertBuf, &cbCertSize, false, pCallbacks, pStorage);
    1781                     if (FAILED(rc)) throw rc;
    1782 
    1783                     if (pvCertBuf)
     1779                    if (strCertFile.compare(pszFilename) == 0)
    17841780                    {
    1785                     /* verify the certificate */
     1781                        rc = readTarFileToBuf(tar, strCertFile, &pvCertBuf, &cbCertSize, false, pCallbacks, pStorage);
     1782                        if (FAILED(rc)) throw rc;
     1783
     1784                        if (pvCertBuf)
     1785                        {
     1786                        /* verify the certificate */
     1787                        }
    17861788                    }
    17871789                }
     
    23822384            if (strTrgFormat.compare("RAW", Utf8Str::CaseInsensitive) == 0)
    23832385            {
    2384                 void *pvTmpBuf = 0;
    23852386                try
    23862387                {
     
    24052406                        /* Calculating SHA digest for ISO file while copying one */
    24062407                        vrc = copyFileAndCalcShaDigest(strSrcFilePath.c_str(),
    2407                                                         strTargetPath->c_str(),
     2408                                                       strTargetPath->c_str(),
    24082409                                                       pCallbacks,
    24092410                                                       pRealUsedStorage);
     
    24172418                catch (HRESULT arc)
    24182419                {
    2419                     if (pvTmpBuf)
    2420                         RTMemFree(pvTmpBuf);
    24212420                    throw;
    24222421                }
    2423 
    2424                 if (pvTmpBuf)
    2425                     RTMemFree(pvTmpBuf);
    24262422
    24272423                /* Advance to the next operation. */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette